Volume control for notes and by dynamic marks

• Sep 6, 2021 - 04:21

Testing here suggests as follows. This is in the context of the use of the MuseScore internal synthesizer for play of a score.

  1. When we use an "expressive" sound , the synthesizer is able to have its "channel volume" changed by (as the default) CC2, even during the play duration of a note. This, among other things, supports the single note dynamics (SND) functionality.

  2. In contrast, with a "non-expressive" sound in place, the synthesizer does not change its channel volume in response to CC2 at all, even between notes.

  3. When we use a non expressive sound, the synthesizer responds to the MIDI velocity values of the sent notes.

  4. In contrast, with an expressive sound in place, the synthesizer does not at all respond to the MIDI velocity values of the sent notes.

As a consequence of all this, if we wish to be able:
a. To have the relative volumes of individual notes be separately set.
b. To have dynamic marks affect the volume of all notes (while they retain their individual differences within that).
c. To use the SND functionality

we find that there is no combination of settings, options, or choices what will make all three things possible.

That seems odd.

Of course, I may well be missing something critical in this picture. If anyone knows such a thing, I'd be glad to learn it.

Best regards,



Personally, I have almost no use for velocity settings. SND does most everything I need. I am interested in good playback. But not so much in micro-managing it.

In reply to by bobjp

My point of view on velocity and midi controllers ....
Velocity having an effect on an instruments volume / attack / dynamic range is very important when using a good sampled instrument as all good sample libraries use velocity and "standard" midi controllers.

Thinking ahead for Musescore, when MS gets to the point where it can load instances of Kontakt Full version, and also player ...
I think it would be important to have velocity work the same way it does in a DAW for the sake of being able to export midi to a DAW.

It seems odd that a hairpin would be using CC2.
I'd think that it should be using CC 11 which is the midi standard for expression.
Also I'd hope that CC07 should be able to be used as a global volume for the mixer faders,
and then having CC11 working inside of CC07.

This is typical midi behavior with standard controllers.
I'd assume that CC64 is piano sustain pedal?

If anyone needs a more detailed talk about CC11 inside of CC07 then let me know.
I can go on about that in great detail, about why it should work that way.

In reply to by Steve_Karl

Hi, Steve,

I too endorse a mode in which CC7 is used for the channel "base volume" (perhaps to be varied to perfect the proper "balance" among parts) and CC11 is used for dynamics, the two control values "concatenating" in the synthesizer according to some function. (I like your term "CC11 inside of CC7".)

I have written about this many places, many times, and have investigated the "combining" function in a couple of synthesizers.


Well, an important issue is the basic HQ font, one way or another, simply cannot accurately reflect soft vs hard playing, certainly regardless of channel volume, but with sensitivity to the note velocity, since the sample set has no split where softer or harder samples can be chosen. Effectively, 48-100 is just an increase or decrease in volume.

In reply to by ramblinj

Indeed, considering synthesizers in which the timbre varies (perhaps in bands) with the MIDI velocity (but perhaps not with the channel volume), it is desirable to execute dynamic marks by having them modulate the note MIDI velocities (according to some function).

And MuseScore does exactly that (assuming that the note velocity types are "offset") (and the function is known). But then it also sends CC2 messages (or we can have it be CC1, CC4, or CC11) with differing values according to the dynamic mark.

When using the internal synthesizer, a "double dip" effect on note volume from this is avoided by the fact that, for a "non-expressive" sound, the CCx messages are ignored, while for an "expressive" sound, the note MIDI velocities are ignored.

I am not sure what to make of that.


In reply to by Doug Kerr

I'm not at all familiar with synthesizers that have "velocity splits" to more realistically render the differences in timbre from playing with different "intensities" (I intentionally used an unfamiliar word there to avoid getting tangled up with the multiple meanings of words like "velocity"). Do they typically base this only on the MIDI velocity value of the incoming notes (as the name might suggest), or do they do that based on a "net volume" that is a result of both MIDI velocity values and the state of channel volume as controlled, for example, by CC11?



In reply to by Doug Kerr

My experience is with Spitfire and Reaper which allow you to set a threshold at which a different sample is used. Spitfire allows you to adjust the overall dynamic range (something like "net volume" perhaps) and then the expression to choose where to switch. (incoming MIDI velocity value) Reaper has a knob you can set for the latter.

I now think I understand the rationale behind the behavior I described above and called "odd".

If the note velocities are of type "offset" and we encounter a dynamic mark, its effect is:

• Subsequently, the MIDI velocities of the notes are the note velocity values modulated by the dynamic value of the dynamic mark, according to a certain algebraic function.

• A MIDI "volume type" control change message (by default, CC2) is sent with its value the velocity value of the dynamic mark.

If, as we might expect in other arenas, the synthesizer responded to the note MIDI values and also to the CC message, the dynamic mark would twice influence the rendered loudness of the notes, not what is presumably desired.

But, for the MuseScore internal synthesizer (Fluid):

• If the "sound" is of the not-expressive type, the synthesizer does not respond to CC2 (in particular) to affect rendered volume.

• If the "sound" is of the expressive type, the synthesizer does not respond to the notes' MIDI velocity values to affect the rendered volumes of the notes.

Thus, one way or the other, the "double dip" effect of a dynamic mark on the rendered volume of the notes is averted.


Do you still have an unanswered question? Please log in first to post your question.