about a 2-3 min audio recording in wav or mp3 format that I would like to play
You'll need:
* some kind of external data storage chip
* a DAC. (Some people enjoy the challenge of building a DAC out of resistors, perhaps using PWM and "1 bit DAC" techniques. Others find it much quicker and simpler to spend a couple of bucks on an off-the-shelf DAC chip).
* anti-aliasing filter (Would a single resistor and a single capacitor be adequate?)
* a speaker driver amp, such as the LM386N-3 .
* ... As always, a few other things that you'll realize you need ...
Audio data storage format:
* WAV files are simplest. You could use any PIC to read bytes from the storage chip and dump them to the DAC. See
WAV for details.
You should probably get WAV playing first, to make sure "read byte from storage" and "write byte to DAC" are working properly.
At 3 minutes * (60 sec/min) * 8000 samples/sec * 2 bytes/sample (stereo) = about 3 MegaBytes. That's about $18 worth of M25P40-VMN6 (Jameco) or $13 worth of AT45DB041B (Digikey) chips.
Some other possibilities are:
* I assume
Oznog and
Brick are both talking about the
dsPIC30F Speech Encoding/Decoding Library User's Guide which uses CELP to compress audio down to 1 KByte/second, and play it back. It gives telephone-quality audio. The only benefit this gives you is 8x longer play time than WAV for a given amount of storage.
* Some people are using a PIC connected to a hard drive in a MP3 player:
http://opencircuits.com/Music_Player . The only benefit MP3 gives you is longer play time than WAV for a given amount of storage -- I suspect (?) MP3 gives even longer play time than CELP.
* You could design your own custom audio-compression format.
Have fun. Tell us what you learn. (What data storage did you select, and why?)