musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
12.08k stars 2.61k forks source link

Better dynamic variations, especially for drumset #21784

Closed TeeDeeY closed 5 months ago

TeeDeeY commented 6 months ago

Your idea

I’d like the number of dynamics symbols increased. One crude way is using + or -. mf+ is 1/3 up of the distance between mf and f. F- would be 1/3rd down. A preferable way is to properly play back midi numbers replacing letters. Like piano p is 49 velocity. I’d like to type in 52 for a slightly louder sound and a small 52 be shown next to the note.

Problem to be solved

Drumming sounds better if there are variations in hits when repeating the same pattern over and over. If Musescore allowed more dynamic type variations, hand changing or plug-ins can humanize drumming a lot. My preference is to allow for midi numbers. By default, they can be set as not visible for printing and use a smaller font, so formatting isn’t too drastically changed. This is mostly for drumming but other instruments could possibly benefit.

If an acceptable modification strategy can be agreed to, I could work on the programming changes.

First, I would like to know if something like this would be accepted if programmed. Thanks.

Prior art

No response

Additional context

Drumming can sound better with a mix of slight variations and the usual larger variations. These changes are not to increase all notes like hairpins. They are subtle expressive variations that are constantly taking place.

Musescore seems to playback only the standard listed types of dynamics. Two closely adjacent similar hits don’t sound as mechanical when there is a slight variation between them.

Being able to see the midi numbers is helpful. Other programs allow velocity to be changed but it’s hidden away and not as easy to review and modify.

cbjeukendrup commented 6 months ago

In the future, it will be possible (again) to specify which MIDI velocity number a dynamic marking should produce. Note that it is already possible to adjust the velocities of individual notes in the Properties panel. However, for this too, there will be a better way in the future, namely a proper "automation" system.

Personally I wouldn't be a fan of making up extra dynamics symbols like mf+, because that's not standard notation to my knowledge. Of course we want to allow composers of experimental music to define their own experimental notations, but we don't want to put every possible thing directly into a palette or so, since that would confuse other users.

TeeDeeY commented 6 months ago

@cbjeukendrup Thanks for the reply. I appreciate the efforts put into Musescore.

I see that you will be making a new design. Will it likely be released in 2024?

The issues with userVelocity are 1) that the values are hidden away and not put on the Score, 2) don’t work with MuseSounds (fortunately not a problem with MSBASIC drumset) 3) the Properties panel is awkward to use - an issue which you will remedy and 4) midi export then import back of a note with user velocity next to notes with the default 64 doesn’t seem to calculate the change correctly. (4 mf notes with the 2nd note set to 96 in the panel come back as 80 96, 80, 80 instead of 80, 112 (80+96-64) , 80, 80. Incorrect, unless I am mistaken on how the function should work.

As far as the mostly-hidden userVelocity issue, total midi velocity instead of “mf” style letters eliminate the issue of not knowing what velocity will be played back.

With MuseSounds, I don’t know for sure but speculate that it can work with a variety of dynamics if the DYN_LIST was updated but maybe not. If all MIDI numbers were considered legal dynamics, then maybe MuseSounds would follow along. Speculation of course.

So I am thinking of a plug-in that can solve the issue. The specific plug-in commands have been tested out but I would prefer Musescore did it.

For Musescore, if most of the time, the current method was used but when a “show total velocity” mode was selected, then the midi total velocity was shown instead of the “mf” with a hidden offset. Then allow the midi number to be updated. Then switch back to “normal view mode”. Would that work more in line with your system?

Thanks for reading.

zacjansheski commented 6 months ago

Conceptually similar to https://github.com/musescore/MuseScore/issues/20884

TeeDeeY commented 6 months ago

@zacjansheski Thanks for the link. My use changes the dynamics of almost every note over its generic mf/f/ff, slightly, because the consistency of a computer drum can be irritating. User velocity has drawbacks for me, as I previously listed.

If I could have any choice, I would like a straight bar under the staff with dynamic midi numbers. If they can be edited directly similar to lyrics, that would be great.

That would be a bigger programming task than showing midi numbers in the same system that shows current dynamic markers.

Logic Pro has individual controls and a graphical volume track for raising a track’s volume and a separate one for the volume of all instruments. There are different ways. It seems a method has been chosen for a future implementation in Musescore and that is what will be used.

I will wait and work with it.