fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] Re: FluidSynth tuning and more commits


From: josh
Subject: Re: [fluid-dev] Re: FluidSynth tuning and more commits
Date: Sat, 19 Sep 2009 19:21:14 -0700
User-agent: Internet Messaging Program (IMP) H3 (4.1.6)

Quoting jimmy <address@hidden>:
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





reply via email to

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