Articulation native control: is it worthy to sacrifice a bit?

• Jan 13, 2020 - 08:38

It has been a big pain that users cannot control the gate time ("time stretch") and velocity magnification of articulations natively. Forum posts, such as this, has been coming up to complain about the inappropriate default values, which users cannot change without a plugin, named Articulation and Ornamentation Control.

The good news is, I find a way to realize native controls. But unfortunately, it isn't without problems.

To understand that, we need to look into instruments.xml in the source code. We can see that there're global values of the gate time and velocity magnification defined for each articulation to which they apply. However, they're overwritten for some instruments, like marching percussion. So, the default values of gate time and velocity magnification depend on the instrument.

However, for technical reasons, the code doesn't currently support default values in the inspector depending on staff/part properties such as the instrument, not without risky overhauls. This can be avoided if the default values for all instruments are the same. So, I searched through the entire instruments.xml, and found only very few instruments have overriding values. Except for those instruments which only have overriding values for none-articulation notes (<Articulation> without a name), which won't be affected by native controls for real articulations, the rest are no more than four marching percussion instruments, which all have 130% velocity magnification for sforzandos and 500% for marcatos, different from the default of 150% and 120%, respectively.

After I came across this, I realize it probably isn't a very big sacrifice if we unify the default values but allow users to easily change them in the inspector. What do you think? Do you believe the different default values are a big deal which cannot be given up? Or do you believe it's worth it to add native controls, even with this drawback?


Changing the default values per staff would be of tremendous value (of course, keep in mind that scores snapshot the values). Changing the default gate times of articulations per score would be useful, too. Currently I do that by editing XML (yes, there are scores in which the composer's staccato dots sound much better at 750 than 500). The inspector is for note attributes, not staff attributes. Staff properties (which manages transpositions, for instance) might be a better place. Are you aware that flutes and pianos (of all kinds) have non-1000 gate times due to an abandoned MS experiment which gives slurs life and meaning?

In reply to by BSG

Thanks for the reply!

You're right that in some places staccatos are better to have 75% gate time, but chances are I also want 50% in some other places on the same staff. I'm not sure what the odds are, though. But here's a realistic situation: I want invisible staccatos to have 75% gate time but visible ones have 50%, where invisible ones are used for simulating live performance sound effect.

I'm aware that they have non-100% gate times, but haven't heard of "an abandoned MS experiment". Do you mean they shouldn't be non-100%? And I'm also curious why flutes have non-100% but oboes, clarinets, bassoons, and other wind instruments have 100%.

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