How to collect and transmit sound and other telemetry to a central location

Hi,

I a complete newbie and a software guy so not sure how to ask this properly or what forum to use. Hope you guys can route me to the right place...

I'm looking to do a Project where I can put several microphones around my house plus other telemetry (e.g. motion sensor, etc) so I can send them to a central place for processing. The most important processing will happen with sound (e.g. speech recognition) so I assume the sampling has to be 16bit to be good. The mic and sensors have to be "Small", meaning I'm not looking for a full USB mic. I read that most integrated mic in the arduino forums are probably not good at a distance, so maybe something like this is better ( CAD U9 USB Mini Mic | Guitar Center ) ? The whole end goal is to try to have multiple sounds input and sensors so I can make better predictions about user intent on a more powerful machine.

My questions are the following:

  1. what setup you recommend to do this? (e.g. mic, board, general architecture)
  2. How do you recommend that I transmit the data over to a central place? (e.g. wifi, if yes, how? or homeplug, etc) - assume that security is not a big thing in my case.

thanks for any pointers!

ATmega-based Arduinos do 10 bit ADC sampling at best, for one input, and are suitable for only very limited analysis of audio over the rather narrow frequency range of about 0-4.8 kHz (ten bits). With 8 bit sampling the entire audio range can be covered but memory is very limited. Your application will probably require a much more powerful processor.

What about using the arduino to stream data remotely and do no processing at the source? Is that not possible?

You can certainly buy wireless microphones. I don't know how small you need them to be but I suspect they are available as small as you want. You should have no trouble finding wearable wireless mikes which are pretty compact, and you could go down to tiny products designed for covert surveillance if you are looking for something extreme.

What about using the arduino to stream data remotely and do no processing at the source? Is that not possible?

That would be possible, for one microphone. There is only one ADC.