Well I started doing this on an arduino and just using any and all libraries I could find so I could understand how to actually make sound. Now, and with a more powerfull chip I'm writting my own code for sound synthesis. At the moment I have wavetables that are built on-the-fly, because they were taking up too much memory on my chip and weren't versatile enough, and right now I'm working on implementing a fast fourier transform so I could get some equalizer and that kind of data on a screen (on a seperate chip). But basically all I have for now (of my own) is wavetable generation and output, along with some ADSR envelopes. If you'd like to anything more in depth pm me!