I’m back from maker faire and am wrapping up the documentation for my latest fun toy. Its an Arduino shield that can play high quality audio, music and speech. One thing I’ve noticed in doing tronix for the last few years is how incredibly hard it is to have a project with audio in it. Audio takes up a lot of space, so you need a storage element, and our ears are sensitive to errors and noise so its tough to make it sound good. After mucking around with ISD chips, embedded MP3 boards, wiring to CD players, generating PWM sound, etc. I decided to investigate playing uncompressed Wave files from a memory card. Success!
Click on the play button to watch a demo of the wave shield playing assorted audio through a small speaker
The shield comes with an Arduino library for easy use; simply drag uncompressed wave files onto the SD card and plug it in. Then use the library to play audio when buttons are pressed, or when a sensor goes off, or when serial data is received, etc. Audio is played asynchronously as an interrupt, so the Arduino can perform tasks while the audio is playing.
* Can play any uncompressed 22KHz, 12bit, mono Wave (.wav) files of any size. While it isn’t CD quality (44KHz/16bit), it is certainly good enough to play music, have spoken word, or audio effects
* Output is mono, into L and R channels, standard 3.5mm headphone jack and a connection for a speaker that is switched on when the headphones are unplugged
* Files are read off of FAT16 formatted SD/MMC card
* Included library makes playing audio easy