[OSC_dev] OSC replacement for MIDI
Jeff Glatt
jgglatt at roadrunner.com
Mon Feb 2 10:10:32 PST 2009
>Many synth architectures allow oscillators at different tunings to be
>mixed.
Nevertheless, _every_ oscillator _must_ be running at a particular
frequency (or period -- same thing really) at any given moment. An
oscillator can't make sound otherwise.
> I vector-mix waveforms tuned in fifths and octaves.
And what do you think the hardware is doing when you twiddle those
"tuning knobs" while you're holding down a middle C key? It's adjusting
the oscillator's "base frequency" relative to 261.63 Hz.
So if you tune one oscillator to sound at 261.63 Hz while you're pressing
a middle C key, then what you're telling the hardware is "this oscillator's
base frequency is 261.63 Hz". So when it receives a MIDI note number 60
(which implies 261.63 Hz) then the synth knows to play the oscillator at
261.63 Hz.
If you tune a second oscillator to sound at 292 Hz while you're pressing
a middle C key, then what you're telling the hardware is "this oscillator's
base frequency is 392 Hz". So when it receives a MIDI note number 60,
the synth knows to play the oscillator at 392 Hz.
> And then to detune via chorus.
That's a DSP effect added after the fact. It has nothing to do with
the oscillator's tuning.
> Which bit of that is at 261.63 Hz?
All of it... if it receives a MIDI note number of 60 (or an OSC Synth
message with a frequency of 261.63 Hz).
> I maintain that MIDI is about pressing keys, not about
> creating frequencies.
Well, it may be all about "pressing keys" to you because you're not
building the oscillators, or circuitry feeding the DAC. You're just
twiddling a tuning knob, and then pressing a key on a MIDI controller
(which spits out note numbers assumed to be mapped to a 12 tone,
equal-tempered western scale).
But that's not what it's _really_ all about.
> If you want to control frequencies via a protocol, then that's a
> realtime synthesis system, not a keyboard+wheels+pedals
> performance system.
But a MIDI synth _is_ a realtime synthesis system. It gets a MIDI
note number and immediately (ie, in real-time) translates it into an
oscillator sounding at a particular frequency/period, or digital audio
sample points being fed to a DAC at a particular frequency/period.
I just don't understand why everyone is having trouble understanding
this. What am I missing?
(Ok, I get the confusion over digital audio waveforms of unpitched
instruments. I've been working with samplers and drum boxes so long
that I just assumed everyone knew that, for the purposes of controlling
numerous unpitched waveforms remotely, it's necessary to arbitrarily map
each waveform to some "root pitch", ie, reference frequency. I assumed
everyone was familiar with the fact that all musical products do this,
and that the standard we follow for a "drum kit mapping" is known as
"General MIDI").
More information about the OSC_dev
mailing list