Recording voice, storing, and retrieving

Hey, I'm new to arduino, so go easy on me!

I'm building an electronic sculpture as part of my HND project. The basis of what I'm trying to do is to take audio input, store it, then play it back later.

More complex is that I need to record many audio files (basically someone speaking for probably no longer than 15 seconds). I would also need to play one of these files randomly, depending on certain conditions. These will be separate events, so it only needs to do record or playback at any one time, which will be selected by the user.

A detailed explanation of my project is as follows: My project is basically a story made up of several parts. These parts connect to each other via a fixed beginning and end. The middle is up to the user to fill in. This is done via audio input (although I'm starting to think text would be easier :(). A user would select a part of the story and record their version as an audio file. When the story is played back it chooses a random appropriate audio file for each individual part sequentially, thus (likely) creating a different story each time. This may be solvable via my code, as long as I am able to specify a file name when it is being wrote.

I'm aware of a few problems: The storage on the arduino is not going to large enough, so I need an external storage medium (SD card or something?), and a way of communicating with this and the input/output. If I am trying to record or play audio from an external storage the arduino may not be able to process (sample?) the data fast enough. The files need to be stored in such a way that I can randomly select only the files linked to a specific part of the story - it can't randomly play any file for any part as it wouldn't make sense.

At the moment I'm stuck trying to work out what hardware would be appropriate and whether its even possible to do what I'm trying to do - I'm hoping it is! I've spent a good bit of time trying to find something that does all of this but came up against storage problems mainly (like the APR9600).

Thanks for any assistance you can give me!

I have just ordered a shield that should play files from SD and also record OGG files. I have not gotten it yet, but you can look at the documentation of this card and see if it does most of the stuff you need.

Thanks Anders, that looks very promising!

The documentation doesn't go in to enough depth that I can see about some of the information I need. Mainly I don't know how it takes audio in and stores it to the card (sampling rate, file name, etc). That said, since its designed for good quality music I'm sure it can record voice fine. If I am able to code my project to change the file name it is saved as to something appropriate that should be fine.

It is not expensive, which is a nice bonus.

I'll ask my lecturer to take a look at it to make sure it is viable for my project. If anyone else has any thoughts on it, or other solutions, I would be grateful for the input.

One thing to note is that it seems it requires the Arduino Mega to record audio, it will only play audio with the smaller Arduino.

Hi Aimeryan,

I also want to make a project that requires being able to record, store, and playback short audio files based on user input. I would like to ask you how you ended up creating your project and what hardware you chose? I hope it was a success!

Look forward to hearing from you,Best mbvcloud