Just add switches and a 9-year-old geek.
That’s Adafruit’s FX card, which can store 2MB of sound files and spit them out to a powered speaker based on any of 11 trigger lines. With additional modes including looping, sequential (play the next soundfile in a series each time the trigger line goes to ground) and random (pick one of a bunch of files).
It’s cool, but more especially it’s simple. You just plug it into your computer and transfer the files — there’s a naming convention for the files that says which trigger pin to use and which mode. If your microcontroller has enough smarts to emulate a flash drive and play .wav and .ogg files, it certainly has enough smarts to do the right thing based on the sequence of characters in a file name. Bonus: there’s a cheat sheet on the back of the circuit board (and yes, the back of the box I fabbed is open so I can read it).
The only thing I have to complain about is that there are 11 trigger pins to bring to ground but only 4 ground pins, which means you need to build a common ground bus for some of your switches. Fine in a permanent installation, slightly less perfect if, say, you’re wiring up a haunted room with sensors all over the place. I just took a piece of header and soldered all the pins together. The circuit board is also pretty dense — if I were using mounting screws instead of a box, I’d have to mount it component-side down so that the screw heads didn’t crush a bunch of adjacent stuff. Which I guess is the right thing to do anyway, because cheat sheet.
Can’t wait to figure out what to do with this once it’s not Hallowe’en any more.