Friday, May 26, 2017

Kicking and screaming, into the 21st century

At long last: ca. 26 years after I first became aware of Max = ca. 10 years after I first purchased Max/MSP = ca. 9 years after I first became aware of Pure Data = ca. 3 years after I first downloaded Pure Data ...
Where was I? Oh, yes ...
I've finally created a new patch, rather than simply copying a patch from of a tutorial. In this case, I went to town on the Random Melody patch in Johannes Kreidler's tutorial, available at http://www.pd-tutorial.com/english/ch02s02.html


My patch isn't ready for prime time, but it works: It sets up simultaneous treble and bass tones, and the user generates randomized counterpoint, with options a) to move a randomly selected voice to its next randomly selected tone, or b) to specify moving the treble voice to its next randomly selected tone, or c) to specify moving the bass voice to its next randomly selected tone.
Next steps: 1. Replace the randomly-selected frequencies (with resultant random harmonies) with randomly-selected intervals in Just Intonation, 2. Add a mechanism to interject rests within each line, and 3. Add a mechanism to vary the volume levels appropriately. (The last will presumably require generating long strings of coin tosses in advance of each real-time event, so that the machine can anticipate when to make either voice louder or softer.)
As you might have guessed, the goal is to create something that's very nearly musically satisfying, that requires only a third, human-improvised voice to complete. (Did somebody say "theremin"?)