I've been thinking about trying to add some audio input and output to my robot. For output I was thinking I'd just use a piezo speaker. I understand those are very low current and just need a PWM signal, so they are a good fit for me.
But what about input? What can be done with reading in from a microphone and interpreting that data? I was thinking I'd either do this on an AVR (ATMEGA168) or ARM (AT91SAM7X256).