Can't overide dynamic data with CC1

When I draw CC1 data in Dorico 4.1, it doesn’t overide the dynamics generated by the hairpin.

In the example, you can hear how it “stutters” as it jumps between both data points. Clearly I must be doing something wrong but I don’t know what it is. I thought manually drawn CC data would take precedence?

How can I completely overide the dynamics generated by the hairpin with newly drawn CC1 data?

[Update] After some experimentation, I see that I CAN override CC1 data if I edit in the Dynamics lane. This also over-writes the CC1 data. However, why doesn’t it work the other way as well? (editing the CC1 data as described above and shown in the video). Shouldn’t editing the CC1 data also alter the Dynamic data? (btw, what exactly is “dynamic data” as it could be CC7, CC11, CC1, or automation lane volume).

I guess early adopters get the worms?

1 Like

Dynamics isn’t really MIDI data: your Expression Map defines the relationship between dynamics levels and MIDI data (which may or may not be CC1).

I would expect Dorico to create its own CC1 data to match the dynamics values; but if you make manual adjustments to CC1, then that’s going to cause conflicts.

In short: I wouldn’t make manual edits to CC1. If you change your sample library, you won’t get the same dynamics.


You need to find a way to separate the notation from expression. Hairpins shouldn’t have any effect on the way your VST instrument sounds. It would be interesting to know if on Dorico this is possible (i.e to add dynamics/hairpins that are purely graphical).

Of course the hairpin will have an effect on the VST instrument sound and that’s why I need to adjust it. Sometimes you want to decay quickly, and other times more slowly. These are the “interpretive choices” that players make. And now Dorico gives us control over these too.

My conclusion so far is to simply make adjustments to Dynamics when that is controlling CC1. Musically, this works nicely. However, I still would think that making adjustments manually to CC1 data should overide what generates. Hopefully someone from Dorico will clarify this.

1 Like

Sort of related, I tried recording cc data (via controllers on my kbd) after I’d entered some notes, like in Cubase. It didn’t work - or maybe I wasn’t doing it right.

You know what? It would be even nicer if the user could select the hairpin and then execute a function (to copy the crescendo/decrescendo data to any chosen controller lane)…


However, I still would think that making adjustments manually to CC1 data should overide what generates.

If you want to override the playback of dynamics, I would suggest using the dynamics editor now it’s available in Dorico 4.1. This ensures that your edits are resolved to the appropriate controls for dynamics as defined in your expression map.

Any edits you make in the MIDI CC editor will also be applied, but the kinds of discontinuities that you have experienced are liable to occur because you can have automation points with different values at very close positions interspersed from both sources.

1 Like

Thank you for the guidance Danial. This is what I also discovered through experimentation but it’s still hard to understand what is going on. When I do use the Dynamic lane as you suggest, it must be directing the control to CC1 and over writes it. So one would think this would also be the case when manually over writing CC1 data.

In other words, I understand your directions and its a great musical solution. I just don’t understand what is going on under the hood that is different from my manual override. However, thanks for the confirmation of the solution and much appreciated.

In which cases would it make sense to manually write to the CC1 data then if the dynamic lane always takes precedence?

If you’re using CC1 for dynamics, I’m not sure there’s ever a good reason to write data in the MIDI CC editor for CC1.

Daniel, I “sort of” get your point. However, “dyanamic data” can be many things. In VSL (for example), CC1 could control velocity layers, volume, timbre adjust, velocity crossfade amount, or all of those (can affect dynamics). And they could all be controlled by CC1, or by seperate CC controllers. So are you saying that if dynamics is mapped to CC1, just never edit CC1 directly? But its OK to edit other CC lanes?

This is all very confusing in my mind and I wish I understood the rationale better of when overrides occur and when they don’t.

For now though, I’ll just follow your advice and stick to editing the dynamic lane to keep things simple

