Don't base anything on 7-bit MIDI, it's too low-fi for a modern system, plus it's keyboard-centric (i.e the concept of each note 'stuck' at a single pitch is too restrictive). Plus it's being replaced by hi-def MIDI.
My suggestions: * Use at least 32-bit floating point to represent pitch to give high accuracy. * Base pitches internally on octaves. E.g. 440Hz = 'octave 0.0', 880Hz = 'octave 1.0' etc. An octave is a fundamental unit of pitch which is not biased to any particular tuning system. Don't use plain frequency in Hertz, Hz are very un-musical because they do not scale the same way as our ear perceives pitch. * Separate the concept of 'key number' and 'pitch' (MIDI seems to confuse people on this point). A key-number is NOT pitch and vice versa. This is so you can... * Support two 'keys' playing the same pitch, this is critical for stringed instruments like guitars. * Support 'bending' pitch on each note independently. * Support the concept of re-triggering a voice that's already playing, this is important for any percussive instrument. E.g. hitting a cymbal twice in quick succession should not trigger the sound of two cymbals playing together. Best Regards, Jeff SynthEdit _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
