Bug or bad planning (reverb playback)

• Jan 2, 2014 - 15:11

I use MuseScore on lots of different Windows machines. I remember I've heard this annoying thing since I started using MuseScore (0.9 something). The annoying thing is that if you have some reverb set (it's named "Eko" in the Swedish version, but to me it sounds like a reverb) and click on notes in your score, you hear the notes played. But the playback sound cuts immediately after the full length of the note, leaving the reverb tail unplayed. It kind of snaps, because the sound is cut without a fade in the middle of a playing sound. And when I click at the next note, the playback sound plays the reverb tail of the previous sound together with the new sound! Again, with a snap.

Here's a wav file of how it sounds.

The sample consists of crotchets and crotchet rests. At the rest you hear that the reverb tail is paused and it continues when the next note is played. This sound file is a wav export from MuseScore, but it sounds exactly the same when I do a playback in MuseScore. And as I described, it sounds the same when I click at note heads in my score.

The desired behaviour would of course be that the playback wouldn't be paused immediately after the note stops sounding according to its length. I found out a work-around for this. I can add a dummy stave and fill it with notes. In the mixer I turn the volume all the way down for the dummy stave. This will keep the playback going through the rests and the reverb tail will play just nicely. But if I mute the dummy track with the check box, the playback will again pause at every possible rest, leaving the reverb tail to the beginning of the next sounding note.


Comments

In reply to by Jojo-Schmitz

I have MuseScore 1.3, rev. 5702, Windows 7.

Seems I can change soundfont on the fly, but the reverb will inactivate totally, if I don't restart MuseScore. Takes a bit longer to test therefore. I shall return with a full list of which soundfonts work and which don't. So far I've noticed that Sonatina_Symphonic_Orchestra.sf2 plays a nice reverb over the rests, but at the end it pauses abruptly after the note, not after the reverb tail. And the reverb tail is there, when I play it again. And clicking on notes will abruptly pause the sound before the reverb tail has played through, leaving the tail to the next click.

Here's another sample, this time an mp3. You will hear Sonatina_Symphonic_Orchestra.sf2 playing, first how it sounds when I click play, then how it sounds when I click individual notes. When the play is done, you notice how it pauses before the reverb tail. I have an extreme reverb just to exaggerate the problem in concern.

The font I had first was either FluidR3 GM.SF2 or TimGM6mb.sf2, can't remember. But it couldn't play the rests without pausing the sound. Is this really a matter of how the sound fonts are constructed and has nothing to do with how MuseScore is coded? Would sound strange, but on the other hand, different soundfonts seem to behave differently on this matter.

In reply to by jotti

I just tested generaluser gs 1.4.sf2. Same thing. Seems it has little to do with which soundfont I'm using. Somehow Sonatina_Symphonic_Orchestra plays a longer part of the reverb tail after the note ends, but even that font produces a snap sound, if the reverb is set long enough.
I guess the following is happening here. There are note on events and note off events, when a playback of a score is happening. Some kind of an audio stream is created. Any time when there's an active note on, the stream is continuous. Notes start and notes end. When a note off happens and there are no other notes on, the audio stream pauses. The reason for this I don't know. Maybe the coder wanted to save CPU time. But in the audio stream there was a reverb tail left. There is no event in the audio stream itself that could trigger the pause, like a note off event does.
Instead of letting a note off event pause the audio stream, the content of the audio stream itself should be monitored, at least after the last note off event has happened. Not until the stream contains zeros the stream should be paused.

It is a bug in the 1.2 sound gating :( Highly annoying at times!

Be assured that this has been fixed in the upcoming MuseScore 2.

In fact there are many improvements in sound handling.

If you want to try out an unstable nightly build of MuseScore 2 you will find it on the Downloads page - scroll right to the bottom of the page to find the link.

I'm using MuseScore 1.3 on WindowsXP sp3, with a Soundblaster Audigy card as part of the hardware.

I have attached two files:
Upon playing 'Sound gating.mscz', I hear 'Sound gating.mid' using TimGM6mb.sf2.
(If the '.mid' file does not open in your player, save the file and change the file extension to '.wav')
Playback is not choppy like yours.

However:
I do get those 'reverb tails' when I click on the individual notes in the score, most noticeably when the preceding note differs from the current note.
It sounds as if a grace note is being played. The effect is not as pronounced with identical notes.
In fact, if I repeat playback, I hear the tail of the very last note from the previous play - unless I click the very first note in the score (to get rid of the tail from the very last, differently pitched, note) and start playback again.

Also, clicking on a note and instantaneously releasing gives a shorter sound than when holding the mouse button longer on each note.

(It seems behavior will be improved, as I did try a nightly)

Regards.

Attachment Size
Sound gating.mscz 1.77 KB
Sound gating.mid 1.43 MB

Do you still have an unanswered question? Please log in first to post your question.