BIG issue: Dorico sending CCs at 0 (without being asked to) resulting in MIDI Notes not being sent at all

I’m sorry if my tone is a bit rough but I am very frustrated by this, it’s a problem that dates back (at least, since I started working on my template by then) Dorico 2 (I’ve been using Dorico since it launched on the first version and I love it).

I’ve been working on an Orchestral Template. Without getting into details, I send the MIDI from Dorico to Cubase, Dorico having Expression Maps set for each instrument hosted in Cubase. I’ve realized that sometimes during playback, at random it may seem (although I suspect it may happen whenever Dorico reaches a part of the piece with complete silence), Dorico sends CC1 (Modulation Wheel, this one is set as the one that controls dynamics on the expression maps), CC7 (Volume), CC10 (Pan), CC11 (Expression) and CC121 (Reset Controllers) at a value of 0 (I can see all this as I am recording the MIDI tracks receiving the information from Dorico inside Cubase).

This not only causes A LOT OF ISSUES with the Kontakt instruments hosted on Cubase, but also causes the MIDI Notes themselves to not be sent at all from Dorico to Cubase, only the CCs. I assume this is because Dorico thinks because the CCs are at 0, the instrument is ‘‘silent’’ and thus filters out all MIDI Notes, even though it is CURRENTLY IN PLAYBACK and having notes to play. I believe that might be the case because at random times during playback the correct CCs get sent (not at 0 basically) and in those moments Cubase does recieve MIDI Notes along with the CCs, but only during those moments where the CCs aren’t being received at 0. I don’t know why the issue happens at random though, as sometimes it works without issues for a few moments and then I notice sound stops, I check Cubase and see the CCs and the absent MIDI Notes. Turning playback of Dorico to the start of the flow or any other thing do not resolve the issue, once it happened, it keeps happening.

This is a huge issue and I don’t know how to fix it. I thought about using a MIDI Filter inside Cubase to ignore those CCs when their value is set a 0, but I thought that Dorico won’t even send the MIDI Notes when the CC is at 0 so there is no point in ignoring the CCs (that always arrive) when the MIDI Notes don’t arrive.

I’ve tried setting all the CCs mentioned at a fixed value like 100 (except CC121) inside the Play Mode of Dorico at the start of each instrument being used and it doesn’t work at all: Dorico still sent a value of 0 throught to all the CCs mentioned (I can see multiple CCs ‘‘points’’ at 0 inside Cubase when inspecting the data sent from Dorico, I believe each CC ‘‘point’’ might be when a MIDI Note should sound [although as I said, no MIDI Notes are received]). It really frustrates me that Dorico chooses to send CCs that nobody asked for, I don’t really need Dorico to send any CC data unless I specifically tell it to. This literally prevents from using my template… And please don’t tell me ‘‘it’s Cubase’’ because it is not, I have already checked many times around, the problem is Dorico, it generates MIDI data that shouldn’t be generating, it’s as simple as that, what I do with that data is not the point.

Is there any solution to this? And no, I’m not going to set the Kontakt instruments to ignore the CCs because I WANT TO USE THEM, I just don’t want Dorico to send (WRONGFUL!) MIDI CC data that no one asked for.

Bump. Any ideas? From what I’ve further tested, seems the CCs issue starts happening randomly when stopping playback (after that it keeps happening regardless of whether playback is restarted or not with no fix possible), although I need to test more. Maybe it is the CC121 (Reset all Controllers) being stuck on being sent constantly and thus keeping all CCs to 0 (as CC121 resets most other CCs to 0)? Does CC10 (Pan) reset to 0 when using CC121? Because CC10 is receiving 0 too, so if it doesn’t reset to 0 via CC121 then we can discard CC121 being stuck as the answer… Although as I said, inside Cubase I can see all the controller lanes for each CC and all I mentioned are at 0 (even when inputting different CC values inside Dorico), not only CC121, so that’s why I suppose it’s not only CC121 that’s getting stuck (and constantly sent) at 0.

Please don’t bump - it’s seen as rude here. When somebody has an answer, they’ll post.

I was adding some more info to the ‘‘bump’’, forgot to write it and you literally answered 5 seconds after I posted the bump and before I edited it adding the info so yeah… I thought it was okay since I was adding that.

