A recursive probabilistic music synthesis language.

Original A recursive probabilistic music synthesis language. Editable
version 1 of 1



Download at googlecode:
cfa.py

Just a quick prototype. Not very fast nor stable. Requires pyparsing for file loading.

Features include pseudo-infinite recursion (to Nyquist), ADSR envelopes, external samples.

Currently not very configurable nor documented. I wrote the first six versions in a week as a break from coding my senior design project.

usage:

cfa.py sourcefile.txt outfile.wav

Syntax is very similar to Context Free Art. Significant differences include use of the pipe character for parallelization, rule declarations without first saying 'rule', parenthesis instead of curly braces, and choice of scaling or incrementing inherited variables.

Configuration variables include

frequency = float
amplitude = float 
harmonic = int 
loop = time|count 
duration = float|int 
fill = new|clone|quiet 
a, d, s, r = float</pre>

Variables are set by

variable operation value

Where operations is

= assign 
* scale 
+ increment