Continuously recording audio, dump buffer to usb

Hello!
I've been trolling the forums looking for a solution for my project.
The project is as follows:
I need a 30sec audio buffer to continuously record audio, if within the 30 secs a button is pressed, the buffer dumps a file to a usb or SD card.

I have found quite a few audio chips and other shield for audio, I'm just not sure if they can do what I'm looking to do.

I know I need a chip that I can interface with using a microcontroller.
Need a SD card shield to write to the card.

Anyone out there done something similar or have any pointers?! :slight_smile:

I would look at OpenLog at SparkFun for the SD. It is actually a second processor that accepts serial input, all the way up to 115k, and writes it out.

sweet, looking into that now?
thx

I don't think that will be possible.

30 seconds of audio requires a lot of memory, even at lousy sample rates. Arduino has very limited amounts of RAM.

repeatedly sampling a small buffer and then storing it on SD card probably wont work either because the storing would disrupt the continued sampling.

How good a quality are you looking for in the audio?

If you just want to record and playback then perhaps some of those old voice recorder toys could be modified to have larger storage :wink:

There are chips which are designed for simply this but with low-quality audio.

Mowcius

repeatedly sampling a small buffer and then storing it on SD card probably wont work either because the storing would disrupt the continued sampling.

I should have qualified my recommendation of OpenLog; it might do it if you have a hardware serial port available for it. It fits on the FTDI connector, so you can solder in a female header to take it off to program and put it back to run. Even with a hardware serial port, it will take some fancy footwork in the logic to keep taking samples as you store.

I think the dumping the buffer will be very tricky.

I don't think it would be possible with the openlog for audio - not sure it's fast enough - but again depends on audio quality.

I'm looking to record voice so the audio quality needs to be decent?would upgrading to an Atmel 328 help with the buffering?
I noticed this was recommended on the Adafruit Wave Shield page?

The wave shield says it plays audio. I don't see anywhere it says it records at all. Maybe your question is better answered by a digital signal processor built for sound. 30 seconds of decent sound is a few megabytes of fast access memory, which arduinos or all its shields that I know off don't have.

I'm going to look for another hardware solution that I may be able to control via the Arduino?
If anyone has an idea of some devices that would fit my loose criterion, it would be awesome if you would share!
Thx?

I'm trying to have a device that is always on and recording?if a button is pressed on the device the buffer is dumped to the card. So technically I could stop recording and dump. I hadn't really thought of this idea yet, so this maybe a good workaround!
I'll look into that voice breakout?looks pretty awesome!

The beagle board may be a solution:
http://beagleboard.org/hardware

It's got a more powerful microcontroller and 128MB RAM with stereo audio IO. It's $149 though.

yea those things are basically computers, and if your going to deal with that maybe a 30$ seagate dockstar, a bit of firmware hacking and linux with a usb sound card attached ?

@Osgeld?awesome! I don't think that would be too portable, but I might pay to see this in action!
The beagleboard would be sweet to prototype with, but again portability and cost might be an issue?

If you could point me in the direction of some commercially available units it would be much appreciated?I haven't been able to find any, other than the http://www.looxcie.com/, but it's a video unit?