KoDream's Improv Generator 1.1
The Idea:

Formal languges can be used to make music.  A formal language is a language which every sentence can be generated from a set of rules.  Each of these lines was a rule, the symbol  "->" is pronounced "goes to", and the vertical bar is "or",

S -> verse bridge break chorus break verse

verse -> A B C B A | A B C B A

bridge -> thump thump thump thump

break -> dri  ri ri ri ri ri ri ri ri ri ri ri lllll

ri -> ro | ti

chorus -> la la hey

Given the rules above a possible sentence is:

A B C B A thump thump thump thump dri ti ro ti ti ro ro ti ro ti ro ro ro lllll la la hey dri ti ro ro ro ro ti ti ti ti ro ro ro lllll A B C A B

With Improv each of the above symbols would correspond to a number that will be used to control a machine's parameter, and the sentences are generated randomly.  This is a type of grammar called an acyclic definite clause grammar, so no cycles(such as  S->S you have been warned).

Install:
 

1) Install MSVCR70.dll!  

In the Buzz program group run Fixkit(by Apo).  Select install and msvcr 7.0.

2) Copy the improv1.1.dll to the buzz generators directory. 

Using:

Triggering Improv:

1)Causes a sentence to be created from the grammar, with each symbol in the sentence representing note in a tick.  This version of Improv will cut off the previous sentence, and start a new sentence.

Assigning Improv:

1) While in the machine view of buzz double click Improv.

2) Select the machine to control in the machine combo box.

3)Select the parameter to control in the parmeter list box, use Note to begin with

4) Click assign.

*This can be reassigned arbitrarily, if you don't want it to be assigned to a machine, create  new machine, assign it to the machin then delete the new machine. 

Creating your own rules:

1) Select a rule in the rule combo box.  The rule "S" will always be the first rule used to produce a sentence. 

2)Now type a string of symbols in the production edit box such as, then click add production.  The production will appear in the possible productions for the selected rule.  If the symbols have not been defined yet they will appear in semantics list with an integer next to them.  If the symbols have already been defined as rules, they will not apear on the right.

*Any unseen symbol is intially assumed to be max int which corresponds to a Note Off or a rest if you will, you can use zero as sustain. 

Making sound:

1)Select the note in the semantics list.

2)In the note box underneath, type a positive whole number. 

3)Then click update note.

Deleteing a production:

1)Select a production in the production list.

2)Click Delete Production.

*Any symbols which are not referenced by another rule in the tree of possible sentences

Saving the grammar:

1)Type a filename into the edit box.

2) Click save.

3)The file will be saved into the current working directory.

*The current working directory will often be the same as your most recently saved .bmx, or the buzz working directory.

Loading the grammar:

1)Type the name of the file in the current working directory into the file edit box.

2) Click load.

Enjoy, Cheers!

KoDream

Copy Righted

Robin Kramer