A Music From Very Short Programs Box

Submitted by spacewrench on Sun, 2014-02-09 20:10

This weekend my friend Jacob S. and I built a Arduino based music box to play Ville-Matias Heikkilä wonderful one-line C code that makes surprisingly complex "Music From Very Short Programs."  

We used a Teensy 1.0 and the Arduino IDE for development.  We used the Teensy to drive a Microchip MCP8422 SPI DAC and fuck-all for an amplifier.  Much fantastic Portland beer was consumed, and here are the results.  We think its awesome but we sure wish we understood why the hell it sounds so cool.  Maybe Ville-Matias explains it somewhere.  The DAC is 12 bits, and the programs are 8-bit so perhaps a talented composer could write even better music using those extra four bits.

See a video of our work at http://www.youtube.com/watch?v=wgpUyEapCmM

See Ville-Matias' awesome original (complete with visualization) at http://www.youtube.com/watch?v=tCRPUv8V22o


If you provide a line-out and run it to an amplifier with some low-end response!  Would be super awesome if you could upload these on-the-fly (over USB?) and then just jmp to the new code.

In any case, great job!

Yeah, I was thinking about that.  I put a 3.5mm line-out plug on the board, but my friend wanted to listen right away so I hooked up a speaker instead.

It would also be cool to be able to upload the code, but it would be a little fiddly to get it to run.  I think the AVR will only run code out of the Flash, so you'd either have to interpret some sort of bytecode (which would be tough to get running fast enough) or you'd have to have the PC side compile the code into a subroutine, then have the AVR side flash before running it.  That's a worthy goal, maybe if things settle down at work...