[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] Short note durations on percussion channel

From: David Henningsson
Subject: Re: [fluid-dev] Short note durations on percussion channel
Date: Sun, 04 Oct 2009 06:44:45 +0200
User-agent: Thunderbird (X11/20090817)

S. Christian Collins skrev:
> 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.

As I said in a comment to http://fluidsynth.resonance.org/trac/ticket/1
, the problem is that we never get through the attack phase. So I still
think delaying the note-off could be a good workaround. But Christian
could perhaps suggest a good default value for the delay?

>> 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

Assuming midi.mode (or better, synth.midi-mode) will be used to change
between gm, gs, xg etc, it does not make sense to add no-off-percuss to
that series since it might control more things (e g ignore bank
selection in GM mode).

Better to use a separate setting for this problem then, something like
synth.note-off-percuss=delay/ignore/process. And for now, hardcode
percussion channel to 10 (as already done in a few places).

// David

reply via email to

[Prev in Thread] Current Thread [Next in Thread]