Adding quality audio to an electronic project is surprisingly difficult. Here is a shield for Arduinos that solves this problem. It can play up to 22KHz, 12bit uncompressed audio files of any length. It's low cost, available as an easy-to-make kit. It has an onboard DAC, filter and op-amp for high quality output. Audio files are read off of an SD/MMC card, which are available at nearly any store. Volume can be controlled with the onboard thumbwheel potentiometer.
This shield is a kit, and comes with all parts you need to build it.
Arduino, SD card, tools, speaker and headphones are not included. It is fairly easy to construct and anyone with a successful soldering project under their belt should be able to build it.
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.