[sdiy] Imitating CEMs with PICs

Seb Francis seb at burnit.co.uk
Mon Oct 2 12:47:15 CEST 2006


Hi Tom,

This sounds really great what you've done, especially with an old 16F 
PIC.  I firmly believe there's an important place for digital in an 
analog synthesiser, particularly for the slow stuff like LFOs, 
Envelopes, etc.  In many cases (as you've done) you can get much more 
functionality with much less components, and without compromising the sound.

If I were you I would also consider using a more modern uProc like the 
dsPIC.  Apart from the fact that the different assembly language and 
architecture make it much easier to program, you've got loads more power 
there to explore even more possibilities, and the A/D inputs are faster 
and better resolution.  It's even fast enough to do audio rate stuff and 
some dsPICs have built in CODEC interface for connection to hi-quality 
audio I/O.

Good luck with your monosynth!  I hope you can put up the details on a 
website somewhere when you're done.

Cheers,
Seb

P.S. Something I did with dsPICs ..
http://burnit.co.uk/sdiy/index.php?page=4xd




Tom Wiltshire wrote:
>
> Hello all,
>
> I'm new to the list, but I hope you don't mind if I explain what I've 
> been up to.
>
> My initial impetus came from reading about PIC microprocessors, and 
> thinking that I might be able to simulate the functionality of other 
> ICs using them. Specifically, it occured to me to try and 
> imitate/simulate/copy the unobtainable (or at least extremely 
> expensive) SSM and CEM synth chips that I wanted but can't get.
>
> Towards this end, I've developed a PIC 16F684-based LFO which offers 8 
> waveforms including noise, and provides a sample-and-hold that samples 
> the selected waveform. All the waves are generated by the 
> microprocessor, and output via a 10-bit PWM module on the chip. 
> Passing the PWM output through a simple lowpass filter gives a good 
> analogue output. The nice part is that the PIC also includes analogue 
> inputs which I use as 0-5V control voltage inputs. These are passed to 
> an 8-bit D/A on the chip so the microprocessor can deal with it. In 
> practice, the chip behaves pretty much like an analogue IC - you give 
> it voltages, it gives you an LFO output. Circuit diagram available on 
> request - how does the list feel about attachments for things like that?
>
> I started off with an LFO because (A) the frequencies are low and 
> means the sampling frequency can be low too, giving you more clock 
> cycles to play with, and (B) because there is already loads of stuff 
> on the web about generating sine waves with a PIC which I could use to 
> get me started.
>
> I followed this up by working on a voltage-controlled envelope 
> generator along similar lines. The circuit is more-or-less identical 
> to the LFO, except with more inputs to spare pins on the PIC. It uses 
> many analogue inputs on the chip to provide voltage-controlled A, D, S 
> and R, but also output level (like the CEM 3310) and a general time 
> input which shortens the entire envelope (like the SSM 2056). Finally, 
> because of the design of the firmware, I was able to add an input 
> which switches between an exponential or linear response. Again, the 
> PWM output needs to be followed by a simple op-amp lowpass filter, but 
> it is considerably simpler and more compact than a discrete design for 
> what it is able to do. The only people I've managed to find doing 
> something similar are Encore Electronics 
> (http://www.encoreelectronics.com/cont_ueg1.html), although maybe they 
> used a more serious processor than the £1.42 PIC that I had available. 
> The price of the finished module certainly suggests so! It is quite 
> possible that they didn't, however. As the envelope generator only 
> deals with a single stage at once (it is EITHER attacking OR decaying 
> or whatever, never both at once) adding more stages doesn't actually 
> increase the load on the processor significantly.
>
> I'm hoping to put these parts together with an old SSM2047 VCF/VCA 
> that I've had hanging around for years (now THAT I can't simulate 
> using a PIC...) and build a (mainly) analogue programmable monosynth. 
> Working out how to do the modulation matrix (or alternative 
> arrangement) is proving difficult though.
>
> Hope this is of interest - any comments appreciated!
>
> Tom
>
>
> ++++ Electric Druid ++++
> Web Design & Development
> http://www.electricdruid.net
>
>
>
>




More information about the Synth-diy mailing list