[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