Please add a preference for sounding clicked notes at playback velocity (rather that velocity 80)

• Jul 13, 2021 - 05:55

In Musescore—regardless of a note’s assigned velocity, and without regard to other attenuating factors like dynamics and accent makes—a clicked note always plays at a preset velocity of 80 ... NOT according to the note's Offset or User velocity (with all other playback influencing factors in the score.)

This behavior prevents one from previewing a note's velocity by clicking it. And trust me, when velocities in a score are quite low, it can be rather startling hearing comparatively a poked note sound off at velocity 80.

The same "velocity 80" behavior occurs when using the left or right arrow keys to strut through a string of notes. The arrows keys would provide a great way to quickly audition notes … to see which ones might need velocity adjustments. But, best I can tell, we don't currently have that.

I would LOVE a preference option that made clicks and arrows audition notes at the play “volume.” I'd turn it on and leave it on.

Is there a short list of obvious benefits in the current"always velocity 80" behavior?

scorster


Comments

This has come up before, and I believe that the explanation was that MuseScore can't actually calculate the velocity of a note until the play algorithm is active. There are several things which can effect the note-on velocity, which include more than just the dynamic marking. (accents, sfz markings, hairpins, etc.) As far as I know, these aren't applied to the notes until you actually press play.

In addition, editing a dynamic affects all subsequent notes. (until the next dynamic is applied) Rather than changing the velocity of all the notes from 64 to 80, for example, and then factoring in articulations to achieve an absolute value, MuseScore keeps a tally of these events and applies them at playback.

I'm sure I've got at least part of this wrong, but that is my understanding at the present.

In reply to by toffle

FWIW, it may have been true at one point that the information isn't available at that moment, but I don't think that's likely true any more - we do preprocess the score on a pretty regular basis in such a way that this would probably be readily available. At least, in 3.x source - much about playback is totally reworked for MsueScore 4, and I have no insight into that. On the other hand, since the advent of single note dynamics "velocity" is not normally the most relevant aspect of how loud a note sounds, so I'm not sure you'd get much value out of hearing a note at the same velocity unless we also reproduced the exact setting of the CC messages used to control the volume as well. I'm not sure that information is as readily available.

Mostly, though, I just don't think many people would like it if notes that happened to be marked ppp were hard to hear while editing, so the request doesn't come up very often, so it was never considered a particularly important feature to try to provide. But assuming it really is possible at all, adding another option to the preferences dialog (there is already one to set the duration of a clicked note) wouldn't be a big deal.

I support scorster's aspirations, but I think toffle is likely correct as to why this might be difficult to do.

But while the topic is open:

• I think that the poked note should sound as long as we lay on it, without the maximum enforced by the current system.

• On the other side of that coin, I think the minimum sounding time (which we experience if we just "tap" the note) is too short. I would think that this minimum toot should be long enough that for the typical patch the note's ADSR profile has a chance to reach "steady state".

• [We may already have this and I just don't know how to invoke it; if so, never mind.] It would be nice if, perhaps through the use of a modification key, we could poke a note and have the entire chord (if applicable) sound.

As an aside, I call attention to the fact that when we poke a note (or step to one while "walking and tooting"), the corresponding MIDI Note ON message is sent, but no Note OFF message. Instead, MuseScore relies on the fact that, after the period the note is to sound, the "end of play" sequence is sent, consisting of (among other ingredients) a Note OFF message for each possible MIDI note pitch (128 in all) for each staff in the score (on the MIDI channel assigned to that staff).

[I will discuss - and cuss - that in a separate thread to come shortly]

That shuts off the sounding of the poked note, all right, but I think it is "dangerous" to rely on that, and this could come to bite somebody if any change is made in the end-of-play sequence (and it certainly needs that).

Best regards,

Doug

In reply to by Doug Kerr

Hi, Marc:

> (there is already one to set the duration of a clicked note)

Oops! I didn't know that. Thanks.

Ah, that is the "maximum", not the "minimum". (I'm not sure why there needs to be a maximum.)

I see there is an option for "sound whole chord".

Ah, that works when adding notes, but not when poking them.

Thanks.

Doug

Marc wrote > [this] was never considered a particularly important feature to try to provide.

Musescore preprocess[es] the score on a pretty regular basis in such a way that this [information] would probably be readily available. [However] I’m not sure you'd get much value … unless we also reproduced the exact setting of the CC messages used to control the volume as well. I'm not sure that information is as readily available.*

Assuming it really is possible … adding another option to the preferences dialog … wouldn't be a big deal.

I hope developers can combine the preprocessing of score velocities and CC messages, such that we'll have a Preference that allows clicked notes to sound at their playback level. (Same goes for notes played by left and right arrows.)

I've not had good luck searching the Issue Tracker for topics, so can you tell if there's already an official request on this matter? If not, I'll be glad to add one.

Much appreciated!

scorster

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