All you need is a D2A, this can be as simple as an R2R ladder network followed by a low-pass filter. WAV is the easiest to use, as it's uncompressed, create it as mono and 8 bit on the PC, and it's very easy to do.
Is that because of the lack of RAM and processing power or the complexity of implementing a mp3 decoder in SW ?
If its just the complexity of SW involved, I would still take the challenge. But lack of RAM etc could really be a blocking issue.
I know about sta013, vs1000k etc mp3 chips but they dont sound fun + they are not available in my area + they will raise the cost of the project a lot.
Mainly its the lack of power plus the complexity of it. Meaby someone will manage to do it on the 32bit PICs, but probably not for the highest bit rates.
Its much easier to use a MP3 decoder chip. You just feed it the raw mp3 file in and you get audio out of it. The chips dose all the work for you.
There is a AC3 codec for the dsPIC family. Its a much simpler way of compressing audio than mp3. It dosent compress it as good as mp3 but it much easer to encode/decoder
The commercial mp3 players ....
Do they use chips like STA013 etc to do mp3 or do they have just one big chip that does it all(remote control, keypads, lcd display etc) ?
Can I hope to salvage some usable component from junked mp3 players ?
Well i seen purpose built chips for those small mp3 players. Atmel makes one of them. Its a MCU with a mp3 decoder on the same chip including also a headphone amp and also a OLED display driver. So its bascialy everything such a mp3 player needs in 1 chip.
But i dont know if you will manage to hack a mp3 player to write your own code for it.
The commercial mp3 players ....
Do they use chips like STA013 etc to do mp3 or do they have just one big chip that does it all(remote control, keypads, lcd display etc) ?
haha stupid questions but is it possible to do this with the PIC12F509 ? I'm making just a stupid character say something funny and at the moment I haven't really invested in anything better then the 509 bc im still learning ? and is there source code aval that I can see how its done ?
This can be done with any PIC that has both a UART and the SPI port.
Use a large EEPROM (25AA1024 for instance) for the data.
And a Cirrus D/A (CS4338) which will provide a 16 bit stereo output plus a little power amp.
For non-critical applications the 8MHz onchip oscillator may be employed as the master clock at a 15.625 KHz frame rate which will provide 2 seconds of stereo or 4 seconds mono with a single EEPROM
but i've done some experimenting with an ISD4002 2 minute audio recorder chip.
worked quite well in conjunction with a microcontroller.
some of the ISD range go up to 16 minutes...