Of course, if you want to use other CCs to achieve other effects, you should edit them directly. Dynamics are special because Dorico will convert the dynamics in the score into the appropriate CCs as needed, and so you already have two interrelated things that can give rise to controller data: the dynamics written in the score, and the additional data you write into the editor (which does replace the dynamics in the score if they are at the same positions).

1 Like

Thanks for the clarification Daniel! I’ll keep this distinction in mind as I explore further.

Not to be a thorn, but I ran across something that makes me question this further:

On viewing Anthony Hughes tutorial on Expression Maps, he shows an example of the exact case I used above in mine. The dynamic lane is driving controller CC1. However, when he edits CC1 (and not the dynamic lane itself) then his manual edits are overriding the automatically generated dynamic data. So this is in direct contrast to Daniel’s suggestion of editing the dynamic lane rather than CC1 (which is a working solution for my problem). The question is, why does it work differently for Anthony Hughes in his tutorial example? (starting at 6m47s). He is able to edit the CC1 lane directly which is overriding the dynamic lane. Did the operation of this function change?

No, it didn’t, but it depends precisely what you do. It comes down to how the data from the CC1 editor is interspersed with the profile created from the dynamics in the score and then the edits made in the dynamics editor. It does get added at the end, so you can override the dynamics in the dynamics editor, but you need to ensure that your data is added as a complete region, i.e. by drawing a freehand sweep with the draw/pencil tool or using the line tool.

Take a look at the attached project, for example. In the dynamics editor, I’ve drawn in an exaggerated sforzando in place of the one written in the music, but then I’ve also drawn in an opposite dynamic in the CC1 editor, and that is what is played. But as you look at the CC1 profile, you will see that the individual points I have created in the editor following that sort of inverted sforzando do not overwrite the whole profile, instead simply being interspersed between the profile already created by the written diminuendo and the slight variation in per-note dynamics due to humanisation.

If you really want to interrupt the diminuendo, you need to either write a whole sweep of data in the CC1 editor, or you can simply add a point in the dynamics editor – try it in the attached file and hopefully you will see the difference. A single point added in the middle of the green region corresponding to the diminuendo hairpin will stop that region and leave the dynamic at the level you specified.

This is why I say that for editing dynamics, you should use the dynamics editor. If your dynamics are using CC1, I can’t think of any tangible benefit to editing the CC1 values directly, whereas the benefits of editing the dynamic profile directly in the dynamics editor seem clear – you will avoid any odd discontinuities caused by the original profile “peeking through”.

Hope this makes things clearer.

cc1-override.dorico (455.1 KB)

1 Like

Daniel thank you for the in-depth explanation. I will take a look at your example and try to understand the process better. The dynamic editor works well for my purpose with the VSL Prime library I’m working on now. However, there could be other use cases with other libraries and articulations and expressions so it will take some time to evaluate. In the end, I’m simply trying to seek a useful musical expression. In this case, it is adjusting the dynamic response of hairpins, crescendos and sforzandos as slight variations can make a huge difference in interpretation.

Thank you for all of your help and most of all for making these detailed expressions possible as I think it will make a huge difference in the possibilities of playback from notation. This is all very exciting!



One downside to this behaviour that CC1 data cannot be overridden is that it can prevent people from recording automation to for example CC1 channel when there is something on the dynamics lane. Recording automation is very typical workflow in a daw environment, quite often preferred to drawing with the mouse. But perhaps in future one could record data directly to the dynamics lane (with and expression pedal or a knob)?

I’m looking forward to see how the workflow with copying and pasting automation data will be solved. I still think that the approach with signposts similar to the tempo track could be very efficient, both to achieve visibility in score and ease of editing.

In any case, I’m just very happy that the dynamics line is back, thank you for that!

1 Like

As of Dorico 4.3.0, a serious thing missing is the ability to copy CC data and paste it on the Dynamics thing. Something does get pasted, but all the values are at 127.

No, it is not intended that you should be able to copy data from the MIDI CC editor and paste it into the dynamics editor, or vice versa. The data is quite different. We need to make sure that nothing is pasted if you attempt to do this – I will discuss with my colleague Andrew.