iiwusynth-devel
[Top][All Lists]
Advanced

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

[iiwusynth-devel] Some FluidSynth notes and sustain level


From: M. Nentwig
Subject: [iiwusynth-devel] Some FluidSynth notes and sustain level
Date: Mon, 16 Dec 2002 09:33:43 +0200

Hei,

I'll make some corrections, as soon as I update something on CVS (I'm
not really that lazy, but I have to run CVS through a 9600 baud
modem...yawn...)
But here are the relevant code segments, so you could hack it yourself,
if it's useful.

2. It appears that Filter Q has no effect when Filter FC is maxed
(16khz+). This was a problem a while ago, but was fixed. Probably got
re-introduced with new Filter optimizations?

3. Filter FC optimization is a bit rough. Modulating the Filter FC
around 16khz causes audible change as Filter is turned off/on (turn off
value should probably be higher).

You're right. The guilty code is in iiwu_voice.c:

if (fres < 5) {
      fres = 5;
  } else if (fres > 16000.f) {
      /* Beyond 16k: The filter does not change the sound much.
       * Turn it off to save CPU cycles. */
      /* Fixme: When the filter has been on once for a voice, keep it on
forever. */
      dsp_use_filter_flag=0;
  }

If you comment out       dsp_use_filter_flag=0; the filter is always on.

5. Sample looping doesn't work when the loop length is < 32 samples.

Again from iiwu_voice.c, change ad lib:

/* SF2.01 section 7.10: Minimum loop size 32 samples
       * Loop too short? Then don't loop. */
      if (voice->loop_end_offset < voice->loop_start_offset+32){
          voice->gen[GEN_SAMPLEMODE].val=IIWU_UNLOOPED;
      };
    }; /* if sample mode is looped */



About the sustain: I still don't understand the behaviour: If the value
I set in the sustain level field corresponds to cB (the unit from the
sound font), then it should be 10 x less sensitive than dB. So a value
of 10 would result in 1 dB lower level (which is almost nothing).
But if Swami just maps the value from the slider linearly to the sound
font, then it's probably a fluidsynth problem. I'll look into it.

Cheers

Markus




reply via email to

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