-
Notifications
You must be signed in to change notification settings - Fork 313
Description
I find the new drum note cutting behavior problematic for a few reasons:
Reason no. 1
The note cutoff prevents natural sound overlap with cymbal playing and many sound effects.
Here is a zip file containing two recordings and a MIDI file. The FluidSynth recording uses GeneralUser GS 2.0.1 as the General MIDI bank, since it has all of the drum kits duplicated as melodic presets on bank 120. This allows for a direct comparison between the melodic preset and percussive preset behavior using the same samples.
In the FluidSynth recording, you will hear the following musical examples, in order, played using the Standard 1 drum kit:
- Ride cymbal playing a jazzy pattern on channel 10.
- Ride cymbal playing a jazzy pattern on channel 1.
- Cymbal roll crescendo on channel 10.
- Cymbal roll crescendo on channel 1.
In the Roland SC-8820 recording, you will only hear examples 1 and 3 above.
The FluidSynth channel 10 tests result in a very unnatural cutting off of the previous sound. The channel 1 tests behave much more like real cymbals.
The Roland SC-8820 matches FluidSynth's old behavior, and the current channel 1 behavior.
This also has a major effect on the sound effects kit. With the old behavior, it was possible to have the seashore waves overlap by repeating the same note when you wanted a new wave. Now, the new wave abruptly cuts off the previous one. Same with the thunder. One can find many other types of sounds in percussion kits that are negatively affected by this change, such as the belltree or orchestra kit timpani. This is not to mention sounds in non-GM percussion kits that can now no longer overlap.
Reason no. 2
The vast majority of other MIDI devices do not self-mute re-struck notes in the percussion kit. None of the digital keyboards I've ever played do this, nor any virtual instruments with a GM-style drum kit. The Roland Sound Canvas devices don't do this (at least as emulated by the Roland SOUND Canvas VA VSTi—see the the Roland SC-8820 recording included in the above linked zip file), and no hardware or software SoundFont synth to my knowledge has ever defaulted to this behavior. The fact that Microsoft's terrible GM synth self-mutes should not be used as a model for anything.
The only exception I have found is that select GM percussion sounds are supposed to self-mute, such as hi-hats, surdos, record scratches and triangle (off the top of my head). However, that is handled per-preset and brings me to...
Reason no. 3
There is already a way to make percussion sounds self-mute built into the SoundFont standard. "Exclusive class" exists for this very purpose, and this is how GeneralUser GS makes the aforementioned GM sounds self-mute. I believe self-muting of percussion sounds should be left up to the SoundFont designer as it always has been.
I regret not finding out about this change earlier to share my thoughts and experience. At the very least, this new muting behavior should be an opt-in feature. There is nothing in the SoundFont spec—nor the long history of hardware and software SoundFont implementations—that supports this change as default behavior.