Quoting jimmy <[email protected]>:
I'm a little bit perplexed in regards to the tuning
routines though.
It seems that it allows for arbitrary per MIDI note
tuning
modifications, using floating point values in cents.
Tunings are
added by instrument bank and program #s. What is
strange, is that it
seems these tunings only take effect when
fluid_synth_select_tuning()
is called, to activate an existing tuning on a given bank
and program.
What is strange, is that this is never called in the
FluidSynth code
base, meaning that tunings will only be active if an
external
application activates them, which seems to defeat the
purpose of
bank:program tuning assignment. It seems to me like a
tuning should
be automatically used when a bank/program change occurs, if
there is
an assigned tuning for the given bank/program. The
tuning
infrastructure should probably also be integrated with MIDI
tuning
standards, for assigning tunings via MIDI. It seems
like the tuning
system is currently not entirely complete. Any
opinions on this?
I'm not at all familiar with Fluidsynth tuning usage, nor the code.
I only know that with MIDI controller(s) often allow hardware knobs,
sliders, or pitch-bend wheel to manipulate a note's pitch. It
allows one to play a note, turn the pitch-wheel, and the note pitch
can be raised, or lowered to a different note range. The pitch
wheel are often used to bend a note like slider guitarist would move
the slider after a string has been struck. More often, I have seen
keyboards that can program the pitch-wheel to bend a note up
1-semitone up/down (2-semitone range all the way to 1 full octave
up/down (2 full octaves range) for the knob/slider/wheel physical
range. The pitch wheel has springs-like hardware like a joystick to
keep it at center if not held down, the default is normally
2-semitones up and 2 semitones down for the full range of the knob.
So pushing it up all the way will change the sound by 2 semitone,
push part of the way gives a proportional pitch shift of that
2-semitone range, releasing it and the sound
revert back to the original note. Pushing down just does similar
thing for 2 semitones down by default.
Some keyboards also have modulation wheel which doesn't have spring
loaded. It allows sound modulation (note vibration) for emphasis on
some notes playing live.
So generally, live playing needs some real-time sound synthesis for
some individual notes.
Of course, for people who work with soundfont, or some particular
instrument range and want to try to tweek and listen to to all the
samples with such adjustments, then the per bank/program selection
might be the way to go for them.
Jimmy
Hello Jimmy,
FluidSynth already implements MIDI pitch bend, bend range and
modulation (probably from the very first version). The tuning system
that I'm describing isn't related to that. But instead allows for you
to change the tuning of the note scale. So you could use some other
tuning scale besides the traditional 12 note equal temperament
diatonic scale. The MIDI standard in particular that I'm referring
to, is the MIDI Tuning Standard:
http://en.wikipedia.org/wiki/MIDI_Tuning_Standard
I don't believe this is currently implemented in FluidSynth and is
what I'm proposing is merged into the existing tuning system. Hope
that clarifies things.
Regards,
Josh
_______________________________________________
fluid-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/fluid-dev