Uploading Audio files to EEPROM

Hey,

Thank you for those suggestions

Grumpy_Mike:
You write an Arduino sketch that puts it into the EEPROM byte by byte.

Store the waveform in program memory, and read it back one byte at a time.

This will involve you in writing the array deceleration for program memory in the IDE. A much better way is to use a Processing program to read the wav file and print it out byte by byte in a format that can be copped and pasted into this Arduino sketch.

I would arrange this Processing sketch to also normalise the samples and then convert them into bytes, I would also omit the wav header.

To play it back you need to fish the bytes one at a time out of this EEPROM and send them to a D/A converter or a PWM program.

However while I have done this I have never done it with an external I2C EEPROM so I an not sure you can read the samples out of it fast enough for playback. What sample rate are you aiming at? Remember the I2C clock normally only runs at 100KHz.

So do you mean that I provide a +ve offset voltage to the wave and then store the PWM values at equidistant points of the wave in an array? and then playback is nothing but the values read at equal intervals of time?

Now, does 100kHz mean 100,000 Samples every second?

DVDdoug:
Depending on the nature of your click sound you might be able to generate it with a pulse (then you wouldn't need any memory).

For example, have you ever connected a battery to a speaker? You get a click when you connect it and another click when you disconnect it. And if you can connect/disconnect it fast enough you'll hear a single click.

I have attached the waveform as an image. Could you help me with a circuit which can generate this waveform?