Audio Interfacing... help

Ok, so I have an idea of something I'd like to try, but I'm really not sure where to start, or even if it's possible with the Arduino. Without going into all the detail.. here's what I want to be able to do.

I'd like to have my Arduino, be able to record a short piece of audio coming from my computer... store this (or a few different audio snipets. (about 2 seconds each)) and then, after the recording are stored in ram, have the arduino start "listening" for these sounds to be played again... if they are, have it react by doing something (for simplicity, lets just say it's going to light up a light).

I know this is vague, but I'm curious if it's possible, has someone done something similar, and I'm wondering if anyone has any places I might start?

I've looked at the link from this post, http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1224777046 and it seems to help address the issues of dealing with the incoming audio stream, but doesn't get me close enough to where I want to be. Anyway, it's just an idea, can it be done?

Sampling the audio data, to convert it to digital data takes a fair amount of processing power. May be possible. I'm not qualified to have an opinion.

Saving that data into the memory of an Arduino? Not a whole lot available, without some external storage.

Comparing random input's (via a microphone?) to stored data? Possible. Fast enough? I don't know.

If you want to build a cheapo software sound recognizer, don't sample the entire signal; instead, sample the zero-crossings of the signal over time. From what I have read (mainly in the voice recognition realm of things), doing this results in easier, quicker, and more accurate matching of later "command" samples to the stored sample. It would also save you a ton of memory on the Arduino.

Thanks for the replies guys. Actually after the recording is done, The recognition part, is simply identifying the exact same sound sample from the computer input... so not really trying to do voice recognition, or anything like that.. just record a sample of audio (from a computer).. it's a an audio file (about 2 seconds long) and then have the arduino identify the same audio sample the next time it's played.. does that make things easier?

I think the idea of sampling the 0 cross overs would still be a great way to do this, and save a ton on memory

As the sampling rate is not synchronised to the audio waveform the actual numbers of the sample are different every time so just comparing the samples will not work.

I did try this approach of zero crossing timing years ago (about 1982) and found I could get little correlation between successive samples. So I will be very surprised if you can do this.