Dynamics/hairpin range for Voice
Reported version
3.0
Priority
P2 - Medium
Type
Functional
Severity
S5 - Suggestion
Status
active
Regression
No
Workaround
No
Project
Currently we can set hairpins and dynamics to apply to the staff, the part (like both staves if a piano) or the entire score.
Esp. for closed score SATB, but also in other situation it'd be useful to restrict hairpins and dynamics to the voice they got attached to.
To maintain backward compatibility with existing scores, in the corresponding enum we need to take care of keeping the values for STAFF, PART and SYSTEM the same, so either append VOICE to the end of that enum or insert it in front, but set it to -1. Logically it should be the first entry.
Support for playback would mean that we'd have to change velocity to be a property of voices rather than staves.
Comments
I've started to add a 'voice' range to the dynamc's span, but so far only the UI, no playback.
Check my fork/branch at https://github.com/Jojo-Schmitz/MuseScore/tree/dynamic-range
Issue came up again in https://musescore.org/en/node/108231
Came up again in https://musescore.org/en/node/127356
See https://github.com/musescore/MuseScore/pull/2852, more as a Basis for discussion and asking for help on how to get the playback done too
Came up in https://musescore.org/en/node/151796 again
And again in https://musescore.org/de/node/177471
And again in https://musescore.org/en/node/22233#comment-749936
And again: https://musescore.org/en/node/246006
Came up again in https://musescore.org/en/node/63631
And again in https://musescore.org/en/node/274290
Partial PR still at https://github.com/musescore/MuseScore/pull/2852
See https://musescore.org/en/project/voice-velocity for a plugin that works around this issue
Came up again https://musescore.org/en/node/288798
@Jojo-Schmitz any news with your branch you started?
With the introduction of single note dynamics it seems it would be better to take this into account too (should be useful for vocal scores, I believe?)
If so then the single note dynamics code (and the soundfont) needs some adjustments to allow setting different dynamics for different notes in MIDI channel. Here is a pull request by @TheOtherJThistle that can be used in implementation of this feature: https://github.com/musescore/MuseScore/pull/5004
But, of course, this doesn't revoke the necessity of assigning different MIDI velocities for different voices in order for this feature to work properly with other soundfonts.
That PR makes it possible, yes. The problem with poly aftertouch is that you need to send the note through with the dynamic events. This would require a fairly large change to the current system from just sending dynamics events to working out which notes to send events for and then sending them for the correct length of time etc. So, while not impossible, I'm not exactly prioritising implementing this, especially as it's not a regression.
@Louis: no update from my side, i still only have an UI in my PR
once dynamics/harpins for voices get implemented, we should take care that they also change their voice on a 'swap voice x and y'
+1