I've built a WAV player with USB interface. It's based on Microchip parts
(18F2550, DAC SPI) and a 8Mb SPI Memory from ST.
Schematic is rather easy: it can work USB-controlled (for upload and/or playing
WAV files, using a simple software) or stand alone (by means of switches).
It can store (currently, project was first developed in fall-2004) up to
1min circa of 22050 mono WAV files, or a double quantity if sampling rate
is reduced to 11025. Of course, greater storage can be provided, but it's
useful right now as a "music player" to be contained into toys, or as a "message
announcer" on automatic doors or alike.
Future improvements may mean use of SD Memories, and support of USB MassMemory
protocol, to allow for the player to be seen as a standard Pen Drive on
PCs.
Software: