Can I make an Arduino a sound recorder and then capable of playback this sound? If yes which Arduino is capable of doing that? Also, I need 44100 Hz quality. Can Arduino support this? What does the sampling depend on, in Arduino?
How long do you anticipate the recordings being ?
The longer it can be...
Recording audio at CD quality (44.1KHz 16 bit) is not practical with any Arduino I know of. They don't have fast enough processors or sufficient memory/fast storage.
BTW the answer to a question like "How long do you want to record" should be a time, the minimum acceptable time. E.g. 5 seconds or 2 hours are useful answers. "The longer it can be..." isn't.
Steve
A teensy3.x could probably do it; there's an extensive audio library.
the 256k memory on the biggest Teensy can hold almost 3 seconds worth of 44kHz 16it audio
To record more than 2 seconds, you need somewhere to put the resulting 88kBytes/s of data. Which is a relatively difficult problem on a microcontroller, since it doesn't really have many high-density, high-speed interfaces available. (an SD card would be the obvious choice, but without the SD licensing scheme, you're limited to relative low-speed access, and I don't know if it'll do 88kbytes/s...)
It's much more of a Raspberry Pi sort of application.
If I manage to do it anyway, even in lower quality, the sound is stored in SD card, in what type of format? .wav? HEX raw data? something else?
in what type of format?
That would be up to you. Probably something "near raw" (includes .WAV); I don't think any of the Arduino chips have the muscle to compress to mpeg or anything.
See my project from a few summers ago, recording at 44.1K to SD card, with coding development with fat16lib.
Straight 16-bit data using external ADC & DAC parts.
http://forum.arduino.cc/index.php?topic=180769.0
Mono only. 16 MHz Arduino can't do stereo, not enough processing power.
CrossRoads:
See my project from a few summers ago, recording at 44.1K to SD card, with coding development with fat16lib.
Straight 16-bit data using external ADC & DAC parts.Mono only. 16 MHz Arduino can't do stereo, not enough processing power.
Amazing!! But how can Atmega1284, an 8-bit processor control all these? Can I use Arduino MEGA 2560 for example, which is also 8-bit processor? (I am still reading your project, I haven't finished yet)
westfw:
That would be up to you. Probably something "near raw" (includes .WAV); I don't think any of the Arduino chips have the muscle to compress to mpeg or anything.
So, I suppose something like an array of integer numbers I will see on the SD card...Right?