Some time ago I updated the hooks into Fluidsynth for the ChucK music
programming language to support the tuning API. I wrote a sample program
which used the
FluidR3_GM.sf2 soundfont. In my test, I mapped notes to MIDI note numbers
that were not close to the frequency they represent in the standard
mapping; for instance I mapped 6968.8259 cents to MIDI note 0, and this
seemed to work fine.

Much later, I tried using these same Fluidsynth calls via ChucK with a
different soundfont (Nice-Keys-Ultimate-V2.3.sf2 which is freely available
from https://sites.google.com/site/soundfonts4u/) and I had a very
different experience: the sound I got out depended on which note I was
mapping it to.

When I mapped 6000 cents to note 0, I got no sound at all.
When I mapped 6000 cents to note 20, I got a really thin-sounding piano
middle C note.
When I mapped 6000 cents to note 60, I got a normal-sounding piano middle C
note.
When I mapped 6000 cents to note 90, I got a rich bell-like middle C note.

My hypothesis is that when fluidsynth maps samples to midi note numbers
when tuning, it uses samples near the note number being mapped to, perhaps
altering the frequency a lot, to get to the desired tuning. I would have
instead expected that samples near the desired tuning were used to generate
the note, chosen so as to only have to alter the frequency a minimal
amount, and that is triggered by the arbitrary MIDI note number it's mapped
to (which should play no role in the choice of samples).

Is my understanding correct? Is there something I can do to get the
behavior I expected?

Forrest
_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fluid-dev

Reply via email to