My 2 cents: I'm pretty sure the
Creative synths don't ignore note-off, and I don't think it's
necessary, because this should be taken care of in the SoundFont
design, IMO. In the SoundFont's percussion bank, the release phase of
each sample allows the drum to be sustained even when the note is
released very quickly, and this is how GeneralUser GS and pretty much
every other GM bank behaves.
The problem with ignoring note-off events is that some percussion
instruments really need to have duration control by the keyboard, such
as the TR-808 bass drum in GeneralUser, which has a different response
whether the key is held down or not. Also, we can't guarantee that
something loaded into the percussion preset pool will use a
GM/GS-compatible key mapping.
-~Chris
address@hidden wrote:
I think the short note duration ticket should be fixed
before 1.1.0 is released (I seem to remember David suggesting this
too?). I just found a PDF file called GM Guidelines Version 2.
http://www.midi.org/techspecs/gmguide2.pdf
On page 20, there is a section on response to Note-off on Channel 10.
It specifically mentions that GM percussion instruments should ignore
note-off events. The exceptions being long Whistle and long Guiro. So
that probably answers why there are MIDI files floating out there with
very short duration percussion note events. I think this also applies
to GS.
Now the question becomes, what is the best way for FluidSynth to handle
this? It would be nice to have a MIDI mode setting, which would
respond to SYSEX messages which enable/disable GM and GS. I'm not sure
if we should try and tackle that by 1.1.0 though. I'm not sure if
every GM/GS file has the proper SYSEX messages either, although we
could let the mode be specified manually.
Perhaps something like this would be adequate:
midi.mode = raw, gm, no-off-percuss
raw: Don't do any special percussion channel handling
gm: Ignore note-offs for all but fast Whistle and Guiro on percussion
channel
no-off-percuss: Ignore all note-offs on percussion channel
Any better ideas or suggestions?
Josh
_______________________________________________
fluid-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/fluid-dev
|