Tremolo preset in FluidR3Mono has overlong envelope release phase
S5 - Suggestion
Download file attached to https://musescore.org/en/node/112486, and click on a note in the second violin part. Result: the tremolo keeps going on and on. Worse results if you actually try to play the score.
I so rarely use the tremolo channel that I forgot about this, but it's been an issue that has occasionally come up in the forum for a long time now. I kind of wonder if maybe the soundfont itself might be OK but something in our fluidsynth implementation is messed up?
After some testing I'm pretty certain that this is a bug in FluidSynth, which I think is misinterpreting the release phase of the envelope, although I'm not zabsolutely certain.
Anyway this behaviour is not present when played back from Viena or Polyphone, and there is certainly nothing untoward in the soundfont apart from the tremelo modulation stuff being done at preset level, rather than at instrument level where I would personally have placed it.
The only way to fix it in the soundfont would be to use actual tremelo samples.
It's been mentioned that MuseScore uses an outdated FluidSynth—is there any chance that this has been fixed in FluidSynth at some point?
I did have a look at their equivalent of the issue tracker, but I couldn't find anything that looked relevant to me.
They are using Sourceforge's system though which I'm not used to.
You can find it here if anyone else would like to take a look.....
Seems like it is fixed in master
EDIT: Sorry my fault - it is not fixed in upstream (there is actually no difference between these fluidsynths) but just doesn't happen with jack but with alsa. Maybe somebody else can confirm this?
EDIT2: I have a much smaller buffer in jack - that might be the solution as well!
EDIT3: Yes it is the buffer and I think I have an idea whats the problem!
EDIT4: If I set down the buffer in ALSA to lets say 128samples there is also no problem with the release.
I'm using JACK with my windows setup and I'm still getting the problem.
But I'm using the default buffer.
I don't see how to change this in QJackCtrl - is it the Frames/Period value?
Yep it is frames/period! It worked for me at 128.
So do we need to report this upstream to the FluidSynth team?
No! Upstream fluidsynth uses an internal buffer and that keeps modlfo values in a reasonable range.
I fixed this bug in MuseScore Fluidsynth. I'm currently updating the PR.
Fixed in branch master, commit 5e1baf1dfc
fix #112556 fix #113416 Sample based Volume for envelopes and modlfo
Automatically closed -- issue fixed for 2 weeks with no activity.
Fixed in 2.1, 34a8eaf