The concept of TALEA and COLOR in MaxMSP
Hey guys! I've recently discover a really interesting musical concept that was used in the Medieval and Renaissance period and that is also used by many contemporary artist. The concept comes from Isorhythmic Motets and it is actually quite simple but the musical possibilities are really powerful.
They used a fixed rhythmic pattern, lets say: minim-crotchet. This is called TALEA
They also used a fixed pitch list, lets say: A3-B3-C4. This is called COLOR
Then they will assign any given pitch from the list to the corresponding rhythmic figure, in this example:
(minim/A3)-(crotchet/B3)-(minim/C4)-(crotchet/A3)-(minim/B3)-(crotchet/C4)-...
In this way you end up having a really interesting phasing between pitch and rhythm, and the same pattern can transform only rhythmically generating variety.
I am pretty new to MaxMSP but I can imagine that creating a machine to apply this concept and output MIDI notes would be quite simple, I wonder if any of you knows about Patches/Max for Live Devices that would be able to do something like this, or even better maybe any of you know how to make this quite easily. I would be really thankful! Hope you find the concept inspiring :)
Best!
This is a common way for Max users to generate an organize variety in a sequence, and it is often done by gathering MIDI input (as an example) and putting the note numbers into one coll object, the velocities into another, coll, and the durations into a third coll object.
One then uses counter objects (set for up/down/updown counting directions and variable count limits and offset values to construct new lines, of which your talea/color example is but a subset.
Although this will rapidly leave the more rigorous scale and modal stuff of Med/Ren traditions far behind, you can reorganize your coll objects so that the pitch coll now outputs velocity values to a makenote object, the velocity is used for duration, and duration maps to MIDI note number (which is easy, since you use 0-127 for pitches and velocity, and add another coll object to handle the translation of 0-127 to the durations of your choice), and so on.....