Crescendo/diminuendo hairpins not affecting repeated midi notes generated using tremolo

• Aug 9, 2018 - 17:29
Reported version
S5 - Suggestion

Crescendo/diminuendo hairpins are not affecting the velocity of repeated midi notes created using the tremolo tool. Since the tremolo tool cuts one midi note in smaller pieces or repeated notes, a kind of quantisation, the sub-notes velocities should be already being affected by a crescendo or decrescendo hairpin as if the notes were separately written.

If I fill a 4/4 beat with 16 16th notes, I get the same result as if I filled this beat with one whole note and assign a 16th tremolo pair of slashes onto it. But a crescendo/diminuendo only works in the first case, where the notes are written separately. Observe that this is a very different request than the so requested "single note crescendo/diminuendo", which is also very important, but requires a new work (that by the way should be nearly done, according to some posts in the forum). I suppose this one is just a small but useful change in the code, since the tremolo already works like sequenced notes.


Severity S4 - Minor S5 - Suggestion
Status (old) needs info active
Status needs info active

This too is a feature that we do not support yet, so I am marking this "feature request".

FYI, in general, feature request and bug report all we normally use in the issue tracker, and normal / active are the proper default priority and status (major & critical are for crashes and the like, "needs info" means we developers need info form the person who submitted the issue). Anyhow you are right, it would indeed be much easier than supporting it on a single note.

This is indeed an easier to implement for tremolos as implemented currently in MuseScore than the hairpins on a single note request. However, I some instruments (strings, some MDL percussion) uses special samples to play tremolos. I seem to remember that there is a pending / already implemented request to make the notation for a tremolo (beams through the stem) change sounds.

If I remember correctly, this was requested as a fix for the current behaviour of MS of repeating the normal sample very quickly to play a "drumroll" (which sounds awful). If I remember correctly, this would cause tremolos to become one MIDI note event again and any programming effort going into this would be wasted.

On the other hand, the channel changing fix would only make sense for some instruments. (Piano, for example, tremolos perfectly fine by repeating notes.) So, I can't remember exactly, but just check that you are not wasting your time fixing this if some radical change in how the code works between now and 3.0 will make your fix useless ;-)

In reply to by Marc Sabatella

Marc Sabatella: Thanks for considering it and for the tips about posting here, I didn't know much about these categories. And what would be a "task"? I interpreted it like being some small review in the code and a "feature request" like some brand new feature. And I chose "major" as priority because I thought it could be a simple change resulting in a great improvement, but if those levels are reserved for bugs and crashes, I understand it.

In reply to by Louis Cloete

Louis Cloete: yes, a possibility of using tracks for tremolos could definitely improve playback in some cases. So it could be an option. But I am definitely convinced that this is not the way to treat tremolos, but rather a workaround, a bit of faking. Repeating notes sounds awful only because the soundfont is repeating the same sample. If you use different samples for the same note (short staccato samples, for example) with a random selection (it is already possible to do it on Zerberus), you get a realistic result. And if you use other random features of the SFZ format not yet implemented on Zerberus, like random delay, random pitch, random velocity etc. you can get very realistic results, which are in many cases much better and versatile than using a different track, especially for slower tremolos. You would basically never get exactly the same tremolo again, so if you are repeating the tremolo (like the violins in Sibelius' 1st symphony 1st movement), it would sound much more natural than using a track with sampled tremolo.

So the option of repeating notes like currently implemented should definitely stay there. But yes, there are indeed some cases in which a track change would be unavoidable to get a good result. If you hit a still timpani head and if you hit a timpani head that is already vibrating, these hits sound slightly different because of the physical initial conditions leading to the vibration, so a note within a tremolo is in fact different sounding than a note standing alone.

There is much to discuss about it and I could write 3 pages on this subject discussing when it is better to use what and how.

My conclusion: for tremolos playback we should have the option of repeating notes only, changing tracks and use a single note or repeating notes and changing tracks. It is already possible to do all this indirectly, but giving these options in the tremolo tool would be the best. Anyway solving this about velocities of repeated notes is not time wasting at all, since this option has to stay there.

In reply to by Ludwig van Benteuer

@Ludwig van Benteuer Yes, channel switching isn't going to work best in all cases, but at least for strings, repeating samples will be wrong. Tremolo in strings is a technique moving the bow quickly to and fro, and as such recording separate samples of string players playing tremolo will be the best way to achieve realistic playback.