I'm considering purchasing an Arduino for a project that I'm working on.Does Arduino have the ability to store audio recordings and recognize a match when an identical audio input comes in? I have at least ten different audio files that I want arduino to recognize and send out different information to an audio gate. Is this possible?
Probably not... With pre-digitized audio, maybe... If you feed-in the same digitized audio file twice, you can easily check for a match.
If you are sampling analog audio, the digitized audio will never be byte-for-byte identical. There will be analog noise and other analog variations. Worse, since the audio is asynchronous with the sampling-clock, you will sample at different points along the waveform when you re-sample the identical analog signal.
There are limitations to how fast the Arduino can sample, and you are likely to run into memory limits. i.e. 44.1kHz audio means 44,100 samples per second. You might need an external ADC and external memory.
Before you attempt something like this with a microcontroller, it might be a good idea to try it on a computer.
Usually, this kind of thing is done with [u]FFT[/u] to analyze the frequency content over time, or the "character" of the sound, looking for "something close" rather than an exact data match.
Yes, it does. You haven't really given enough information though.
What format are your sample files in (WAV, MP3, AAC, FLAC, OGG)?
What is the word size (8bit, 16bit, 24bit)?
What is the sample rate?
How are you planning on getting the audio to be tested into the Arduino?