Send CC64=0 on Playback Stop

Hi,

Is there any way to make Dorico send a value of 0 to CC64 when playback stops? I have had trouble with some piano VST’s keeping the pedal down when I stop playback. From what I’ve read on the forum, I think Dorico sends something to CC123 when it stops, but the instruments I’m having trouble with are not responding to that.

I’m having this issue with the VSL Synchron Piano Yamaha CFX and the Garritan Abbey Road CFX. Halion and NotePerformer work as expected.

I just checked what Dorico sends to Pianoteq (which doesn’t have the stuck-pedal problem) and it sends both CC121 (reset all controllers) and CC123 (all notes off) when you stop playback. CC121 should be stopping the pedal.

If CC121 is being sent to your VSTs and ignored, that’s a bug in the VSTs, not in Dorico.

The whole point of CC121 is so you can send just one MIDI message to kill everything, instead of (in general) 128 separate messages to reset each controller individually.

In general, Dorico can’t “remember” which controllers need resetting, because in many VSTs you can also change them manually via the user interface - for example in Pianoteq you can operate the pedals in real time with mouse clicks if you want. CC123 should reset everything.

MIDI CC 121 Reset All Controllers. It will reset all controllers to their default.
MIDI CC 123 All Notes Off. Mutes all sounding notes. Release time will still be maintained, and notes held by sustain will not turn off until sustain pedal is depressed.

I set a Dorico piano to output via MIDI… According to the bidule midi monitor, none of the above controllers are sent…

With Kontakt it seems that CC121 and CC123 are sent AFTER CC64… at least that is what Kontakt’s monitor shows and possibly how Kontakt interprets (distorts) the data sequence, so this could explain the problem.

Could you upload a minimal Dorico file here that exhibits the problem…? I now tried both VSL, Garritan CFX as well as various Kontakt pianos and I’m unable to provoke this problem…

I’m using VSL Synchron pianos and I also don’t see this problem when stopping playback.

However, I do notice that sometimes (I think when playback last had the pedal on) when I select a note for editing and the pedal marking is on, then that note sustains. This is kind of annoying but not a big problem. Would be nice though if during editing operations the pedal remains off.

That should be OK. You want to sent CC121 and CC123 after everything else, so they cancel all the previous MIDI commands.

If you send “reset all controllers”, explicitly setting CC64=0 first is pointless (but harmless).

Having tried this in my studio proper, my conclusion is that which controllers are sent when playback stops varies.
In MIDI ouput, neither cc121 nor cc123 are sent.
Using VSTs, the same is true for both VSL (VEPro) and the Garritan Aria Player. Which explains the OP’'s problem…
For PianoTeq and Kontakt both cc121 and cc123 are sent.
:question:

Thank you for your replies! I had figured that the problem was originating within my VST and was simply looking for a workaround, but it is interesting to hear that the sent cc’s differ between different VSTs. In that case, would this be a bug within Dorico? I should mention that I am using VE Pro 6 to load my instruments… Could the difference in sent cc’s be caused by VST3 vs VST2?

I just tried loading the Garritan Abbey Road CFX plugin straight into Dorico without VE Pro, and the pedal issue persists. Also no change when loaded through ARIA Player. Consistent with fratveno’s test.

I’m not sure I understand what Frank is suggesting: that Dorico doesn’t send CC121 and CC123 when certain VST plug-ins are active. It always sends these controller reset messages when playback stops.

When I used MIDI output, neither Cubase nor the Bidule Midi monitor registered any cc121 or cc123 when playback stopped… [Cubase it set to allow cc123 thru, but it only registered cc121 when playback started] - It may be that certain VSTs filter these controllers out, but it seems a bit unlikely, and it’s a bit hard to verify as I’m not up to intercepting Dorico’s output in this mode…

I can confirm that when using midi output from Dorico, that controllers 121 and 123 are not sent on playback stop. I can also confirm that the Synchron pianos do respond to CC123 (all notes off) but do not respond to CC121 (all controllers off)

I did this using IACbus to external Logic Pro X and inserting CC121 and CC123 manually with a transformer when the pedal was stuck on after playback stopped. CC123 caused the note to stop ringing and CC121 did nothing.

This confirms the issue I am seeing when using Synchron pianos directly in Dorico: stopping playback stops all notes (CC123) but the pedal is left on and so if you then select a note after stopping playback when pedal was on, the selected note will ring as if the pedal is still on. If you select a note after playback stops when the pedal is already off, then the selected note does not ring.

Thanks for confirming. In other words, sending cc123 is not (always) enough. Either cc121 or cc64 needs to be sent as well in order to obliviate the stuck pedal down/ringing problem. Finale sends cc64 (regardless of instrument) which, BTW also works correctly with the Garritan Aria player (same VST as I did not have success with in Dorico…)

Confirmed on Windows also, by using a virtual midi cable to drive the stand-alone version of Pianoteq (not the VST instrument version).

Pianoteq can display (and record) the MIDI events it receives, so no extra MIDI monitoring tools were involved, eliminating the possibility that something else was deleting the messages.

I looked at the VSL CFX and the Garritan CFX.

The VSL CFX responds the same as the VSL Steinway. Both respond to CC123, but not to CC121.

The Garritan CFX does not respond to either CC121 or CC123.

I’ve sent a bug report to VSL, and will send one to Garritan.

Well, the Garritan responds to both cc121 and cc123 when played from Reaper …

Frank, does Garritan CFX work as expected when instantiated in Dorico by itself?

It’s quite right that Dorico does not send CC121 or CC123 messages to MIDI output devices when you stop playback, but it does send them to every channel on every VST instrument that is attached. We’ll look into extending this to MIDI devices, and to adding CC64 to the controllers it sets to zero when playback stops.

2 Likes

Sounds good. Thanks.

Thank you, Daniel!