multichannel audio input in arduino

Hi,

I am looking for an audio shield or circuit that would enable arduino to read 4 or 8 microphone signals with 16 bit and 44,1kHz.

I found the following audio shield but only supports stereo input (audio codec sheild for arduino and maple | Open Music Labs).

Any information would be appreciated!

cheers

No way, data rate flow extremely high, even with one channel. 1 x 16 bit and 44,1kHz. = 705.5 bit/sec; 2 channel = 1411.2 bit/sec.
Even if you could, what is next? You can't send it anywhere via serial, and there is no time/space to store data.

Thank you for your answer. That sounds logical.

The reason I initially began this thread is that I am looking for ways to use a microcontroller as an AD converter instead of an audio interface.

Can you give me any directions on where I could start/look for controllers that convert and send this kind of data (4-8 mic inputs at 16bit, 44.1kHz) ?

Why microcontroller? Can you just buy USB sound cards?

They make special DSP (digital signal processing chips), depending on what you intend to do with the digital audio data. They also make "soundcard chips", which might be useful depending on what you are doing.

You are going to need A/D chips, or chips similar to the Arduino (only faster) with A/D built-in. And if you want analog audio out, of course you need D/A.

In order to connect a microphone (millivolts) you will need a preamp, because most A/D chips work at about 1V.

-- Why microcontroller? Can you just buy USB sound cards?

I am looking for a cheaper and most important extendable solution. So buying for example a 4 channel fixed soundcard is not an option if I want to add channels in the future.

--They make special DSP (digital signal processing chips), depending on what you intend to do with the digital audio data. They also make "soundcard chips", which might be useful depending on what you are doing.

Can you redirect me to someone?

--You are going to need A/D chips, or chips similar to the Arduino (only faster) with A/D built-in. And if you want analog audio out, of course you need D/A.

At the moment I am only interested in AD conversion as I do not intend reproduction. I want to use a set of microphones for a direction of arrival algorithm and the processing will be done in the frequency domain. Processing is not necessary performed in the controller.

--In order to connect a microphone (millivolts) you will need a preamp, because most A/D chips work at about 1V.

Yes I am familiar with that.

Example:
Lets say I want to use a 4 microphone system to start with. If I use arduino + audio codec shield + (op amp + mic) the cost would be approximately

arduino = 24
audio codec shield = 50
amp+mic = 10

Total 84 Euros which is 42 per channel. Maybe I can find 4 channel audio interfaces with this price but it is not extendable.

Initially I have been looking for a more elegant solution than having multiple arduinos and audio shield.

Note: Probably not 16-bits. Couldn't find explicitly written tech specification.

Other option: http://www.st.com/internet/evalboard/product/252419.jsp

To me it almost sound like you are trying to build your own soundcard. If you haven't got a lot of experience with dsp programming and analog circuit design you are going to have a bad time. (or a really good time spending years learning it :wink:

If you are just looking for a way to get many (and extendable) audio channels into MAX or Pd or some other audio processing software, save time and money and buy something like a M-Audio Delta 1010LT it's like 170 € on e-bay (new, including shipping) You could probably get it around 100 € used. If you need more channels, just buy another one, they are linkable. see:M-Audio You'd need a stationary computer though, but you can pick them up used for almost nothing these days. (at least where I live.)

Cheers!

.kris

With 140 roughly you can get a Delta 10 /10 lt with 10 in and 10 out, up to 96Khz 24 bits...so dont see what your problem is money side of things is actualy !!

To me it almost sound like you are trying to build your own soundcard. If you haven't got a lot of experience with dsp programming and analog circuit design you are going to have a bad time. (or a really good time spending years learning it :wink:

Analogue circuits are not really my expertise but in this case it would have been very usefull!

If you are just looking for a way to get many (and extendable) audio channels into MAX or Pd or some other audio processing software, save time and money and buy something like a M-Audio Delta 1010LT it's like 170 € on e-bay (new, including shipping) You could probably get it around 100 € used. If you need more channels, just buy another one, they are linkable. see:M-Audio You'd need a stationary computer though, but you can pick them up used for almost nothing these days. (at least where I live.)

I was planning to use the multichannel audio stream into SuperCollider for the processing. And yes these sound cards are chep indeed. The only problem is that I would like an external interface as I only have a laptop at the moment. External interfaces seem to be more expensive though and that is the reason I initially thought of using a microcontroller (+ the extendability option). It seems that there isn't a exact solution to that at the moment :frowning: (of course except a external audio interface)

I will give it a try with an Arduino and one Audio Codec Shield with two channel first.

In any case, thank you all for you comments!

cheers

The Teensy Audio Library currently has 4 channel input & output, and simultaneous stereo in/out to the PC via USB. That's not 6 channels, but probably the closest you're going to find, and it fits the "very small package" requirement.

With some hacking, you might be able to edit the USB stuff to do 4 or even 6 channels. Maybe.

The 4 channels by I2S is a much harder limit. There's only 2 I2S receive pins, and each only supports stereo. It's possible to get a 5th simultaneous input channel by the on-chip ADC, but the quality isn't nearly as good as using the audio shield.