220D New Research with the Computer Improviser

Download the new patch: imp_control.pd
Download and listen to a sound example: improv8.wav

So far, the computer improviser has only used live recorded sound to create its music, now I have implemented a sound generator patch. Most decisions are made by random chance within carefully selected parameters
The main page shows the available control parameters: center pitch, pitch range, tempo, and volume are controled by sliders, and an amplitude contour which is drawn with the mouse.



The work of the patch is done in the three subpatches: note_gen, phrase_gen, and sound_gen. Note_gen takes as input the pitch control data and uses the random function to generate midi notes. Note_gen outputs a midi note value whenever its right-most inlet is banged, presumably by the phrase_gen patch.



The phrase_gen patch uses the metro object to create its bangs. The metro objects' timing changes randomly within a certain tolerance of the center tempo to produce notes of different lengths.
 


The sound_gen subpatch is the only one that outputs audio data (the other two output control data). Sound_gen takes a midi note input and, for now, uses a simple osc~ object to sonify the note. Sound_gen also receives a bang from the play button on the main page and reads the large table (also main page) as amplitude data, turning the midi notes into meaningful phrases.