Friday, September 21, 2007

autoPhaser

View the video here: http://www.youtube.com/watch?v=5Z501QCwhtw. This is recommended as it will put the explanation below into a musical context that you can listen to (and see to some degree).

A straightforward and rather linear data autphaser can be used to create relatively complex patterns etc. Once again i couldn't sleep last night, so i decided to make a simple one in Max/MSP. Music using phase-relative data and mapping has interested me in various forms on and off for at least four or five years, probably a little bit longer.

So, what is a 'data autophaser' you ask? (If you already know, skip down to the patch features). Well, imagine that velocity, pitch or rhythmic data for a repeating monophonic line can be regarded as a cyclic series of values.

For example, a c major arpeggio might be sequencer as being C3 - E3 - G3 played using a quaver - quaver - quaver with velocity values of 127 - 127 - 127.

Now imagine if the arpeggio was repeated. If we are able to separate the concepts and data of rhythm pitch and velocity, more complex results can be achieved. A simple continuation along the c major arpeggio described earlier would be to still use the same velocity and pitch values but change the cyclic value of the rhythm to quaver - quaver - semiquaver - quaver semiquaver. Now, instead of having a repeating pattern of only three notes, we now have a repeating pattern that repeated every fifteen notes.

Consider that five rhythmic values times by three pitch values equals fifteen. Therefore, fifteen notes is the smallest cycle into which both five and three fit into. So, we have made a complex pattern (that takes five times as long to repeat) by adding only three data values.

The patch that i made last night has the following features:
• A cliched and very Max-like interface
• A cliched and very overdone idea and execution
• 6 monophonic phasing voices
• Up to 16 values for pitch per voice
• Up to 16 values for velocity per voice
• Up to 16 values for rhythm per voice
• Independent and global start and stop
• Independent and global base value for tempo
• Independent MIDI device and channel assignment
• Global resync button