The Arduino is not well known for it’s audio playback capabilities. Without any external components it can only output 10-bit data from the analogue pins. That’s perfect if you want to play beeps, or 8-bit retro style audio, but useless for anything of high quality. The Raspberry Pi is perfect for this, but is a bit overkill if you only want a simple project, and need the analogue inputs for reading sensors. Masih Vahida has come up with a simple solution called the SoundDuino 3.
This shield adds stereo inputs and outputs, offering 16 bit depth, and running at a 48kHz sampling frequency. That’s on par with CD quality (which runs at the slightly slower 44.1kHz), and the Raspberry Pi. Using the SoundDuino is simple: slot the shield into an Arduino, add the library to your project and you’re ready to go. The library comes with some useful features, such as the ability to play back audio ‘numbers’. By adding some voice recordings of someone saying numbers, you can simply call
say_number() and the shield will output the correct voice.
The SoundDuino opens up a world of possibilities with your Arduino – voice feedback, a music player, talking clock, or anything else you’d want clear audio for. The SoundDuino is on Kickstarter now, and the board can be yours for $59.