ideas for loading pcm data to flash?

ive got a project lined up where part of it will involve loading pcm audio data from the computer to a flash chip connected to an arduino.

I would like to say, be able to upload 5 different pcm files onto the flash. then layer have the arduino play each pcm through a simple r2r dac.

my thoughts so far for proof of concept:

segment the flash into 5 known size chunks, hardcode the page value into the arduino write a small processing app that you can specify a number from 1-5 and a txt file containing the pcm data. the arduino will have a jumper, if the jumper is in program mode, it will wait for serial data.

the processing app writes an ID char to serial 1-5 to tell the arduino which chunk it is. the processing app then streams the pcm data to the arduino which writes it to flash.


to later build on this, im assuming i could use the built in flash/eeprom memory and have the processing app write all 5 at the same time, updating the arduino flash/eeprom memory with the new page value (would have to update the entire flash at the same time doing this as opposed to being able to rewrite any chunk, but you could upload different length pcm samples.

any ideas?

There is not enough EEPROM on the Arduino to hold PCM of any useful length. You could try to store the PCM as strings in program memory which would give you 14k minus the actual sketch size. But you would still get only a few seconds worth of sounds.

How many seconds of sound did you want to play and what sampling rate did you have in mind. These will determine how much flash you will need.

nono, i should have specified. i will be using a seperate flash chip like:

but i may have to store the start and end locations of each seperate pcm on the arduino so it knows where each section is on the external flash chip. if i used fixed duration chunks i can just keep the locations in code, but if i don't i would have to store the locations on the arduino board itself, or first few bytes of external flash data.