Been a while, but work on this library has slowed to a crawl since it works fairly well at this point. Thought it would be worth an update:
PCM/WAV playback direct from SD card to attached speaker/amplifier
Asynchronous Playback: Completely interrupt driven. Allows main loop to execute instructions while playback occurs.
Playback uses a single timer (Timer 1)
Supported formats: WAV files, 8-bit, 8 to 20khz Sample Rate (autodetection), mono
Supported devices: Arduino Uno, Nano, Mega, etc.
Files easily converted using iTunes or other software:
Click > Edit > Preferences > Import Settings
Change the dropdown to WAV Encoder and Setting: Custom > 16.000kHz, 8-bit, Mono
Right click any file in iTunes, and select "Create WAV Version"
Copy file to SD card using computer
Contains optional proof-of-concept add-on library for RF (Wireless) audio streaming using NRF24L01+ radio modules. See readme files for details.
The current version can be found here: https://github.com/TMRh20/TMRpcm