Live toolkit: Polyphony with Expert Sleepers Voice Controller


The previous few posts have focused on using Expert Sleepers' ES-3 Lightpipe/CV and ES-5 'ES-3 Expander' hardware modules along with plugins from their Silent Way suite to send MIDI as CV signals to a modular synth. The setups provided in the last post are capable of mono synth or poly synth behavior, depending on whether a keyboard controller or the MIDI clips included in the Live sets are used. Why would that make a difference though?

The MIDI clips are each associated with their own "full" voice, starting from the Voice Controller in Live down to the VCO/EG/VCA on the hardware end, and so each voice behaves independently as it would on a poly synth.

Under keyboard control, however, the Kbd Control tracks -- and the Voice Controllers they control -- each respond at the same time, and so the patch behaves more like a mono synth. This is more obvious if you tune each oscillator to a different octave: when you play a keyboard melody it'll sound like a monster 4-oscillator mono synth. But you still can't play chords.

Going polyphonic

Modifying this setup so that the modular synth behaves as a poly synth under keyboard control requires changes to the roles that Voice Controller plays. The Live set below picks up from where the previous post left off (the collapsed ES-5 Controller setup), with pitches being controlled from the first four ES-3 outputs and gates being controlled from the odd numbered ES-5 outputs.

Live set: MIDI to CV - 4 voices polyphonic - ES-3 pitches & ES-5 (collapsed) gates.als

The physical patch that was used in the previous setup mostly remains the same (see the Info Text area at the lower left in the screenshot), except that now the four VCA outputs are combined with a hardware mixer before being brought into Live on the VCOs (mixed) track. If you don't have a 4-input mixer on your modular, just enable the VCOs (direct) track group instead. This grouped track is a software mix of the four VCA outputs and will work for our purposes. Whichever way you mix the voices, this sets us up for one remaining setup change further down.

I recommend expressly setting the four VCOs to the same pitch, octave, and wave shape. This hasn't been particularly important up to this point, but it will be going forward and I'll explain why shortly.

Voice Controller in polyphonic mode uses a concept of a Master, which I'll call master VC, and Voices, which I'll call voice VCs. Poly mode and its associated parameters are configured at the lower left in each plugin instance (see the screenshot at the top of this post).

An additional Voice Controller (Instrument type) has been added on a new track, placed in Poly mode as Master and given a number of voices (4) to manage. Its sole purpose is to rotate among the voice VCs in round-robin fashion. It requires no calibration since the voice VCs still use their own calibrations.

The voice VC plugins, which were the Instrument type previously, have been swapped out with the Audio Effect type and their tracks configured to receive their audio input from the master VC's default outputs (though only the first channel is used). Each voice VC instance has been placed in Poly mode as a Voice and assigned a Voice number (1-4).

The voice VCs send pitch and gate from their first two outputs as before. The difference now is that they only do so when the master VC activates them. The master VC uses Note On/Off messages that it receives to determine when the rotation should activate the next available voice.

This is why I recommend setting the VCOs to the same pitch, octave, and wave shape. You won't know (and certainly wouldn't want to keep track of) where you are in the voice rotation as you play, so having matching VCO parameters means you can play melodies and chords polyphonically without octave jumps or timbral changes from voice to voice. The same goes for the envelope generators -- matching settings ensures continuity in each voice's amplitude characteristics.

As long as a note is held On for a particular voice, the master VC will rotate among the other available voices. When a Note Off for a particular voice is received, that voice rejoins the pool of available voices. If more keys are pressed than there are available voices, note stealing occurs as it would on a typical poly synth.

Since the master VC now pulls the strings for the voices, the previous keyboard control tracks have been collapsed to a single track that controls the master VC. Likewise, the MIDI clips have been moved to their own tracks whose outputs are pointed to the master VC. This was also done since the voice VCs were changed to the Audio Effect type and now expect audio at their track inputs.

With this Live set, playing the MIDI clips will sound as it did with the previous sets, but now you can also play up to 4-voice chords from the keyboard. Neat!

For true polyphony we'd need to add another ingredient to this setup since a truly polyphonic synth features independent articulation of pitch, amplitude contour, and filter contour (up to the number of voices the synth supports). Since this set uses the ES-5 for gates (costing one ES-3 output in my case), there aren't quite enough available ES-3 outputs to support filter articulation for all four voices.

