An AVR-based synth

Go To Last Post
11 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi all,

Over the past months I have been working on a digital/analog hybrid synth based on an ATMega328p (digital oscillators using various synthesis algorithms, MIDI processing and "user interface") and a CEM analog chip (VCF and VCA). This was very fun as I had no prior background with microcontrollers and more generally electronics when starting this!

The PCB design is not finalized (I had to made corrections after I received 2 days ago the proto I ordered), but the firmware is stable. People around me have expressed interest so once the PCB design is validated I will distribute 10 kits.

"Work in progress" photos:
http://flickr.com/photos/mutable...

Sound samples:
http://pichenettes.net/shru/

Firmware:
http://github.com/pichenettes/sh...

Any feedback will be appreciated!

Olivier

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Olivier, I moved your thread to the Academy section. It deserves to be there :)

Plons
moderator

A GIF is worth a thousend words   She is called Rosa, lives at Mint17.3 https://www.linuxmint.com/

Dragon broken ? http://aplomb.nl/TechStuff/Dragon/Dragon.html for how-to-fix tips

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

After listening to some of the sound-samples I got curious. And tried to read the schematic files. Neither ExpressSch nor Eagle (the latest and the previous) can read the files. What program is required ?

Cheers

Nard

A GIF is worth a thousend words   She is called Rosa, lives at Mint17.3 https://www.linuxmint.com/

Dragon broken ? http://aplomb.nl/TechStuff/Dragon/Dragon.html for how-to-fix tips

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am using Eagle 5.6 for OS X. How did you download the schematics files? I had no problem downloading and opening those files on another computer using the the "Download source" button on github (which builds an archive).

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks. It works fine with the download-button.

Are the soundsamples created by the CEM3379 ? I mean, all sounds ? Of course the AVR has a task as well, but from your schematic it looks as a pretty powerfull combo :)

Cheers

Nard

A GIF is worth a thousend words   She is called Rosa, lives at Mint17.3 https://www.linuxmint.com/

Dragon broken ? http://aplomb.nl/TechStuff/Dragon/Dragon.html for how-to-fix tips

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The AVR generates unfiltered audio signals - a sum of band-limited simple waveforms (square/saw/triangle/pulse) or something more complex (speak and spell-like vowels, 2 ops FM, wavetable sweeps) which is filtered / amplitude-modulated by the CEM3379. By itself the CEM3379 cannot generate any sound - it only "sculpts" signals with a rich spectrum in the frequency domain (VCF) and in the amplitude domain (VCA). So the AVR is doing more than parsing MIDI and sending control signals - in fact it spends most of its cycles in the waveform synthesis code.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I suggest a future direction to be getting a Yamaha FB01 or TX81z from eBay. The FB01 is about $25 and the TX81Z about $50. They are both 'black box' late 1980s microprocessor systems that take MIDI-In and drive custom Yamaha 4-op FM sound chips. The TX81Z can get much more complex sounds because it has a lot more programmable parameters on its internal sound chips. Since they're so old, their prices have stabilized. Both boxes can be resold on eBay for what was paid for them. I buy and sell two or three synths a month on eBay like this.
The CEM3379 would work well with these boxes since neither of them have real filters. They rely on programmable envelopes to change the FM modulator operator to emulate filter sweeps. Effects like delay and chorus work well with these sounds as well.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Actually, this could be achieved directly by using one of the many "FM synth on a chip" with analog output released by yamaha, like the YM2612. The YM2612 is polyphonic (6 voices), but sending 6 voices through only one filter wouldn't be nice (if there's an envelope on the filter, playing a new note would also retrigger the envelope for the previously generated note - which is what happens on the polymoog, or on the octave divider string machines/organs). Actually, I have a fork of the Shruti1 firmware which is pseudo-polyphonic (4 oscillators sent through 1 filter) but it doesn't sound good - one really needs a CEM filter per voice, with a demultiplexer+sample&hold (à la SSM2300) to control all of them from one single output.

But this would may not be as fun as writing audio synthesis code on the AVR itself :)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The current version of the main PCB looks like this:
http://dl.dropbox.com/u/612135/P...

Any experienced designer could suggest improvements? Is having ground planes for each section (power supply/digital/analog) connected by narrower traces a good idea?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have moved the project information to its own site:
http://mutable-instruments.net/

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

< Crap deleted - and locked - fellow mods: leave this as is - Plons >

Topic locked