[youtube=http://www.youtube.com/watch?v=liRF4alsvaI]
[Drew] wrote a library for playing multichannel music on an Arduino. The project connects multiple piezo buzzers to the popular prototyping platform and handles the dirty work involved in modulating multiple buzzers at the same time. The video above starts with an explanation for the first three minutes but if you’re impatient you can jump directly to the music demonstration. The results are magnificent. We’re going to check out the code and see what we can make happen just as soon as we can round-up multiple piezos.
sounds great (tho you could run the outputs tru some resistors and mix them onto 1 speaker)
that sounds pretty sweet. :)
The multiple speakers give an interesting stereophonic effect.
It’s a shame it’s restricted to square waves though. I know for sure that at least 5 PCM channels at 16kHz are achievable on an ATMega168. Probably more with better C skills than mine.
I took a look at the code, it’s nice object-oriented code and all, but a bit heavy on RAM (each note needs to be queued before it can be played). This can easily be improved.
With a little more work this could become an awesome polyphonic synthesizer.
Code looks clean but no way would I want to program each note like that. I’ve not programmed around sound before so I’m not sure if this is a pretty typical approach, or if it’s just because it’s in prototyping stages. Doesn’t seem like it’d be too far off from interpreting more common chip tunes, very neat!
Why does his voice change into a robot occasionally?
If you think this is cool, you should really check out Linus Akesson’s hardware chiptune project (http://www.linusakesson.net/hardware/chiptune.php). It’s much more customizable (4 channels that can make use of several basic waveforms), has it’s own tracker that is fairly straight forward to use, and even has blinking lights to emphasize the bass ;) All on an Atmega8 as well, I think.
Could be cool, except it’s an Arduino clone and it requires a piezo for each polyphonic voice. It could get real cluttered real fast if you wanted to create a basic multichannel playback system.
What’s the song? It’s somehow very familiar.
(Also, the guy in the vid looks like a strung-out MaCaulay Culkin)
skip to around 3:05 on the video,
thank me later :P
I don’t think it really needs one piezo per channel. I’m pretty sure you could sum everything up with resistors and an OP-Amp. And then potentially drive some full range speakers. Piezos are nice, but I like being able to play below 500Hz lol. But yeah, really cool project.
nice work. next time show us your project, not your face.
Thanks Doug :D
It reminded me more than 20 years old 8-bit Sinclair ZX Spectrum – check out for an inspiration: 1bit(1 piezo) multi channel music
http://www.youtube.com/watch?v=FYp9HPkxZa0