In a recent case, a user sent me a MIDI file that had 4 to 5ms
duration percussion notes. A lot of this is snare notes. I tested it
with your GeneralUser GS and most of the percussion track is missing,
because of the short duration notes. We've had this complaint a lot.
I know that just having FluidSynth ignore note-offs for channel 10
(#9) is of course not the answer, because a lot of people, me
included, aren't even using GM/GS banks. I was suggesting that there
is a GM/GS mode, which has this behavior, but only gets turned on if
the appropriate SYSEX message is received, or the user overrides it.
Of note is that the MIDI file that I received, does have GS reset
SYSEX commands embedded in it.
From what I can tell though, there are MIDI files and MIDI equipment
(drum pads) which expect percussion instruments to be one shot and not
respond to note-offs. We need to handle this somehow, if FluidSynth
is going to faithfully playback these MIDI files.
Josh
Quoting "S. Christian Collins" <s.chriscoll...@gmail.com>:
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
j...@resonance.org 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
fluid-dev@nongnu.org
http://lists.nongnu.org/mailman/listinfo/fluid-dev
_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
http://lists.nongnu.org/mailman/listinfo/fluid-dev