Tremolo marking has incorrect effect during playback

• Oct 30, 2010 - 20:50
S4 - Minor

tremollo mark - I mean few lines below or above the whole note or crossing the half or quarter note. It could virtualy particularize the note for 8'ths, 16'ths, atc. and then send it into the synthesizer.

Good bye


The code is already written. And it works in 1.1.

HOWEVER, as i've posted in another issue, things have gone messed up in the last nighlies and the palette now only features 1 kind of tremolo. But 1 week ago it was fine. So let's see what happens to my other issue.

guifre, Could you list the revision number that the fix appears in? It is not working for me on 1.1 stable (Windows 7).

Also it would be handy to link to the bug that this is dependent on in the trunk.

Status (old) fixed active

That example has Tremolo Between Notes and those play.

However, the Through Stem in a score I have doesn't work.

FWIW, current status seems to be that while both types of tremolo do affect playback, neither type plays *correctly* - which I find worse than no effect at all.

If you put the two-stroke repetition tremolo on a note, I expect sixteenth notes regardless of the length of the note placed on. But what I get is four notes, period. So a whole note plays four quarter, a half note four eighths, etc.

If I place an alternation tremolo between two notes, I expect alternation. But what I get is a silent first note followed by the second note, played as entered. That is, if I enter two half notes and then add an alternation tremolo, which displays as two whole notes, playback is two beats of rest followed by the second note for two beats.

If you put the two-stroke repetition tremolo on a note, I expect sixteenth notes regardless of the length of the note placed on. But what I get is four notes, period. So a whole note plays four quarter, a half note four eighths, etc.

Do we agree that a single line tremolo on a eight dotted note or smaller doesn't make sense then?

Also, if the 1 line -> 8th, 2 lines -> 16th etc... if the value can't be divided the tremolo doesn't make sense?

That seems logical. However, I wouldn't be so sure that people don't use that and expect the current behavior: dividing the specified note value into that many pieces. So an eighth with one stroke through it might be taken to mean two sixteenths. Not sure if there are official rules on this.

See this, which does agree with my (limited) understanding:

Three strokes means "as fast as you can". One or two strokes means eighths or sixteenths specifically, except the convention is to use two strokes on eighths or one on sixteenths to also mean "as fast as you can". Basically, anything that appears to indicate eighths or sixteenths you play in time. Anything faster you just play as fast as you can.

The essential dictionnary of music notation, p151, also makes a difference between measured and unmeasured tremolo. Unfortunately, Unmeasured is hard to automate in the software...

So I would propose the following "measured" implementation:

1/ The number of lines indicates the basis duration of the tremolo (1 -> 8th note, 2 -> 16th etc...).
if the main note is smaller than this duration, playback will not be changed.
2/ The tremolo will last for the duration of the main note, or the duration of the two notes.

I agree with the difference between measured and unmeasured tremolo. For example, in some concert band pieces we have in our archive, the measured tremolo is often used as an abbreviation for better readability (e.g. instead of four 1/8 notes, one 1/2 note with a slash on the stem). The unmeasured tremolo is the equivalent of a trill between non-adjacent notes.
However, I would expect that when the main note is smaller than the duration (point 1/ of #18), the tremolo "adds" further beams, i.e. each tremolo slash "halves" the duration of the note, which is the current behavior in Nightly playback. For example, a single slash tremolo on a dotted 1/8 note becomes three 1/16 notes.
See for example:

[ I hope the examples in the links are more clear than my English... :-) ]

Lasconic: 8 to 10 notes a second is probably a normal speed for an unmeasured tremolo. An exception would be drum rolls which might be double that speed (I'm not a percussionist, so maybe measure yourself against a metronome for a more accurate drum roll speed). A second exception would be single-note tremolos on strings which happen to have their own sound samples in General MIDI. Also keep in mind that going faster than 10 notes a second is going to hit the limits of what is humanly possible. So if composer writes a tremolo that is faster than humanly possible (at the current tempo), a musician will understand it to mean an unmeasured tremolo and play at whatever speed they are comfortable.

Unmeasured tremolos should always line up on beat one, and often line up on each beat out of habit or to accent the beat. Here's a draft algorithm for unmeasured tremolos:

  1. beat_speed = speed of each beat based on tempo //(e.g. quarter note = 120 beats per minute)
  2. n = 2
  3. unmeasured_tremolo_speed == beat_speed / n
  4. if (unmeasured_tremolo_speed < 8*60) then n = n + 1; go back to previous step
  5. else return unmeasured_tremolo_speed

I implemented "metered" tremolo in 063be20126
Test welcome. More work is needed if we want support for unmeasure tremolos, especially with difference between instruments.

@David thanks for the algo. World record for sustained 1minute rolls with drum sticks is round 20/21 hits per second.

Thank you lasconic, I like how it works in 063be201 !
Just one bug I found while experimenting:
1- After undo of tremolo between two notes, the playback of the second note, which was part of the tremolo, is not restored.
Should I report it as a separate bug?

It is also strange the behavior of tremolo between two notes when applied to a pair of 16th notes or shorter, but in that case I don't really know if tremolo between two notes would make sense.

2- can you give a test case?
You can try with the attachment (created with MuseScore 1.3): the first measure sounds ok, but I think the second measure sounds strange.
I don't have references to how it should sound, but I would expect the tremolo to behave similarly to the single tremolo case, i.e. to "add" the number of its slashes to the already present beams, so I would expect the second measure to sound as two 16th, four 32nd, eight 64th (and then the remaining ten 16th).
I have never found such an abbreviation for 16th notes, but usually only for quarter or half notes, so I am not 100% sure that it should behave as I said. It is also difficult to find references for these corner cases.

Attachment Size
tremolo2notes.mscx 7.75 KB

Was able to test this out, I like the current behavior. Works well for both repetition and alternation, both for longer notes and shorter notes. The difference between unmeasured and thirty-seconds is perhaps not worth worrying about - it's already pretty fast except at extremely slow tempos.