MIDI sustain pedal in polyphonic patches

Hello, I am new to the forum. A search here didn’t reveal conclusive answers to my question:

How might you go about implementing a MIDI sustain pedal in something like the polyphonic WTO patches? I would love to use a pedal and have it hold whichever voices are currently active, even if I release the keys, while the pedal is down.

Two guesses:

  1. you could use a MIDI module set up to listen for the pedal’s CC, and then use that value to control the ENVs for all the voices. Is that possible? Would the pedal CC override the note-off messages you get from releasing the keys, and keep the ENVs high while the pedal’s depressed?

  2. Some external modules also can convert foot-switches to gates – but how can that gate signal be used in the SSP? I am assuming ENV module can receive gates from the INP module.

Thanks for your ideas!

welcome to the forum!

The ENV module has an amplitude modulation input, so you can feed the CC signal from the MIDI module into that input to control the scaling of the envelope. you can do this for multiple ENV modules of course. the ENV module has a gate input which you can use to trigger it. if your pedal sends a note on/off message you could turn that into a gate using the MIDI module and then use that to trigger the ENV module. if your pedal sends both note messages and CC messages then you can use both messages to do whatever you want in the SSP’s patching matrix. the CC messages do not override anything, you can get turn note on/off into signals using the MIDI message, seperately from MIDI CC messages which are turned into signals.

Modules such as the ENV have a gate input, correct. So you connect the INP module to the ENV module.

Hope this helps, I’m sure a few other people here will chime in with ideas!

I appreciate your reply Bert, this is very helpful. So it sounds like I could extract a gate from the MIDI pedal’s note on/off messages using the MIDI module. That’s great.

Do folks have ideas about how to set up a patch in the SSP so that the “sustain” signal from the MIDI pedal (whether it’s a Gate or a CC) only affects currently active voices in a polyphonic patch?

For instance, if I’d just pressed 2 keys in an 8-voice patch, I’d only want those 2 voices to sustain, and would want the other 6 to maintain independence from the pedal’s gate/note on/CC, until/unless I pressed more keys on the keyboard while the pedal is depressed. If this isn’t clear I don’t mind re-phrasing or clarifying anything.

check out the detailed notes of the software updates here in the forum, and start with the latest updates, going back in reverse order. I wrote a lengthy explanation when I worked on the MIDI module a while ago, including how voices work in the SSP. this should give you ideas about what is possible.

ok Bert, I will spend some time there!

What I just came up with may be able to be reproduced a function that you want but will not 100% exactly work well.
Because SSP doesn’t have Sample & hold at this point though we can set a Sample&Hold-like function by using APR module. (At S&H-like function, holding signal will occur with unintended timing sometime.)

Midi module that assigned a voice will out gate signal. You can hold that gate signal using S&H even if you do key off.
And when voice is not assigned at MIDI module, S&H holds zero because there is no gate signal.

Sorry for awful hand-drawing! :stuck_out_tongue:

i don’t know if (midi convert) a sustain signal to a defined note will work as the SSP assigns round robin multiple/polyphonic MIDI signals (arbitrary)

I tested the setting which I wrote.

I tested at 2 voices setting.
I’m not sure why but behavior was very unstable though I could sustain gate signal when pushing CC64.

Honestly, my thought was not useful, sorry.


Thanks everyone for your help. I definitely feel we’re getting somewhere. I totally understand @Handsonicsuki why you would think of S&H, it seems like it would work - the drawing was very clear. Looking at the notes for SSP Update 22042019, which seems to have the relevant infos:

Any pitch bend, pressure or CC data that comes in will be associated with the module that is playing the note. So if a MIDI module accepts data on channel 5 and was assigned a note on that channel, consecutive controller or pitch bend messages on that channel will go to the same MIDI module.

Here it sounds like S&H may not be necessary for ‘routing’ the Pedal CC, if the Pedal CC would automatically just be assigned to the active voices (provided you’ve configured the MIDI module to listen for the right CC).

If no note is currently playing the data will go to the first MIDI module that accepts that channel.

However, this point here would seem to mean that if no voices were active at the time of the pedal press, the pedal would trigger the first voice it comes to, which may not be intended behavior.

Ok, I had an idea for how to route the Pedal CC/gate signal for active voices only…

  1. Route each voice of the WTO through its own EFL
  2. EFL will output a gate if loudness threshold is crossed for that voice. Threshold should be set low enough that even a softly played note opens the EFL gate.
  3. Resulting EFL’s gate opens a dedicated VCA, allowing the “sustain” gate from the MIDI Pedal’s CC, if activated, to be fed back into the corresponding voice’s ENV module, keeping the ENV active even if it receives a note off from the MIDI module

MIDI pitch => WTO pitch
MIDI noteon/noteoff => ENV Gate Input
WTO output => EFL
Gate signal from EFL => CV of dedicated VCA
Pedal CC/gate => dedicated VCA input
VCA out => ENV Gate Input

What do you think?

1 Like