Author |
Message |
Kookoo
Joined: Nov 20, 2005 Posts: 42 Location: Austin, TX, USA
|
Posted: Sun Mar 05, 2006 8:15 pm Post subject:
DCOs and wavetables |
|
|
I'm trying to understand the concepts of digitally controller oscillators and how they were used in older synthesizers like the Williams arcade games. Does anyone have any good pointers or references that can help me grasp exactly how a DCO works? From what I understand, the DCO just samples a wave at a variable frequency... but I don't understand how this leads to predictable variations in pitch. I mean, with a pure wave (sine, saw, etc) it makes sense to me, but with arbitrary samples I don't get it. And if it's a simple waveform you're after, why not just synthesize is mathematically instead of using a lookup table? Is it just that the older harware was too slow to calculate sin(x)? |
|
Back to top
|
|
|
jksuperstar
Joined: Aug 20, 2004 Posts: 2503 Location: Denver
Audio files: 1
G2 patch files: 18
|
Posted: Sun Mar 05, 2006 8:50 pm Post subject:
|
|
|
Sometimes wavetables (lookup tables) are used. Interpolation is the keyword when generating "arbitrary" samples that lie in-between those that exist in the table. This can be an art in itself, going from linear interpolation, to splines curves, and others.
Sometimes, the waves *are* generated mathematically, which can range from simple incremental counters (like in triangle or saw waves), to algorythmic synthesis that uses chaos theory or recursive systems (such as fractals).
Then there's the technologies like phase shift/distortion found in the old casio keyboards, that indiretly emulates FM, but using changing clocks & counters to do this.
Hope that's enough keywords to help you get started in googling the vast amounts of info out there. |
|
Back to top
|
|
|
Kookoo
Joined: Nov 20, 2005 Posts: 42 Location: Austin, TX, USA
|
Posted: Sun Mar 05, 2006 9:19 pm Post subject:
|
|
|
EDIT: It just occurred to me that this probably isn't the right forum for this since it's under composition - sorry . Feel free to move it to a how-to or something.
I came here because Google has provided a lot of technical data (like your post) but no intuitive understanding.
Maybe I should back up: What is a DCO's job? What good is it? How does it differ from an oscillator that you might find on a normal subtractive synth, and what exactly makes it "digitally controlled"? Evidently there's some number that controls an oscillator - but in what way?
Wikipedia describes it as a "an electronic system for synthesizing a range of frequencies from a fixed timebase."
Fixed timebase? As opposed to variable timebase? That doesn't make any sense to me, so I must be missing some more fundamental piece of information. What's a timebase? Does that just refer to the sampling rate (e.g. 48kHz)?
"A DCO generally consists of a digital waveform generator that increments a phase counter by a per-sample increment."
Phase counter? Doesn't that just refer to the playback position in the source wave? I.E. if I say when phase=0.0 I am at the first sample in my wave and when phase=1.0 I am at the last sample?
What's a "per-sample increment"? What else would an increment be described? How does a per-sample increment (where units are in samples) map to a phase increment (where unites are in radians)?
"This phase is then looked up in a waveform table to create a sine waveform."
Wait... why do you need to look into a waveform table to create a sine wave? And what exactly goes in the waveform table?
I'm so confused.
I need a description of *exactly* how a real DCO works. Alternately, I need to know where I can find one that will allow me to experiment with these parameters. Or maybe I just need to be redirected to some fundamental knowledge that I don't have. |
|
Back to top
|
|
|
ian-s
Joined: Apr 01, 2004 Posts: 2669 Location: Auckland, New Zealand
Audio files: 42
G2 patch files: 626
|
Posted: Sun Mar 05, 2006 10:41 pm Post subject:
|
|
|
All DCO's are not the same. Take a high frequency clock, say 1MHz and use digital logic chips to divide it by 2270 and you get 440Hz pulse output. The 1MHz clock is from a crystal oscillator (like in a digital clock) which gives this technique its stable (or boring) character. Roland Juno synths and Korg DW use this technique but in combination with analog wave shaping. This is basically what you get in your arcade sound chips. Also electric organs use this basic system.
The wave table stuff is not DCO, a wave table oscillator might use a DCO but could just as easily be clocked by a high frequency VCO.
THe PPG is probably the most notable Wavetable synth, its tables contained 1000's of calculated and recorded waveforms that could be dynamically scanned to create unique moving timbres. |
|
Back to top
|
|
|
Uncle Krunkus
Moderator
Joined: Jul 11, 2005 Posts: 4761 Location: Sydney, Australia
Audio files: 52
G2 patch files: 1
|
Posted: Mon Mar 06, 2006 12:46 am Post subject:
|
|
|
It seems like the little DAC I'm working on will be very similar (albeit very simplified) to a wave table. It is basically a Digitally Controlled Oscillator in that the digital inputs control the relative signal level over a number of time slices (or samples) the samples (in my case are sequentially outputed and then the "wave" starts again. The actual levels will be slowly changing based on 8 digital clocks (or possibly some other control signal down the track which can either be automatically or manually controlled)
I'm building it as an experimental project using discrete CMOS chips, which is complicated and fiddly, but fun. Any more complexity would neccesitate moving to larger scale integration. (which I now think is exactly what synths like the PPG are based on) _________________ What makes a space ours, is what we put there, and what we do there. |
|
Back to top
|
|
|
elektro80
Site Admin
Joined: Mar 25, 2003 Posts: 21959 Location: Norway
Audio files: 14
|
Posted: Mon Mar 06, 2006 12:59 am Post subject:
|
|
|
We should probably move this post to another subforum. Any suggestions as to where we should move it? The DIY forum? _________________ A Charity Pantomime in aid of Paranoid Schizophrenics descended into chaos yesterday when someone shouted, "He's behind you!"
MySpace
SoundCloud
Flickr |
|
Back to top
|
|
|
Uncle Krunkus
Moderator
Joined: Jul 11, 2005 Posts: 4761 Location: Sydney, Australia
Audio files: 52
G2 patch files: 1
|
Posted: Mon Mar 06, 2006 1:14 am Post subject:
|
|
|
To be a DCO does the clock have to be digital? Wouldn't it still be a DCO if clocked by a high frequency VCO and had the shape of the waveform controlled digitally? _________________ What makes a space ours, is what we put there, and what we do there. |
|
Back to top
|
|
|
ian-s
Joined: Apr 01, 2004 Posts: 2669 Location: Auckland, New Zealand
Audio files: 42
G2 patch files: 626
|
Posted: Mon Mar 06, 2006 1:42 am Post subject:
|
|
|
DCO or digitally controlled oscillator could mean a lot of things. The term was first used AFAIK, as a substitute for VCO in the late 70’s and was driven I think by a desire to make polyphonic synthesisers that were stable and inexpensive. The digital divider + saw wave shaper swapped frequency instability for small unnoticeable variations in volume. I think the Korg DW series just stuck with square waves, summing different octaves to get staircase waves as sawtooth substitutes, very organ-ish.
Multiple matching expo converters for real VCO’s cost a lot to manufacture. The Korg Polysix solved the problem by putting one expo converter before the final demux, brilliant, except it made poly glide impractical. |
|
Back to top
|
|
|
Kassen
Janitor
Joined: Jul 06, 2004 Posts: 7678 Location: The Hague, NL
G2 patch files: 3
|
Posted: Mon Mar 06, 2006 12:48 pm Post subject:
|
|
|
elektro80 wrote: | We should probably move this post to another subforum. Any suggestions as to where we should move it? The DIY forum? |
In that case; please keep a shadow because this closely relates to lo-fi techniques. _________________ Kassen |
|
Back to top
|
|
|
mosc
Site Admin
Joined: Jan 31, 2003 Posts: 18198 Location: Durham, NC
Audio files: 213
G2 patch files: 60
|
Posted: Tue Mar 07, 2006 12:49 pm Post subject:
|
|
|
g2ian wrote: | The term was first used AFAIK, as a substitute for VCO in the late 70’s and was driven I think by a desire to make polyphonic synthesisers that were stable and inexpensive. |
Yes, I think this is right. Essentially, the pitch is controlled by a binary number on the input. Thought clever uses of buffers, one digital circuit running at a very high clock frequency and an much lower sample rate can produce several voices of polyphony with relatively little hardware. Nowadays, this is done on DSPs or general purpose processors. _________________ --Howard
my music and other stuff |
|
Back to top
|
|
|
DrJustice
Joined: Sep 13, 2004 Posts: 2114 Location: Morokulien
Audio files: 4
|
Posted: Tue Mar 07, 2006 2:58 pm Post subject:
|
|
|
As others have said, a DCO may be a counter or PWM generator with analogue waveshaping of the pulses. This is how the DCOs I've seen schematics for have been implemented. If a phase accumulator is used to address a waveform memory, then I think 'wavetable oscillator' is the most commonly accepted term.
For a software implementation of a DCO you may want to look into BLITs (Band Limited Impulse Trains), which will easily allow emulation of the waveshapers (e.g. leaky integrators) with all their variations and artefacts while keeping the signal band limited.
Check the music-dsp mailing list archives for references on BLIT oscillators (and DCOs). Also have a look at the musicdsp.org site for code examples and more.
DJ
-- |
|
Back to top
|
|
|
Kookoo
Joined: Nov 20, 2005 Posts: 42 Location: Austin, TX, USA
|
Posted: Wed Mar 08, 2006 4:27 pm Post subject:
|
|
|
Awsome, thanks everybody I have a lot to learn... |
|
Back to top
|
|
|
mosc
Site Admin
Joined: Jan 31, 2003 Posts: 18198 Location: Durham, NC
Audio files: 213
G2 patch files: 60
|
Posted: Thu Mar 09, 2006 8:43 am Post subject:
|
|
|
Kookoo wrote: | I have a lot to learn... |
Me too... _________________ --Howard
my music and other stuff |
|
Back to top
|
|
|
|