Wednesday, January 2, 2013

16 Voice MSP430 Synth


Here is my MSP430 launchpad midi synthesizer:


This is a synth with 16 voice of polyphony.
It accepts midi massages from channel 1-8 and 10 (for the drum sounds).
Each midi channel has it's own different settings for:
-MIDI program
-LFO width and speed (CC01 for combined mod wheel control, CC02 for width,CC03 for speed
-Oscillator type (simple with any waveform or with ADSR square or sine wave)
-Pitch bend
-Portamento on/of (CC65)
-Portamento speed (CC05)
-Channel volume (CC07)
It plays 8 sine/square with ADSR, 4 with any waveform (now only Saw and triangle), and 4 drum sounds simultaneously.

The DAC used is a TI TLC5615, it's not the best choice, but i only had this in my parts bin.
Probably any other SPI DAC could be used with minimal modification, or even PWM.
(I don't sound good with PWM IMO.)
The TLC5615 needs 5 volts, but it seem to run good with 3.6 volt from the launchpad,or you could use TP3 (the USB 5V) but that can be noisy, I used a separate 5V supply.

The crystal is required, because it tunes the DCO on every start up to a pre-defined value
( i ran it at 19Mhz without any problems)
If you change the frequency , you only need to change the bit rate divider for the USCI UART.


There are a lot to optimize/rewrite but i kind of grew tired of playing with variables to get a few more bytes of free ram.

Maybe i'll rewrite it on an F5510 as it would be a much better choice because it has 8 x Ram as much ram and a hardware multiplier.

Here are two songs i recorded with it: https://soundcloud.com/hunyeti/sets/my-msp430-synth-sounds

Here is the schematic:


and a photo how it looks on my breadboard:


the source code can be downloaded from here : The 43oh forum post
There is a contest on 43oh.com, if you like this project pleas vote on me :)
43oh.com Projcet of the month contest