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
11.86k stars 2.57k forks source link

[MU4 Issue] Insufficient control over portamento playback for glissandi #13160

Open wizofaus opened 1 year ago

wizofaus commented 1 year ago

Describe the bug In vocal and unfretted string music in particular, glissandi playback should a) be portamento by default b) allow fine-tuning of when the portamento starts

To Reproduce Steps to reproduce the behavior:

  1. Create a new score using singing voices or unfretted string instruments
  2. Add two notes
  3. Add a glissando between them
  4. Play it back: doesn't sound like any glissando I'd ever hear a singer or orchestral string player use
  5. Change the playback mode to "portamento" and play it back again. While not incorrect, it sounds unmusical due to there being no time allowed to establish the pitch of the first note.
  6. Adjust the start position of the glissando so it appears half-way through the note. Playback is unchanged.
  7. Look for some other way to control glissando playback...can't find any!

Expected behavior For appropriate instruments (human voices, unfretted strings, trombone etc.) the default glissando mode should be portamento. Either the default portamento playback should allow some "delay" to establish the pitch before starting the portamento, or have an option to control it (as there are cases no such delay is intended by the composer).

Screenshots If applicable, add screenshots to help explain your problem.

Platform information

Additional context Using a tie doesn't help either, as glissandi/portamenti don't play starting from tied notes. NB for "piano" the default playback for glissandi is still "chromatic" despite it being impossible to play a chromatic glissando on any piano I've ever seen. And there's a limit to how slowly a glissando can feasibly be played which MuseScore doesn't seem to worry about.

MarcSabatella commented 1 year ago

I'm not a huge fan of the idea of having different defaults for the same palette marking depending on what the instrument is - introduces lots of dependencies into the code that don't need to be there. Maybe better to simply have a chromatic and a portamento element right there in the palette.

As for the ability to control the length of time the original pitch is held before bending, there are some very important controls present in MU3 but missing in MU4, presumably because it would have been some work to reproduce:

image

The graphical representation is nice, but if it's hard to implement, at least the spin boxes for ease in/out would be sufficient.

wizofaus commented 1 year ago

I'm not a huge fan of the idea of having different defaults for the same palette marking depending on what the instrument is - introduces lots of dependencies into the code that don't need to be there.

What dependencies? It's literally just a property of an instrument "default glissando playback style". I don't see it any differently to the fact that different instruments use different sound fonts.

MarcSabatella commented 1 year ago

Sure, if we go through instruments.xml and add those tags to all instruments. I was thinking in terms of doing it via code, somehow keying off existing properties. It's an idea worth discussing elsewhere, as it could also be used for some other attributes like default dynamics placement (below/above) etc - the sort of thing that needs to be thought through and designed with a bigger picture in mind. So far, MuseScore doesn't really do anything like this, though.