Strange behaviour of hairpin

• Sep 4, 2018 - 08:04

I present a sample MSCX in which a diminuendo hairpin with a velocity change of 10 unexpectedly increases the velocity by +15 at its onset and then starts reducing it until reaching +5 over the velocity before the beginning of the hairpin. The expected behavior would be to start reducing the velocity until it ends -10 relative to the velocity before the hairpin.

This happens in measure 18. The first 7 measures are an attempt to replicate the phenomenon in a different passage in which I included the same overall hairpin pattern. I didn't succeed: the rendering was as expected.

Trying to see what is happening I examined the MSCX but wasn't able to detect anything strange. I exported to MIDI and re-exported to MSCX in order to be able to "measure" the true velocity of each note. I include both files.

Any idea of what's going on?


Score starts with mp, velocity 60, crescendo and decrescendo by 15 each, so back to 60, then decrescendo by 10, so to 50, immediatily followed by a p, velocity 49, so that hairpin's setting is not needed at all.
Furter to mp, velocity 60 again, crescendo by 15, then decrescendog by 15, so back at 60, then decresndo by 10, followd by p, 49, same story, the hairpins velicity setting is not needed. So far so good, it should work as you intend it to work, but then you have set a velocity (offset 15) on the chord in measure 17, top staff, this seems to throw the algorizth off track. also the first note, set to 10, 2nd to 60.

Does the attached play better?

Attachment Size
test_crescendo2.mscz 27.45 KB

In reply to by Jojo-Schmitz

Thank you for your reply and for having taken your time to analyze my example.
However, it sounds the same except the lack of accent on the first note of measure 15 and on the chord in measure 17.
Usually the velocity setting such at the one on that chord affects (as should) only the intended note(s). Any other note should get back to the previous setting, which should be the combination of the last dynamic sign (with its custom velocity setting, if any) and the hairpins in-between. This leaves us at 60, as you correctly point out (60 + 15 - 15), so the last hairpin should indeed start at 60 and end at 50, connecting smoothly with the p mark at 49 at the beginning of the last measure.
I think there is some kind of bug or undocumented behavior. I haven't been able to find out what triggers it.

Your hairpin is attached to staff 1, but the previous hairpin (measure 15) was attached to staff 2, so it was not taken into account. Even when the range is set to "part", MuseScore is very literal about looking at the current staff only when calculating start and end values for the velocity. Delete that hairpin and add it in the top staff and all is well.

This situation is not ideal, the algorithm should be improved to look at other staves of the part to see if any dynamics there are relevant. See #198116: Diminuendo not abiding preceding dynamic of different staff in part

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