[sdiy] super cheap synthisizers

Paul Maddox Paul.Maddox at Wavesynth.com
Tue Jun 11 23:46:09 CEST 2002


> No the AVR won't do.
> I think a timer speed of 4Mhz is about the minimum for good results.
> Even at 16 Mhz, a 1 Mhz timer interrupt means there are
> only 16 clock cycles between two interrupts.
> Because we need some jumps and jumps take more time,
> in practice this translates to about 10 instructions.
> This is barely enough for jumping to the interrupt handler and updating
> and evaluating two 16 bit "soft timers" and setting the output bit.
> Let alone evaluating midi or do a envelope or two.

The Monowave uses TWO 90s1200's running at 12Mhz, 24Bit Phase accumulator
gives me 1Mhz as my maximum output frequency with WAY more than enough

For me I wouldn't try and do the whole thing on ONE chip...
Id use one for the oscillators (the new 16MIP AVRs would do two 16Bit
Phase-acc oscillators) and another for control of thing (midi, EGs and such)

> Because with the timer method a DCO takes very little processor time
> there is plenty left for; midi handling, LFO, envelopes and other fun.


> Maybe adding a external timer IC like the 8254 is a solution.
> That would be 3 independent 16bit counters, enough for 3 DCOs
> leaving an other 3 timers inside the AVR free for generating CVs.
> But this is no longer a "single" IC solution.

yep, this is the way Id prefer to go..
use a seperate 'oscillator' module...
It keeps things simple when it comes to programming :-)

> Its just a personal taste, but IMO running a interrupt at a normal
> sample rate and do phase accumulation with DAC output as
> someone proposed  is out of the question.

I wouldn't use interupts to do the phase acc anyway to be honest, and like I
said I wouldnt do it all on one chip, the code would need to be sooo tight,
even ona much faster CPU, it would be insane!

> The goal is analogue oscillators with digital timing correction.
> Although a 16 Mhz AVR could do 4 or maybe more phase
> accumulation oscillators. I think in this kind of setup it would make
> more sense to use a cheap DSP and go all digital.

Use an FPGA :-)
Im working on such a thing, so far I have 64 oscillators (16 voices, 4 per
voice) with sync and each being 32Bit phase accumulator registers, I can get
a max audio rate (assuming 256byte waveform) of about 10Khz, way more than
you'll ever need musically.. Im working on adding some extra bits to it,
currently fighting with adding FM and ring mod.

"I've seen the light at the end of the tunnel, And its blue!'

Wavesynth home page;-
Modulus synthesizers home page;-
PPG Synthesizer pages;-

More information about the Synth-diy mailing list