I have several prototype circuits now that all involve triggering sound files based on certain conditions. To manage the audio and sound file management, I've been using the WAV Trigger, but now that I'm creating a PCB for my circuits I'd like to find a solution that meets my requirements without a 3rd party board.
I'm looking for the simplest solution to play maybe 5 different 16-bit WAV files (one at a time) based on specific signals from the ATMega328, but I'm getting a little overwhelmed by the different options and requirements. I know I need to produce true analog audio, and not a PWM solution that the ATMega328 could produce on its own because the audio needs to eventually go to a set of speakers, so I understand I will need a Digital to Audio Converter (DAC) at a minimum, and I know I will probably need something else that can decode the WAV faster than the Arduino can because my WAV files are sampled at a 44 KHz rate, but I'm not sure what that would be besides an entirely separate microprocessor.
Most of the projects and tutorials I can find simply use one of the WAV or MP3 trigger boards out there, or one of the MP3 shields for the Arduino. Those usually use one of the chips from VLSI which appear to be that separate microprocessor that I would need. Reading their literature, it looks like all I would need is their VS1000 chip, but I'm confused as to how to implement it. It looks like it would only require a 12MHz crystal timer and some memory source (I'm planning on using a microSD card solution), but it looks like it would require an entire firmware of its own to be developed. Before I go that route, I just want to make sure I'm not overlooking a much simpler solution. Any ideas?