What inspired you to do this?
I was looking to add background music and effects sounds to an Arduino based endless runner game. There was no convenient library to play easy specified music strings, until I searched and found a couple that could serve as the basis of what I needed. MMLMusicPlayer was a great library that I could extend for my needs, so I set about to create an extension library that utilized all available timers to asynchronously play music tracks - the Arduino Uno has 2 available timers.
How long did it take to make it?
I was able to hack together something that worked in about a week. But making it into a proper library that would be useable by others meant I had to be more careful with coding, and it took me several weeks to fully develop, test and debug a fully functional library.
How long have you been doing things like this?
I have been programming for over 26 years. I started tinkering with micro-controllers over 10 years ago.
How much did this cost to do?
Arduino Uno + ProtoStax Enclosure + LCD Kit + Switch kit + piezo + jumper wires = all told, it was under $70.
Have you done other things like this?
I have created more arduino and Raspberry pi projects with music. RGB Audio Visualizer, and Multi-Octave Portable Capacitive Touch Piano, Touchless Musical Hand Wash Timer
are a few such projects. I have also created music apps for iOS.
What did you wish you knew before you started this?
I wish I knew more about Arduino timers and their coding before I started this. It took me longer than I expected because I had to learn these things as I went along. Shoutout to MmlMusic library and also Tone library for helping me along the way!
Are there plans available to make this? Do you sell this?
Complete plans are available on my hackster.io project page and on GitHub.
https://www.hackster.io/sridhar-rajagopal/multi-track-music-player-f661ba
https://github.com/protostax/ProtoStax_MmlMusicPlayer
What’s next?
Next up is to complete the endless runner game that started this entire project! :-) It has a Harry-Potteresque theme with background music and sound effects.
I'm also planning to make a board for my portable capacitive touch piano.
Resoures?
MmlMusic library
Tone library
Jc_Button library
LiquidCrystal_I2C library