That limitation could be aided with an expansion module capable of handling variable CVs, like the ESX-8CV CV Expander. That would at least spare us having to cough up four more envelope generators -- though if you do have more EGs to spare, the current setup does have four remaining ES-5 outputs that could be used for gates. That would then leave coming up with four more VCAs and four (ideally) identical filters... Polyphony is expensive!

Instead, let's explore a side chamber in this rabbit hole we've created -- paraphonic response.

Getting paraphonic

Paraphonic synths and string machines were an historic stepping stone on the road to polyphonic synths, and they made compromises to allow more than one note to be played at a time. As mentioned, true polyphony requires pitch, amplitude, and filter articulation for every key pressed. A paraphonic synth has a measure of voice articulation, but what keeps it from being considered polyphonic is that at least one of the articulation criteria is shared by the whole.

A common example is where the voices are combined and subjected to a global envelope. If the global envelope shape is similar to that of the voices' envelopes, then something approaching polyphony is possible -- e.g. with block chords, one might not perceive the lack of polyphonic articulation. But if the global envelope's shape is different than that of the voices, the performance experience can be dramatically altered.

Take what happens when keys are pressed in succession: following the global envelope's Attack/Decay stages, a single held note will keep the global envelope at its Sustain stage. If new notes are played while the original note is held, the new notes are heard using their own pre-mix envelopes (which may be very different from that of the global envelope). Or in some cases, the new notes and any held notes may immediately come up to the Sustain level, giving the impression that the global envelope was retriggered. Or in Voice Controller's case, the global envelope jumps up to the Sustain level and re-runs the Decay stage, skipping the Attack stage below the Sustain level. Finally, when the last note has been released the global envelope's Release stage begins.

You might be able to imagine how this would affect your keyboard performance. But you might not know until you try it how a given patch will sound when subjected to this situation, and there could be some pleasant surprises. That may be reason enough to know how to modify the current setup for paraphonic response.

Live set: MIDI to CV - 4 voices paraphonic - ES-3 pitches, final envelope & ES-5 (collapsed) gates.als

The master VC has an additional responsibility now -- providing the global envelope for the patch -- which is the reason behind having preemptively carved out a submix of the four VCAs' outputs in the previous setup. An additional amplifier (VCA5) is now employed to process the VCO mix, and the master VC's global envelope controls it. Thus the entire sound created by the patch is funneled to a single location and shaped, which makes this setup paraphonic.

The master VC's first envelope (Env1) is sent via its default output 3. The only change on the master VC's Output Matrix is to turn off output 4 (which isn't strictly necessary; it's just cleaner since Env2 isn't used). The new Global Envelope track receives Env1 from the left channel of VC master's Output2 and routes it to ES-3:5. From there Env1 is patched to VCA5's control input. VCA5's output is brought into Live's analog input 5.

As mentioned earlier, if submixing the VCAs in Live is necessary (or preferable), simply enable the VCOs (direct) track group and patch its analog output from your recording interface to VCA5's audio input. As a reminder, this is all detailed using Info Text in the Live set -- move your mouse over the track names to see info about what they do.

How the paraphonic response sounds/feels on your system will depend on the relationship between the parameters set on your hardware EGs and those of the master VC's global envelope. As a starting point, I'd recommend setting your hardware EGs to have a fairly short Attack and a medium length Release; and set the master VC's Env1 to have a slightly longer Attack and a very short Release. Notice how you can get very different behavior depending on how you play: e.g. block chords versus staggered entry chords; staccato versus legato key presses; one note held while playing a melody with the other hand. Some behaviors will be revealed that are utterly unique to paraphonic response.

In conclusion

These last four posts have covered a lot of ground, including calibrating Voice Controller for your VCOs, establishing MIDI control of hardware CV synths, understanding how Expert Sleepers' ES-3 / ES-5 module expansion works, and attaining polyphonic control of your modular. I hope it's been interesting and useful and that the Live sets provided in these posts go a long way toward helping you build a toolkit of versatile setups.

Feel free to leave questions or comments about anything I've covered here.

Have fun!

(Thanks to Os from Expert Sleepers for his feedback on this write-up)