Overhauling/Fixing Hairpin definitions

• Nov 8, 2019 - 21:36

Good afternoon, MuseScorers!

As I've been digging into a large-scale project for the Main Office, I'm finding that our definitions of hairpins (crescendos/diminuendos) needs to be overhauled and vastly improved.

Here's a screen shot of how MuseScore imports hairpins from an XML:
Screen Shot 2019-11-08 at 4.24.41 PM.png

Here's what the hairpins SHOULD look like, per the original PDF of the score:
Screen Shot 2019-11-08 at 4.24.57 PM.png

Here's the problem:
in MuseScore, the hairpins are defined as graphic lines, attached loosely to the nearest note head. This is similar to Finale's dynamic definitions: they're simply graphics, rather than musical data attached to specific musical time - rather than just a note head as an anchor.
In the specific case shown here, the hairpins should create a simple dynamic swell. However, because of the way hairpins are defined, the program doesn't know how to place the dynamics.

In other cases, a crescendo may only be defined to begin on count 3 of a whole note. The way MuseScore defines the hairpin, there's no way to accurately, consistently, and cleanly place a hairpin beginning halfway through a duration. To accomplish this, the user must place the hairpin at the note head, then manually drag the ends to begin at the correct place in time. To change the starting point presents an additional problem: it's a multi-step process with unpredictable results.
If the user has several instruments for which they wish to have the same dynamic, every hairpin needs to be placed and manipulated individually. In the end, it's not possible to quickly, efficiently, and accurately have all the hairpins defined exactly the same way. As a composer, I expect to have my score have this level of professional accuracy.

In Dorico, a user can insert a hairpin to begin at any point in a measure. The hairpin is attached to musical time in the bar, rather than to a note head. This makes it quick and easy to define a crescendo to begin halfway through a whole note. Once one hairpin is placed, it can be copied and pasted to other measures. The specific place within a measure is defined with a cursor and, when in a measure, a small timeline showing beats and subdivisions appears to see where each beat or sub-beat occurs.

Having this level of accuracy with dynamics (not just hairpins, but also immediate dynamics) will greatly, greatly enhance the quality of output from our program!

Have at it, friends! Let me know your questions!

-- Ryan


Here's an example of the significance to fix this issue:
Screen Shot 2019-11-09 at 11.54.21 AM.png

In order to get these hairpins correctly-defined (2 count dim, 2 count cresc), I had to insert half-rests in voice 2. The hairpins need to be attached to voice 2 in order to have clear definition. This also lines up all the parts so all the voices with matching dynamics are all reflected accurately in the score.

Inserting a hairpin is a very quick and easy keystroke - I love how simple it is to enter. Unfortunately, to get the accurate placement in the score - it's slow and cumbersome, even with this work around.

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