September 28, 2008 at 23:04 #844
Okay, so, I’m not a "real" musician, in the sense that my knowledge of music theory is pretty sorry and I can’t really play any instrument. So this may not be of interest to real musicians, but anyone out there like me might find this useful.
I’ve spent the weekend working on a Max patch to intercept and alter the Octopus’ note messages. I don’t know if it’s of interest to anyone here – not sure how many of you are using computers w/ your Octopus, etc, but I thought I’d throw it out here because I’m happy with how it works, and it allows some functionality I couldn’t see how to do with the Octopus scale functions.
Basically, I’ve set up MIDI channel 15’s note messages to alter the pitch of notes on channels 1-8. Channels 9-14 are mirroring to the same devices, but they bypass the note transformations.
On channel 15:
(First function set)
Notes 12-23 add a specified number of semitones (0-11) to the target channels, and lower the octave by one.
Notes 24-35 do the same thing while maintaining the octave.
Notes 36-47 do the same thing while increasing the octave by one.
Those three octaves share one characteristic: if the resultant note would be in a higher octave (as designated from C to C), they wrap around. So if you were playing a note 60 and 69 on midi channel one, and add 7 semitones via note number 31 on channel 15, the notes produced would be 67 and 64 (because 69 + 7 crosses the 72 C and wraps down). This provides some inversions of chords that pass through the alterations, and works well for what I’m doing because when I design synth patches they often sound best within a narrow range of notes.
(Second function set)
After this transformation, they then pass through a pitch table (much like the Octopus’ scale functions, but handled in Max).
Notes 48-59 select the pitch table (chromatic, major, minor, blues, etc).
The benefit of this arrangement is that any offset from the first function set is checked against the pitch table, ensuring only diatonic notes are produced.
(Third function set)
After the pitch table, there is one more addition/subtraction of semitones:
Notes 60-71 subtract 0-11 from the resultant note.
Notes 72-83 add 0-11 to the resultant note.
This preserves the scale flavor, but effectively changes the base.
What this does, is it allows me change chords and/or keys on several tracks at once (more than I could reasonably put my hands on simultaneously). In page play mode, I can trigger note changes across all participating tracks with the push of a single button. Also, since it’s all driven by MIDI notes, I can sequence all the transitions very easily on a dedicated Octopus page.
Any chromatic notes desired are simply set to transmit on that device’s mirror channel (channel 9 sends to the same device as 1 but bypasses the pitch functions). Unless I’m mistaken in how the Octopus scale functions work, I couldn’t use it to achieve the same results.
So: I don’t know if this interests anyone, but if it does, I’d be happy to share it. It would help if you had Max, because I’ve never tried to make one my patches "generic" for multi-user use, and I’m not keen to tackle that problem (but I might be talked into it if someone was especially keen).
You must be logged in to reply to this topic.