Welcome!
I'm starting this blog to tell about my MCU projects.The first project I'm going to publish is a 16 voice polyphonic synthesizer based on TI's MSP430 Launchpad with the MSP430g2553 chip.
This chip is as far from a DSP as it can be, it has 512bytes of RAM and 16K Flash, running at a maximum of 16Mhz, it's a really bad choice for something like this, I know, but I take this as a challenge.
My aim is to make the cheapest usable,practical MIDI synthesizer EVER!
The final board will include a Microchip MCP4921 DAC, a 16 or 32Mbit serial flash (the exact part is still undecided, and it is optional), and opamp as an anti aliasing filter and an optocoupler for midi input, it's going to be very easy to make since all the parts are available in DIP package.
The flash is an optional part to store high quality drum samples and waveforms.
If you don't really care about the drum sounds and additional waveforms, you can easily leave this part out.
The best solution wound be a 16bit Delta Sigma DAC , but almost all of those have an I2S interface, which is impossible to implement, as DMA is require to generate a synchronous bit stream to the Master clock that drives the modulation.
The next best option is the Microchip MCP4921. It is the cheapest 12bit dac with a simple SPI interface and it's also available in a DIP package.
If anyone knows anything better I'm open to suggestions, as the design is not finalized yet.
The 16 Voice polyphony consists of 8 sine/square oscillators, with independent ADSR curves, 4 samplers for drum sounds, and 4 simpler oscillator without ADSR curve but with any waveform.
I try to make it possible the exchange the drum sound to simple oscillators and vice-versa (to have 8 drums channels or 8 simple oscillators).
It can have different patches on 8 midi channels, each of these channels have independent pitch modulation control (speed and depth), pitchbend and portamento, ADSR (if the ADSR oscillator is selected).
The code is fully written in C, it needs commenting to make it readable and there is a lot to optimize.
As soon as i'm ready with the code and the hardware I'm going to release it as fully Open Source.
I recorded some sounds with the synth, you can listen to them here : Soundcloud
Meanwhile if you have any ideas, questions, suggestions, request don't hesitate to contact me!
The Future:
When I finalized this synth I'm going to start making the next version with an Msp430f5510, it's going to have much more features as it has 8x times more memory,56% maximum faster clock and a hardware multiplier.