Wish list: reduce number of dynamics

Maybe this already exists and I just haven’t seen it yet but it would be nice to reduce the number of dynamics levels for a given project. Given the sample libraries I have, they seem to go only to ff or fff in some cases. Any more than that is irrelevant to the library and not needed. However, Dorico uses pppppp and ffffff as part of the dynamic curve power scale so I have to use all FOURTEEN dynamics markers to get from 0 to 127.

This is a little problematic as a sample library will use a MIDI value of 127 just to get to ff or fff. And on the other end ppp is almost at zero. (Sometimes I have to reduce CC7 as well at that point.)

Anyway it would be nice to chop off the ends of the dynamics ranges a bit and allow the “middle” values to be able to reach 0 - 127. That would also help keep the power curve a little closer to a value of “1” and not have such ridiculously drastic changes between p and f.

Check Playback Options—Dynamics. You can increase the curve to something like 3.5, which minimizes the extreme dynamics.

That does help get the extremes closer to what the library can do but then you get giant differences between p and f. Specifically for 3.5:

pp: 16
p: 27
mp: 38
mf: 61
f: 92
ff: 106

The tradeoff is that yes, I can get closer to the outer ranges of the library but then dynamic changes in the middle become very exaggerated and a lot of music spends quite a bit of time between p and f. The result would be a lot of big jumps between dynamics that really should be more subtle.

I’d love to be able to hit somewhere around this curve/line:

ppp: 10
pp: 25
p: 45
mp: 60
mf: 75
f: 90
ff: 110
fff: 120


Maybe instead of calculating the curve around a single point, what about adding additional points to the curve? That way you could have one curve profile between say, pppppp and pppp, then a second curve profile between pppp and ffff, then the final corresponding final curve for ffff to ffffff.


+1 from me! I’ve also struggled (and given up) trying to find an optimal dynamic curve. It’s either way too drastic at the middle (mp-mf) or not enough reach at the extremes (ff and pp).

Maybe in some vst plugins you could define a range for cc control and that would solve the problem (partially)?

BlueCat Audio makes a VST that can do that. I’ll have to look in to that but it’s more $$.

Maybe also give a graphical representation of the selected curve(s) so that we can see the actual resulting curve.

If you are asking to use dynamic values from 0 to 127 and not have larger distances between the most common three or four dynamics, I think you are asking for two incompatible things.

You could always not show the more extreme dynamics and just add text to make them “piu p” or “piu f.”

That’s kind of my point. I need to be able to put ppp/fff pretty much at the two extremes and then have some kind of average distance between the inside dynamics or at least some kind of balanced curve.

A complimentary problem with the power curve is that it is not balanced between the two sides in regards to the y-axis. The “p” side is much shallower than the “f” side resulting in values on the “f” side being way below expected values - to the point of being UNDER 50%.

For example, a curve value of “5.0” puts ppp and fff at a decent spot on the curve as the lowest and highest dynamic respectively. However, as you move towards the middle, the “p” side is increasing upwards at a slower rate than the “f” side is decreasing. This results in some weird values such as mf at MIDI value 59 (which is under 50% when it should be somewhat over 50%) and f jumps way up to 100. That’s 41 steps between adjacent dynamics which is crazy and almost double the next biggest difference which is between mp and mf which is a 26 step increase.

Going from mp to mf should also cross over the halfway value of 64 for most applications.

I would think that a curve should be equally weighted on both sides. Meaning that if MIDI value 64 is the middle, then mp and mf would be the same distance from 64. p and f would be same distance from 64, etc. etc.

Ideally, I’d do an inverse curve (curve value <1) where differences between dynamics are slightly larger at the extremes and closer together as you move to the middle so that the majority of the changes in dynamics in the average piece of music would be more subtle.

Anyway, fixing this imbalance issue alone would go a LONG way to solving this problem.

Remember, this is in regards to virtual library playback only. For live players, this is all a completely moot point.

I can also attest to the problem of finding the perfect dynamic curve setting. The added issue is that each library has different thresholds for velocity layers etc and so this ‘one size fits all’ dynamic curve is often not suitable. Paul from Steinberg, has mentioned their awareness of this shortfall in previous posts and has intimated that you will ultimately probably have a customizable dynamic curve attached to each expression map. If this does indeed come to pass it will help, but won’t solve the weighting issue. In Sibelius you could assign a velocity number to specific dynamics, so P could be 40 and ff could be 127 for example. This seems more flexible than the curve unless one could actually change the curve by dragging different points along it and therefore create the same result as assigning specific values. You would need to be able to drag both halves of the curve independently though.

