How do I monitor the effect of the MIDI sustain pedal?

I have a piano VST that I want to play from an external MIDI keyboard with a sustain pedal. Ardour records the MIDI notes and also the MIDI CC 64 data from the sustain pedal, which I can see as automation.

Playing back the track after recording includes the effect of the sustain pedal on the VST notes but monitoring the track during recording only plays the VST notes without the effect of the sustain pedal.

This behaviour is the same with all the instrumental VSTs that I have but being able to hear the effect of the sustain pedal is particularly important for playing pianos.

How do I configure Ardour so that I can hear the effect of the sustain pedal on the VST during recording?

Are you recording over an existing MIDI region that already has CC automation?

I just did a quick test, new session, add MIDI track (default Ardour’s General-MIDI-Synth), rec-arm, record and the pedal has immediate effect during recording, and later also while playing back.

Can you try this (to rule out some VST specific issues).

Rewind and recording over the section replays the old pedal data, and things get messy (using “Non layered” record mode can solve this, or simply just monitoring input)

Thank you, Robin. I repeated your test: new session, add MIDI track (default Ardour’s General-MIDI-Synth), rec-arm, record.

The pedal had an immediate effect before and during recording, and also while playing back.

In my earlier session, I don’t think I was recording over an existing MIDI region that already had CC automation. (I’m still new to using a DAW.)

OK. so now perhaps try to move towards your earlier setup and see if you can break it again :slight_smile:

I repeated the test but using third-party VSTs instead of Ardour’s GM Synth.

New session, add MIDI track for VST (Wurli from Spitfire Audio’s Labs
series), rec-arm, record. The pedal had no effect before and during
recording but it was applied while playing back.
New session, add MIDI track for VST (Keyzone Piano from Bitsonic), rec-arm,
record. The pedal had no effect before and during recording but it was
applied while playing back.

I then discovered that my MIDI keyboard reverts to transmitting MIDI All
Notes Off every time it is powered up. I stopped it transmitting MIDI All
Notes Off and both VSTs started working as expected. I could hear the
effect of the sustain pedal before and during recording and during
playback. A little more testing showed that the Ardour GM Synth is not
affected by whether or not the keyboard is transmitting MIDI All Notes Off.
The sustain pedal works as expected in either case.

My immediate problem is solved, I now know to adjust the settings on my
keyboard before each session, but I am not sure why the Ardour GM synth
appears to respond differently to MIDI All Notes Off than the two VSTs that
I tried. Is it something to do with the way that Ardour handles VSTs?

1 Like

Nice find! Thanks for tracking this down.

This is likely because “MIDI Panic” was never officially specified.

Panic” sends 2-4 messages (for each MIDI channel):

  • Raise Sustain Pedal (CC 64)
  • All Notes Off (CC 123)

Usually followed by

  • Reset All Controllers (CC 121)

And sometimes also followed by

  • All Sound Off (CC 120)

Some devices/synths already internally reset the pedal’s state when a “All Notes Off” is received, even though the sustain pedal may still be pressed. – Fluidsynth (which is used by Ardour’s GM-synth), does not do that and interprets “all notes off” literally: Only active notes (pressed keys) are affected, the pedal and controller state is left untouched.

If I may ask, what keyboard model are are you using that sends “all notes off” when it is powered on? That information may be useful to help others in case they have the same issue.

Thank you for the explanation.

My keyboard is a Roland D-10 from the late 1980s. According to the manual,
its default setting is to transmit MIDI All Notes Off messages. If the
transmission of those messages is switched off during a session, that
setting is not retained when the keyboard is powered down. To make it work
with the VSTs, the Transmit MIDI All Notes Off setting will have to be
switched to ‘off’ at the start of each session.

You could add a “MIDI Event Filter” before the VST synth (or even before the disk-writer) to plugin to suppress the message:

e.g the one from x42-midifilters:

Thank you. I will try that.