MIDI.js icon indicating copy to clipboard operation
MIDI.js copied to clipboard

Is there a soundfont that works for GM drums well?

Open lilliesAndRoses opened this issue 8 years ago • 2 comments

As per https://www.midi.org/specifications/item/gm-level-1-sound-set, on MIDI Channel 10, each MIDI Note number ("Key#") corresponds to a different drum sound. I do not see that the channel 10 is given this special treatment by MIDI.js. Also, if I just use the synth_drum soundfont (included or from Fluid-Soundfont) and load the instrument 118 on ANY channel, it does not result in the correct drum sounds as listed in the midi.org specification of MIDI notes on channel 10. Is there a working way to play the channel 10 drums using MIDI.js?

lilliesAndRoses avatar Apr 19 '17 10:04 lilliesAndRoses

Like you said, it needs special treatment of channel 10 to always use the drum sound font. The published code can't do it but it's not a big change. I don't think any of the published js format soundfonts have a proper drum font though.

hmoffatt avatar Apr 27 '17 07:04 hmoffatt

I'm a bit confused about your approach

and load the instrument 118 on ANY channel,

Instrument 118 is Melodic Tom, and should be playable on any channel other than 10. Channel 10 has just drums, and in GM1 they end at 81 Open Triangle, so note 118 on channel 10 is unspecified.

Update:

each MIDI Note number ("Key#") corresponds to a different drum sound

Yeah, the word "each" is a bit misleading there, as silence for out-of-spec notes surely isn't a "drum sound". However, a random unspecified sound might be even more violent to the ear, so I wouldn't argue about that with sound font implementers. ;-)

mk-pmb avatar Sep 25 '17 13:09 mk-pmb