27 Apr '15, 8am

Slick Six-Voice Synth for AVRs

Slick Six-Voice Synth for AVRs

He started off making an AVR synthesized guitar, but [Erix] ended up with much more: a complete six-voice AVR wavetable synthesis song machine that’ll run on an ATMega328 — for instance, on an Arduino Uno. If you’re an AVR coder, or interested in direct-digital synthesis or PWM audio output, you should have a look at his code (zip file ). If you’d just like to use the chip to make some tunes, have a gander at the video below the break. It’s pretty sweet to get six channels of 31.25 kHz sampled 8-bit audio running on a 16MHz chip. The code underlying it works through some tricky optimization in the sample update routine (UpdateVoiceSample() in play.c if you’re reading along) and by carefully prioritizing the time critical elements. For instance, the pitch is updated once every two PWM samples, I/O and other auxiliary player tasks every eights samples, and the sound’s dynami...

Full article: http://hackaday.com/2015/04/27/slick-six-voice-synth-for-...

Tweets