I’ve got a lot of experience with the Native Instruments MASSIVE synth, which I love for its sound and modularity and flexibility, but now that I’d been doing SC for a few months, there’s all these ideas I want to try for controlling the parameters of preexisting synths that I already know and love, rather than having to recreate/approximate them from scratch in SC.
My current experiment challenge is described here: How to read a note/frequency from an array while a Ugen is playing?
I’ve figured out how to do this in SC, but now I would like to use this to control the MASSIVE synth. Originally I tried doing this with the MASSIVE standalone app, but I quickly missed Ableton Live’s midi keyboard functionality which allows me to test out sounds with the middle row asdfghjkl
before I try out code-based playing, so now I’m sending MIDI from SC->Ableton->MASSIVE.
I’ve got the easy stuff working, i.e. playing midi via patterns, but now I want to try my linked idea above where I play and hold notes, and bend their pitches to form different coords depending on where MouseX is on the screen. This is tricky for a few reasons:
- I have to figure out a scheme whereby the synth itself lets me play a midi note and bend it to where I need it to go
- Ideally each note should have its own capability to bend to a different pitch independent of the other notes that are playing (which disqualifies bend range)
So, with this in mind, I believe I actually have something pretty decent working, but it works specific to the MASSIVE synth (and probably a few others, assuming they’re extremely configurable).
Here’s what I have:
- For each individual note in the chord (which bends to different notes in other chords over time), I play a noteOn with a different note value, e.g. 60, 61, 62
- In Massive, I set the KTR OSC keytracking to OFF so that every note played produces the same pitch. Then I set set pitch modulation to have a range of 24, and set its source to AT (aftertouch).
- In SC, after the noteOn, I continue send polyTouch messages with values from 0-127 (depending on MouseX).
Effectively this lets me control the pitch in a continuous manner.
Caveat: in truth I haven’t actually figured out how to get polyTouch messages working with multiple notes (seems like it’s a limitation in Massive), but I go it working with channel-wide afterTouch messages; this will allow me to just create more midi tracks with Massive, but I still want to figure out how to get it working with a single instance of the Massive synth.
So far this whole post has been kind of a humble brag, but here are my questions:
- Am I going about this in a really silly/overcomplicated way?
- Is there another clever way I can try to get note-independent polyphonic bend-range to work on a single synth?
- Am I barking up the wrong tree trying to use my favorite VST synths as if they were voltage-controlled synths? Is there some other technology/software I should be using if I want a library of tasty synth tones that I want to control with my SC/programming chops? I’m definitely always interesting in learning / trying out new tech