How to setup Musescore 3.x for correct playback for all dynamics and hairpins
Single note dynamics audio needs version 3.1 up. This article works with version 2.x up
To reset to default playback, jump to Synthesizer
Table of Contents
- Pay attention to these settings
- Synthesizer and MIDI CC
- Importing from .MID, and scores from previous version
- The Inspector
- Constant Dynamics
- Variable dynamics
- Hairpins and Dynamic text lines
- Followed by a dynamic
- Customizing velocity changes
- Hairpin Text
- Consecutive hairpins and dynamic text lines
- Fancy dynamics change within one long note / Swell effect
- Subito dynamics
- Custom Dynamics
- Dynamics on a grand staff
- Questions or comments?
Pay attention to these settings
Pay attention to these settings to ensure correct sound level for all Dynamics (esp. build-inSNDs such as sfz) and Hairpins:
- (If any) custom soundfont's response to MIDI CC. You cannot edit soundfont inside Musescore, more info seeEdit a soundfont to reponse to MIDI CC
- In Synthesizer
- Order of soundfonts
- Settings in Dynamics tab, see below
- Instrument's 'Use single note dynamics' setting in Staff / Part properties
- "Velocity change" property of special Dynamics symbol: SNDs, and all Hairpins
- "Velocity" of two the Dynamics symbols immediately preceeding and following a Hairpin
- "Velocity" of the note itself, jump to importing
Synthesizer and MIDI CC
To have correct audio for all Dynamics (esp. build-in SNDs such as sfz) and Hairpins in Musescore, you must
- Know the CC number the soundfont response to
- Use the same CC number in Synthesizer settings
- Enable CC (Dynamics method = "Default (single-note dynamics and velocity)" or "CC events") in Synthesizer settings
otherwise no loudness variation possible across a single note.
TIPS: If your custom SoundFont does not support CC 2, try to use MIDI CC 11.
Musescore default soundfont MuseScore_General.sf3 response to CC 2. To reset to default playback, use CC 2.
- open Synthesizer : View→Synthesizer
- make sure order of soundfonts is correct. Default instrument works only if the default soundfont is 1st ordered in the Fluid tab
In the Dynamics tab
- Using CC 2 .
- Set "Dynamics method" to "Default (Single note dynamics and velocity)"
- Set "CC" to "CC2 (Default)"
- In the "Advanced settings" section below, click “To Expressive”
- Click "Save to Score"
- Click "Set as default"
- Using CC 11 .
- Set "Dynamics method" to "CC Events only (constant velocity)"
- Set "CC to use" to "CC 11"
- In the "Advanced settings" section below, click “To Non-Expressive”
- Click "Set as default"
- Using CC 2 .
Importing from .MID, and scores from previous version
When importing .MID file, you often find that a absolute MIDI velocity is set to each note itself(instead of thru a Dynamics symbol) each note's Velocity type property is set to 'User'. Dynamics will not produce correct sound on any of these notes.
To fix this see How to restore correct playback of dynamics and hairpins in an imported MIDI file.
An alternative method to fix this is to override the default MIDI velocity mechanism by Using "CC Events only" and set CC number to "CC 11", you do not need to reset note Velocities(to 0) and Velocity type (to "Offset") with this method. This is works by unifying all volume modifying data to a single data channel CC 11, and almost all soundfont has attenuation response to CC 11 (unless deliberately disabled).
When you import a score created in Musescore 2.x, automatic conversion of SNDs (dynamics symbol such as sfz) occurs whenever possible, they will usually produce correct sound.
Important: The inspector is a powerful tool. It's accessed by pressing F8 (Mac fn+F8), which will toggle it on and off. You can select multiple, identical items and make the same adjustment to all selected items at once.
These terms are actually my own. I think they describe how they work, so if I use them later they will make sense.
... are dynamics like f, mp and pp among others. These work exactly like they did in previous versions of MuseScore. They can have a dynamic range of Part (all staves on an instrument), staff, or system. You can set the velocity to any value of 0-127. A velocity of 0 indicates no change from the previous velocity while a velocity of 1 is the softest and 127 is the loudest. There is a Velocity change field in the inspector but it does not normally make sense to use it with these dynamics. If you want to use this, see the following section.
also known as Single Note Dynamics, jump to definition
... are dynamics that change from an attack velocity to another velocity such as fz, fp, pf or sffz among others. The Dynamic range and Velocity are the same as constant dynamics. The Velocity change field is used to indicate how the velocity changes after the velocity is initially applied. It is close to the same as changing the velocity by the same amount.
If you would like to know the exact velocity after a velocity change, the formulas are as follows:
The variable used are n = new velocity rounded to the nearest whole number, v = start velocity, d = velocity change (this is always converted to a positive number)
for increased velocity:
n = v + d
for decreased velocity:
n = v - d
The Velocity and Velocity Change fields, by default, are assigned to dynamics that are meant to use them. If you change the preset velocity, the Velocity change will also update depending on what you enter in the Velocity. You can also set the Velocity change to a custom number. Positive numbers increase the velocity after attack and negative number decrease the velocity.
Hairpins and Dynamic text lines
Followed by a dynamic
Hairpins that look like long > and < and dynamic text lines like dim.---- and cresc.---- mostly work the same as the did in previous versions. By default, if you enter one and the next dynamic is louder than the previous, and the hairpin or dynamic line is a crescendo, the dynamic will crescendo to that dynamic. Important: This is true no matter how many measures away the next dynamic is located. If the dynamic is equal to or softer than the dynamic level at the start of the crescendo, the crescendo will be ignored. It works the same way with decrescendos and diminuendos when the next dynamic is louder.
Customizing velocity changes
To customize a hairpin or dynamic text line, you can enter a velocity change in the inspector. In this case, the following dynamics will be ignored until encountered during playback and the velocity change (which is always entered as a positive number) will be used to adjust the volume. The actual velocity change is determined by the same formula used for Variable Dynamics. By default, the Use Single Note Dynamics box is checked. Dynamics will be applied over the length of a note rather than note by note as in pre-3.1 releases. If you don't want to use single note dynamics you can remove this check.
Hairpins and dynamic lines also have a drop down for Dynamics method. You can choose
- Default (linear)
- Ease-in and ease out
These are mostly self explanatory and indicate the rate at which the velocity changes at each end of the dynamic. Default (linear) is a smooth increase from the start to the end of the dynamic change. Exponential starts as a very gradual change and ends with an extreme change in velocity.
Hairpins (starting in version 3) and text lines can all have Begin, Continue and End text added to them or changed as appropriate. For example, you may want to change the text of a dim. line to something like morendo or decr.
In the case of Hairpins, you can check the box in the inspector that says Circled tip if you want a circle attached to the small end. This does not affect playback, so if you intend for it to mean niente you must adjust the hairpin velocities.
Consecutive hairpins and dynamic text lines
Note: You cannot change the dynamic on an instrument that is not capable of changing dynamics on a single note like a piano or percussion instruments. Starting in version 3.1.1 you can use a tremolo on these instruments and get proper dynamic changes.
When you have a combination of two or more hairpins and/or dynamic text lines, only the first one is honored by default. If the next dynamic (f, pp, fz etc.) is in the correct direction (louder for a cresc. or softer for a dim.) the first and only the first hairpin/line will be affected. To make consecutive hairpins/lines work properly, you will need to enter a velocity change in each one with the exception of the last one. If you enter custom velocity changes in consecutive hairpins, the last hairpin or dynamic line will work with the next dynamic, unless you enter a velocity change for it also, then it will follow the velocity change. With the exception that hairpins and lines now work on single note, this is the same way it has worked since version 2.
Fancy dynamics change within one long note / Swell effect
Use Anchors for Dynamics and Hairpins plugin.
Since you can now use dynamics on a single note, you need to know how to make them work in the middle of a note. To do this, enter rests into an unused voice (voice 4 would be good as a rule since it's used the least, I usually use voice 2 unless I have other notes in it). Since dynamics always affect entire staves, you can also use existing notes in other voices if they exist. Align the rests so a rest starts on the beat where you want the dynamic change to start. Select that rest and apply the dynamic line or hairpin to it. If you need to adjust the range (number of beats) of the dynamic, it is very important that you double click the dynamic and use shift + left or right arrows to adjust the range. Other methods for adjusting the dynamic display, like dragging the end, will not affect playback.
Once you have the dynamic placed properly you must assure that the dynamic will do the right thing. Just like with multiple notes, you still have to tell the dynamic what you want it to do, either by putting a dynamic at the end of the hairpin or adjusting the Velocity Change field in the inspector. If you want to play to a specific dynamic (like f or pp) you can enter it and make it invisible if you don't want to see the dynamic mark. You can also adjust the invisible rests, if necessary, so you can move the dynamic to the correct beat.
It is common in printed music to see dynamics marked subito like subito p. These do not playback automatically. There are a few steps you need to take to make this work properly. First you need to edit the dynamic:
- Enter Edit mode on the Dynamic;
- Type “subito “ before the main dynamic text;
- Press escape (to exit edit mode).
Insert the hairpin or line and adjust the Velocity Change on the hairpin. The hairpin with then be played and you will get the sudden dynamic change for the subito dynamic.
You can add modified dynamics to a custom workspace for use in the future just like you do a pre-defined dynamic.
Dynamics on a grand staff
As previously mentioned, dynamics can have the Dynamic Range set to System (all instruments), Instrument (all staves on that instrument) and Staff (the current staff only). When you enter a hairpin or dynamics line on a staff, only dynamics actually placed on that staff will affect the hairpin or dynamics line.
It does not matter if the dynamic is set to instrument, it still will not affect a dynamic line or hairpin on a different staff. Dynamics work the same otherwise, affecting the appropriates staves. All of this is true of any instrument with multiple staves, like the two Horn in F instruments used in the Symphonic Orchestra template.
In the following picture, the hairpins at the bottom will never change to follow the dynamics at the top, even if they are both set to instrument. MuseScore only looks on the same staff for dynamic changes.
Entering contradictory dynamics, such a dynamic on one staff with a Dynamic Range of Part and one on the other staff on the same beat with a Dynamic Range of Staff, will probably lead to undesirable results. MuseScore will try its best to interpret what you mean, but it is better to always use valid dynamics if you want good playback.
Questions or comments?
Feel free to discuss this how to... in the Support and bug reports forum.
Don't forget, all of this information is in the handbook, I have only consolidated and explained it here.