[sdiy] super cheap synthisizers

Batz Goodfortune batzman at all-electric.com
Wed Jun 12 12:44:36 CEST 2002

Y-ellow all.
         Perhaps I should have chimed in earlier on this since it's the 
kind of thing I'd do. But as you'll have noticed, I've been a bit 
preoccupied lately.

I don't use AVRs but only because I haven't gotten round to them. I have a 
programmer that will do all that stuff and for this kind of thing, I'd 
certainly recommend them. There were people on the atmel list who were even 
overclocking the things to more than twice their rated speed. So confident 
were they that they were putting them in consumer products like that.

The trick is with all these small processors is to use multiples. They're 
so cheap. And being flash based means that it's largely a single chip 
solution to a great many problems.

I don't like VCOs. I just can't deal with them and my hat goes off to all 
those here who work with them in such a confident manner. True legends. But 
for me, temperature compensation and expo converters and all that stuff is 
just a pain in the ass. I dealt with that stuff when there was no other way 
but every time I did I was looking for something a lot easier.

Should I be doing something like this I'd probably plan on using 3 AVRs. 2 
of them for oscillators and one to control everything else. Including MIDI 
etc. The oscillators would be shaped outboard like korg once did it. 
Leaving the AVR to produce the raw clock and maybe stretch to PWM and even 
a little low speed FM. You just have to work within the limitations.

The outboard shaping would be fairly simple but could be controlled from 
the AVR to give you all kinds of options. If cheap is your goal then just 
don't go overboard. You only have to write the code for one oscillator. 
Even if you wanted 6. IT's free running and autonomous but perhaps sits on 
an I2C bus for control. Use the serial port in a creative way. Your code 
will also be relatively simple and of course mean and lean. Which is what 
you want so you can be as fast as possible.

The other AVR needs to do a more traditional voltage control type 
arrangement but it can be 8 bit and linear. Maxim make a number of 
multi-channel D-A type devices. That is to say, devices with on D-A but 
have sample/holds on 4 or more outputs. > generate voltage and stabilize 
--> lock into Sample/hold, -->move onto the next one... That kinda thing. 
Though they might have an even better solution these days. The point is 
that you've now got a 2 chip solution to control anything else you need to 
control and it's done fairly fast.

So Midi comes in and is read by the first AVR. You can jam an opto right up 
it's bum and it'll deal with it. Output is even easier if you wanna dump 
sysex. A pair of 220 ohm resistors. That's it. IF you don't want to do 
sysex dumps or output MIDI of any kind, you can use the serial output to 
talk to the other two AVRs. If you do need MIDI out, then you can use a 
bit-bang routine to do I2C.

IF you need to store patches then you can use a tiny little I2C E2PROM. 
Just whack it on your I2C bus and give it a number. Of course your filter 
and VCAs are up to you. How complex or how simple you want to build them. 
Roman was telling me once about a quad VCA chip by Analog Devices. The 
controls are log but that probably doesn't matter if you wanna knock 
together a little 12 db State Variable Filter like the PAIA fatman or 
something. You'd have enough VCAs to provide cutoff, Q and one left over 
for your actual output VCA.

Envelopes and LFO. all done in software. If you want some kind of front 
panel you could use a 4th AVR just to deal with that. All hanging off the 
one I2C bus but you might find there are enough spare pins and horsepower 
to do that kind of thing with the same AVR.

The beauty of this kind of deal is that you don't have to worry about 
stability. You can lose a lot of sleep over this stuff trust me. All those 
little distracting intricacies can be largely ignored and you can get on 
with the fun bit of making it sound real good. Or real cheesy. Whatever 'n' 
hell you wanna do.

Of course there's an even easier way. Use a SID chip. You only have to 
drive that. And if your output stage is half way reasonable it won't be 
TOOO noisy.

Be absolutely Icebox.

  _ __        _       ____Happiness is a warm penguin____
| "_ \      | |
| |_)/  __ _| |_ ____       ALL ELECTRIC KITCHEN
|  _ \ / _` | __|___ |  Geek music by geeks for geeks
| |_) | (_| | |_  / /
|_,__/ \__,_|\__|/ /    Bullshit --> http://all-electric.com
                 / ,__   Music -----> http://mp3.com/electrickitchen
Goodfortune    |_____|        

More information about the Synth-diy mailing list