Cubase 15 Expression Maps - Attack compensation problem

I can use CCs or Notes. The results are the same; the timing is off by 2. As an example, if a legato delay is 300 ms, I have to set the attack compensation to 150 ms. 3 other people have reported the same problem, having to cut the delay time in half.

oh no. I would hope for CC’s to specifically NOT be compensated…that is bad news if so…from my perspective.

I wouldn’t expect for the CC’s to be compensated in general, although I haven’t tested this.

And the documentation doesn’t say anything about this either. Instead it says:

Allows you to specify how early a note gets triggered in order to ensure that it reaches its peak amplitude at the desired position. This automatically adjusts the corresponding note events in order to compensate for the attack time of the articulation.

The keyword being note events and not CC’s.

We’re discussing the attack compensation behavior of CC-switched versus key-switched notes.

While it’s not attack compensation, the timing of all switches—including CCs—can be controlled to some extent using the separation parameter.

Switches are different, those obviously do need to come early. I think Dewdman just read Gary’s response to you without reading the context, and then I just read his reaction and what Gary said.

1 Like

Hoping we see overall lots of small fixes and improvements in expression maps within 2025-2026. It is great to see Expression maps finally having a big update but there are lots of small improvements still to be added.

2 Likes

Hi Stefan,

it seems I have an issue with the attack compensation.

I’m in program change trigger mode.

When I try to compensate an articulation, it doesn’t work.

I have to switch to keyswitch trigger mode and switch back to program change trigger mode in order to work as intented.

But, if I record a new midi clip later on With the timing supposedly fixed, it doesn’t work anymore.

Thanks,

Julien

Mac OS 15.7.1 intel

Cubase 15

The remote trigger mode should have no impact whatsoever on the attack compensation, however you may just be running into the issue described by others: Expression Maps in Cubase 15 not sending output after external trigger

1 Like

Hello, do you have any updates on this issue?
Thank you for looking into it.

I have not heard anything.

I don’t have anything to announce, but we’re working on this with a high priority, and are in fact testing a potential fix.

4 Likes

Hi,

Cubase 15.0.6 hotfix is out. This issue has been resolved in this hotfix update.

2 Likes

I just tested 15.0.6 with Cinematic Studio Strings and some Spitfire libraries. The problem has not been fixed as stated previously. I still have to enter half the value of the negative track delay to get it to play in time.

@Gary_Young would you be able to share a simple project file that shows how you’ve set this up?
We have fixed a problem with 15.0.6 where the attack compensation would previously be miscalculated relative to the current tempo. I had assumed that this matches your description under certain circumstances, but maybe there is some other aspect playing into the problem.

2 Likes

Hello Stefan. I have attached a simple Cubase 15.06 project file using Cinematic Studio Strings. I used two different expression maps, one with the Leg Exp articulation set to 250 and the other set to 125. The correct value is 250 ms but it is way out of time. If I cut the value to 125 ms (half) it plays in time. BTW, I could not include the expression maps because your site does not allow this file type to be uploaded.

If I set set the global track delay in the track inspector to -250 ms, the legato line plays fine in time. So, the workaround is to cut all the articulation delays in half. I would prefer not to do that.

Thanks.

Attack Comp.cpr (2.3 MB)

Hello, I’ve been playing around with the new expression maps for a couple of days since the latest update and I’d like to confirm that everything is now working as expected.

I’ve tested with different libraries (including Cinematic Studio Strings), with different articulations and at different tempi and I haven’t encountered a single problem so far.

Thanks a lot to the devs for getting this issue fixed.

Hello Pandraos. I am still having the same problem with having to set the attack compensation to half the value. Could you tell me what your expression maps look like and any other particulars you think may be helpful? Thanks.

I’m not really doing anything special but here’s how I’ve been going about testing and creating expression maps:

  1. I create a completely empty project with nothing preloaded that might interfere (not a template).
  2. I enable the metronome.
  3. I set the tempo to 60 (sometimes 30 to carefully time some articulations) and the time signature to 4/4.
  4. I load whichever instrument I want to map.
  5. I create a MIDI part that consists of an ascending chromatic scale (covering the full range of the instrument loaded) in quarter notes.
    This makes it easy to time the attacks of each note against the metronome.
  6. I carefully time each articulation against the metronome, usually in 2 or 3 different tempi to make sure it sounds right at varying speeds.
    This allows me to populate an expression map one articulation at a time.

I’ve attached a custom expression map I created for the Violins 1 instrument in Spitfire Audio’s Spitfire Symphony Orchestra.
This map assumes you have the performance legato patch loaded in channel 1 of your Kontakt instance and the all techniques patch loaded in channel 2.
Please keep in mind that this expression map fits my personal workflow (all custom articulations, all articulations are attributes, multiple articulations for different legato attacks/speeds, etc.), but it should still help illustrate how I build them.
I would have attached an expression map for CSS but I have not built a full map for it just yet.

All of this might sound obvious but I’m just being thorough in case you might have missed something simple.

Other things I’d do in your shoes:

  1. Make sure you actually have the latest version of Cubase installed.
  2. Make sure you’re assigning the custom maps you’re creating to the track.
    It’s easy to forget that one sometimes.
  3. Make sure your track has no global delay applied to it.
  4. If all else fails, try a clean install of Cubase in case something didn’t update correctly or is being somehow cached.

I hope this helps.

Expression Map.zip (3.1 KB)

If you put everything together into a zip file first, then this can be uploaded here on the forum.

I confirm it is fixed as well. I loaded the .cpr file supplied by @Gary_Young (I have CSS) and it does not exhibit the issue. The 250 ms is now correct and is an exact match for when the track is duplicated, and the expression map changed for the duplicated track to remove all attack compensation settings (duplicating the map first with “no compensation” at the end of the name and editing that map and assigning that map to the track), and the track delay set back by 250ms.

EDIT: I can also confirm in the original Cubase release this same file exhibits the problem, and there the attack compensation values are being incorrectly doubled.

And Gary you didn’t need to attach the expression maps separately, they are contained within the cpr file so I was able to access them.

I might suggest re-installing the update, as I’m wondering if in your specific case something just didn’t install correctly in the Cubase update process.