Concurrent Tones on the Arduino
The goal of the project is to play more than one tone at a time on an Arduino.
No doubt this has been done before but here is my take.
The "Green Light Go" webpage (http://greenlightgo.org/projects/midi-to-arduino/) has a Midi to Arduino Sketch converter. It's a really good place to start, upload your midi and download your Arduino Sketch, and play. It uses the Arduino tone library so it can only play one channel at a time. Even so it does a pretty good job.
I did not initially understand why the channels would "drop out" until I realised the tone library was not concurrent.
This project looks at a concurrent tones generation. The core interrupt service routine is from my modem project.
If setting hardware registers and interrupts service routines frighten you then perhaps this is not a project for you.
---
Okay, its done. The Files area contains an executable the converts MIDI files into Arduino sketches. Let me know if you have any problems.
There are two examples to try.
AlanX