Continuous controller data (CC’s) does not work with the new pre-delay functionality in Expression Maps due to the note-on triggering before the CC data does. This also applies to Note Expression data. Here is a diagram of what I mean. If I’m missing something I’m all ears.
The crux of the issue is that the CC data needs to be drawn in with the pre-delay of the used articulation in mind. Which presents its own workflow problem in that we would then need to know what the pre-delay for that particular articulation is.
If we simply draw in the e.g. CC#1 data early, it will now affect the previous note, i.e. there will be an undesirable change in the previous note’s playback.
This isn’t entirely correct, in fact in most cases you don’t want the CC data to move backwards in time, because the CC data used for dynamics usually takes effect instantly and moving it back in time will put it too early with most libraries.
I know this is the case because this happened on the Dorico side, they first made the maps to put the notes early without the CC’s and someone said they should make the CC’s do that too, so they added that later, which broke the majority of libraries that were working fine previously.
I just set this up, and I am getting a really abrupt attack on the second note before it drops down in volume. I set the pre–delay to 150ms. BTW, I use CC28 for dynamics.
You might have to add a single cc entry early to match what the later CC curve starts at. The initial attack of the first note after a rest like this might need the CC early to avoid the initial attack but the rest of the CCs internal to the phrase will likely currently sound at the correct time. If you move all the CC data back you will find that the later peaks and troughs now sound too early. So it is almost like the CC data needs to be time stretched back. But I think that starts to get to be too complicated and I would just add a single CC entry a bit early for the start dynamic.
As @mducharme explained, you want CC expression data to be on the grid, not sent 150ms early..because NoteOn’s need to be early in order to handle slow attack transients, as real players would do in real life by the way. However CC expression is not latent and should not be pre-delayed for that reason.
However this does lead to a conundrum… which is the problem you are encountering which is that the very initial samples playing back during those first 150ms of pre-delayed sound won’t have the CC expression you intend, that perhaps you programmed in your automation lane starting at the same time as the noteOn.
The easy fix in general whenever you draw CC expression on a note, you want that expression on the grid that’s great, but particularly when there is silent space in front of that note, start the CC curve early. Still draw the curve on the grid, but just start it early. That will solve most problems, however there is still a conundrum if there is not silent space in front of a note and you ahve a sudden dynamic change from one note to the next, how can you draw the new dynamics curve on the second note without affecting the end of the previous note? But in my experience other then legatos…there is usually some space… so…
Ideally Cubase ought to handle this automatically in some way if possible. But it might be asking too much at this point.
Anyway if you just either add a single CC event 151ms in front of the note in question that shoudl solve it, like mducharme said, or if you’re drawing in CC curves, just start them 150ms early…unless there is a previous note still sustaining, in which case you have perhaps an unsolvable dilemna if the dynamics are radically different between the two notes.