8bit Microcontroller MIDI Renderer

This is a project I did in 2004 for COSC361 when I did some more University courses for fun.

Project

Report
Source
Breadboard image

MIDIs converted using SimHC12 & MIDI Juke Box

Bubble Bobble.mp3
Courting.mp3
Dixie.mp3
Ghosts'n'Goblins.mp3
Honeysuckle Rose.mp3
Music Box Dancer.mp3
When I'm 64.mp3

PDFS

TS974IN rail-to-rail OPAMP

Post project notes

DAC issues
I blew up my DAC at home ( again :) ) so I replaced it with a DAC0808LCN which is also marked MC1408P8 and appears to be pin compatible, but it wasn't happy. Its output is floating around 5v instead of 0v and I'm getting a very weak signal out. So I went through the docs and replaced the 150R feedback resistor on the OPAMP with a 5K one, and now it goes from 0->5v (on the DAC output), I don't think this is what I wanted either. Now the opamp is saturated and outputing 5v continuously. Seems the two DACs are acting differently. It's entirely possible I broke this DAC too.

Sound issues
As noted in the project report noise is a bit of an issue, due to no anti aliasing being done in software, and having 8bit samples. The following image shows three notes being played in unison, notice the amount of noise up the top end.
It looks like the noise is about -15db quieter than the signal (or about 6x quieter with -6db being twice as quiet), which may seem like very small, but when you factor in the human ability to hear higher frequencies better than lower frequencies it becomes significant.