On another note it is frustrating to see how the official Dorico twitter account just posted about how it lets you work with third-party VST but this seems to happen (and I’ve googled it and I’m not the only one who has encountered CCs being sent, like CC7 which is sent from the mixer section of Dorico). Source: https://twitter.com/doricoofficial/status/1180083317955334144

Ah. You’re fine then - sorry for jumping down your throat.

I’m sorry that you are having problems, but I think that mostly Dorico is behaving as intended. However you are wanting some features/options that we don’t currently have.

CC7 and CC10 are always sent because these are set from the MIDI mixer in Dorico. If there is CC7/CC10 automation lane in Dorico then I think those values are sent instead. I think you (and the other user that you linked to) want the option to suppress sending these because you want to set the value in Kontakt directly. However the Kontakt mixer (as with many other plugins) respond to CC7/10.

CC121 is output at the start of playback in order to reset controllers back to a predictable state. CC121 is optionally output when playback stops (from Preferences > Reset Controllers on Stop). These should not be output ‘at random’, and they shouldn’t prevent MIDI notes from sounding or being output. We have never heard any previous reports of this. If you have a project that reproduces this behaviour then we would be interested to see it. How are you routing MIDI into Cubase? The only way I would expect the random behaviour you describe is if there’s something else interfering with the timing of the MIDI communication. Try using a MIDI monitor such as Protokol as a direct output from Dorico to see the actual timing of events that are being sent (Protokol | hexler.net)

Like Paul, I was going to suggest using a MIDI monitor to shine a microscope on what’s going on.

I don’t work in a DAW, but I’ve noticed all these “extraneous” CCs being sent to virtual instruments hosted in Vienna Ensemble, though for me it has never resulted in missing notes. And the MIDI monitor has always shown note-ons and note-offs, etc., so I wonder if for some reason Dorico is sending the notes, but Cubase is somehow ignoring/filtering them when certain CC values are set? I don’t know much about Cubase so I don’t know what settings might create such a situation, but MIDI monitoring at various stages of the chain might help pinpoint exactly where the notes get “lost.” (For example, I think I’ve heard that in some cases, Vienna Ensemble processes MIDI data in a slightly different order than it receives it … is it possible that in certain situations, Cubase is processing the input in a different order than it is being sent, causing issues? If so, monitoring at multiple points along the chain might help home in on the problem.)

Were you doing this just for testing, or are you already certain that sending a fixed value would solve the problem? If the latter, there must be a way to remap the 0 value to 100, such that every time Dorico sends 0 on a particular CC, the value gets transformed and Cubase receives 100. I’d imagine there’s a way to do this built into Cubase, but there are also free plugins that can do this kind of thing.

I’m wondering if it’s truly random … is it possible it is sending correct CC values when a particular articulation in your xMap is active, but is sending the 0 value every time the instrument returns to ‘Natural’ …?

“Natural” is no different from any other playback technique (except that it gets generated automatically in various situations). It produces whatever MIDI commands are in the expression map.

CC121 resets almost all controllers to 0 (except for a few things like setting pan to the center, i.e. 64), but it shouldn’t be “getting stuck on” and sent repeatedly.

If course if CC121 has got into an expression map by mistake, (e.g. because of a typo you are using CC121 for dynamics not CC11) that would certainly cause chaos!

In my experience, ‘Natural’ sends several CC values that certainly aren’t defined in any of my xMaps. (And in certain cases such as CC7, Dorico sends whatever it wants to even if a different value is explicitly defined in the xMap.)

Well, in my experience it doesn’t.

But then I don’t use any VSTs that “process MIDI data in a slightly different order than they receive it” so who knows what that might be doing…

Paul Walmsley has already explained where CC7 and CC10 come from (and it’s not from expression maps).

Yes, exactly; I didn’t mean that it came from the xMaps, just that it coincides with ‘nat’. For some CCs, if you’ve defined explicit values for them in the xMap, Dorico sends both the mixer default values and the values defined in the xMap, and the order it sends these in is sometimes hard to predict/reproduce.

If I’ve understood Paul’s post correctly, it seems that currently the only reliable way to override what the Dorico mixer sends, is to draw it in the automation lane. It would be nice if in future, we had the option to control this reliably from the xMap.