After much experimentation with my VSL libraries using VIPro, I use a curve setting of 3.5 and in the expression map I use a minimum velocity setting of 35. This might sound strange, but it works somehow. My pp’s are still soft enough. It is not perfect, but it works for me until more control is added to the program in this area. Other user’s like dko22 have had success by combining certain velocity min and max settings in the expression maps with secondary dynamic settings to give two levels of control. Fortunately, Dorico allows us to go into PLAY mode and tweak the dynamics and other related CC’s…which is why we love it so much. However, I can’t wait for the improvements that will doubtless be coming our way!

We do plan to make it possible to adjust the dynamic power curve in a more granular way, and to make it easy to use different curves for different expression maps and indeed even within a single expression map. It’s on the roadmap, but I can’t say exactly when it will be implemented.

Thanks, Daniel! Good to hear about the roadmap.

Question: Is there a particular reason that the curve is not symmetrically weighted around the middle (MIDI value of 64)?

To me, it feels like a bug in the curve algorithm.

Paul is the one who determined the setup of the power curve, and I know he did so after careful consideration and experimenting with a number of different sound libraries.

The expression map architecture is a bit of genius so I have zero doubts of Paul’s hand in this.

It’s an elementary point but before jumping to conclusions make sure you’ve matched levels throughout your signal chain. You can calibrate your speakers to pink/white noise on a Nady DSM-1X or equivalent. A good monitor controller, such as the Drawmer MC7.1 also helps with calibration with a calibrated preset level and level adjustments (I have both of these and they’re excellent) Point being don’t trust your ears on this unless you have a calibrated system, as you might simply have too much gain somewhere in the chain. And ears aren’t that great at measuring loudness anyhow - the first thing one of my teachers taught me was to sound “full”, never “loud”. That is we hear emotion more than we hear actual levels.

I just did a quick test of something I’m writing, changed a solo horn from p to f, which went from -40dB to -15dB roughly. Of course this is crude, but just a quick check, but anyhow that looks reasonable I think.

Sorry, didn’t mean to cast aspersions on Paul’s work. Of course he’s doing an amazing job so I certainly didn’t mean to throw shade. The curve just seems to be acting very unexpectedly compared to my own personal experience with libraries and what their dynamic ranges are. Maybe if he could share a little bit of insight in to how he came up with that particular algorithm then I might be able to figure out how to utilize it properly.

I get your point. My system is calibrated fairly well but that wasn’t really what I was asking about. My point was that the MIDI value distances between dynamics are not spaced evenly in relation to each other. To my ears, CC1 and CC11 are pretty linear in most libraries, both in volume and expression. Maybe I’m hearing them wrong? I don’t think that’s the case but anything is possible. Anyway I thought that with any curve, the MIDI value intervals would mirror each other on either side of the mp/mf line. I know when I’m manually drawing CC curves in Cubase, they tend to be relatively linear and going from 0 to 127 sounds pretty smooth and even all the way thru.

Again, if the average library was not recorded and produced to have a linear progression from 0 to 127 then that would be news to me.

Which entirely possible! :smiley:

No I understand, and I also find myself with a dynamic range that isn’t something I’d wish. Anthony (and others) have indicated more great things are coming for playback, so having the ability to set the curve will surely come along. Good news is the team knows exactly what it’s doing :slight_smile:

This exists in Cubase (it makes absolutely sense). This is called in French: “Configurer les assignations de nuances”, so Set up the nuance assignments. Either pp to ff, or pppp to ffff.

The current system is a necessary compromise, as Dorico’s internal model of dynamics has to handle anything that occurs in published scores, and so we chose a maximum representable range of 7f to 7p. However most scores seem to use the range fff to ppp, so about 90% of the MIDI dynamic range is used for this range of score dynamics. If we had a linear mapping then it results in a much less usable range. The addition of the dynamic curve power parameter means that you can increase the effect of small dynamic changes.

We do realise that there are limits to how much you can control through a single parameter, and we do hope to offer more control over dynamic curves in the future, eg by adding upper and lower cutoffs that would mean you can define linear response between 3f and 3p if required, or specifying the required MIDI values for each dynamic level.
dyn curve.jpg

This orientation is good, I think, and nothing is obvious on this side. Thank you for working on it. In any case, it is up to the user to freely manipulate this curve, because it is a question of interpretation, just as musicians would decide to play with more or less dynamic contrasts. Having said that, if the curve pattern was bigger on screen, that would help! Most of Dorico’s elements are quite large on screen (sometimes a little too much), but this dynamics board is too small, at least on my 4k screen.