Request direct way to change playback effect of articulations
Reported version
3.0
Priority
P1 - High
Type
Functional
Frequency
Many
Severity
S5 - Suggestion
Reproducibility
Always
Status
active
Regression
No
Workaround
Yes
Project
- Select a note and add an ornament to it by double clicking in the "ornaments" palette.
- With the ornament selected, change the "time stretch" value in the inspector. For example, increase it from 0.1 (the default) to 0.2.
- Deselect the ornament then reselect it again. The value in the inspector has gone back to 0.1.
I can't find any way to change the value and make it stick.
MuseScore 3.0.0.20137 running on macOS.
Comments
That time stretch value is meaningfull only for very few ornaments/articulations, like the fermatas, and apparently can only get set for those.
Guess we'd better not show that setting for those articulations where it isn't honored.
Even better would be to make it actually use the value. It would be nice to be able to set the speed of turns, trills, etc.
The time stretch doesn't affect the speed of turns and so forth. It only affects the overall length of the note and is really only useful for fermatas. I suggested a method to define playback ornaments for the 2019 Google summer of code at https://musescore.org/en/handbook/developers-handbook/google-summer-cod….
This also affects some ornaments for which it does make sense to adjust the speed, such as tenutos.
For tenuto a certain stretch is built in, and possibly different per instrument. same for staccatissmo, staccato, portato, marcato and sforzato. For fine tuning these use the piano roll editor
Tenuto doesn't have any time stretch (i.e. the tempo does not change). It does remove the gatetime, which means the note is held for its full duration rather than being cut off slightly before, but tenutos are often used to indicate that a note should be held for longer than its full duration (i.e. the tempo should slow down like for a fermata). This is not something that can be controlled via the piano roll editor.
OK
My sense is that that it was indeed never intended that stretch would apply for anything but fermatas, and this may have actually been part of the reason fermatas were pulled out of the Articulation class and made first class elements of their own - to avoid people accidentally setitng stretch on anything but a fermata. See for instance the discussion in #232056: Time Stretch with Multiple Voices, and the confusion users are having in support forum threads like https://musescore.org/en/node/205601
No doubt this change simplified some other things and probably fixed a number of fermata-related bugs along the way, but if it's common to rely on them to act as mini-fermatas (a usage I was unfamiliar with until recently), then it would be good to revisit this. Unfortunately, I fear it may not be trivial, which is why it's important to really good a handle on how common this usage and expectation is. I still kind of suspect at least some reports where people are asking about this are cases where people are confused and think this is going to just make an ordinary legato and not are not realizing this would actually convert the tenuto into a fermata.
For the record, adding invisible fermatas are the workaround for playback purposes.
Since it's a hot topic of late, I'm raising priority.
I'm much more interested in ornaments like turns and trills. Being able to control the playback speed for those would be great. This would not affect how long the note lasts, just how it is played. This is similar to the (really useful!) feature that was added in 3.0 to change the playback speed of arpeggios.
@peastman, time stretch already has an accepted meaning of temporarily slowing down (or speeding up) the tempo for all instruments, so it is not appropriate to use it for other things like trill speed or legato/staccato of a single note or chord. There are other issues for those things, which you can find by searching. This issue is purely concerned with whether fermata-style time stretch should apply to elements other than fermatas.
I don't much care what the option is called. I'm just saying it would be a useful feature. Note, however, that the existing option for arpeggios is in fact called "stretch", so that word is already being used to mean two different things.
Indeed, it means many things, but context is everything.
Came up again in #299487: Can't modify Time-stretch value of articulations
The Articulation and Ornamentation Control plugin probably provides the requested functionality, although I have not tried it myself. I believe Jojo was absolutely right when he said that the time stretch setting should be removed from the articulation/ornament inspector.
See https://github.com/musescore/MuseScore/pull/5598.
In reply to See https://github.com… by Howard-C
TIME STRETCH: You see? You got me in trouble! Now they're gonna get rid of me!
TRILL: I'm sorry! I didn't mean to do it!
TIME STRETCH: You little snitch, I'll get you for this!
TENUTO: You leave him alone, he's just a child!
TIME STRETCH: Shut up, you're next!
LONG FERMATA: Let me tell you somethin' boy. You want a piece of them you gotta go through me first. C'mon, big mouth! Come git you some!
TIME STRETCH: Uh, I don't want no trouble, country bumpkin....
HAIRPIN: What did you call me?
(and so on and so forth until the entire program decompiles)
In reply to TIME STRETCH: You see? You… by [DELETED] 29378932
Hold it right there, Fermata.
In reply to Hold it right there, Fermata. by [DELETED] 1831606
LONG FERMATA: Well if it ain't a cop when you need one. There's the one you want, officer.
TIME STRETCH: I didn't do nothin', see? I'm innocent!
BSG: All right you, both hands behind your back. Clancy...get the cuffs.
CLANCY: Um, we're inside a bunch of musical notes. Am I drunk?
BSG: Of course you're drunk. Now hurry up with those cuffs already! He's getting away!
REPEAT SIGN: I'll trip him up. He won't go far.
TIME STRETCH: Foiled again! I'm back to where I started....
TRILL: Works every time!
PR is still in progress and won't be merged for a while. Also see the discussion at https://musescore.org/en/node/299630.
In reply to that time strech value is… by Jojo-Schmitz
Does it work for staccatos? I want weaker staccatos that make the note go for slightly longer.
You can use the piano roll editor for that
In reply to You can use the piano roll… by Jojo-Schmitz
Check out the articulation plugin. https://musescore.org/en/project/articulation-and-ornamentation-control Once you learn it, it is considerably easier than the Piano Roll Editor.
Why is this a regression? We've never supported this. If the "regression" is against 2.x, the behaviour then wasn't what we expect in this thread, which is about the time stretch for a single chord, not a whole segment.
Ask @Marc Sabatella why he marked it as such
This is indeed a regression compared to 2.x behaviour. Developers have only ever used the phrase "time stretch" to mean a temporary change in tempo (i.e. something that affects an entire segment). Users have seen the time stretch box (which currently does nothing) and wished that it does whatever they currently want it to do, but it would be a mistake to use the same label for something other than a tempo change. (Perhaps it should be relabelled "tempo stretch" everywhere, including for fermatas?)
It never did what most users probably assumed it should do, but it did something, and now does nothing. So technically a regression, although not a distinction that really matters. I would personally rather not see it go back to doing the wrong thing as it did in 2.x. I’d rather see it implemented in a way where it does what people expect - and be renamed in the process.
And if that option is removed, this problem will be considered resolved as well?
Potentially, yes, assuming MuseScore 4 provides a way to actually do what the user has wanted from the beginning. The Piano Roll Editor and @BSG's plugins are the way to go now - well, those or a custom instruments.xml I guess if you don't need control over individual notes. So as a "Suggestion" for an easier way to control note playback durations, I'd still leave this open until something is actually implemented.