Go Down

Topic: multichannel audio input in arduino (Read 4843 times) previous topic - next topic

surequta

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 (http://www.openmusiclabs.com/projects/codec-shield/).

Any information would be appreciated!

cheers

Magician

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.

surequta

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) ?


Magician

Why microcontroller? Can you just buy USB sound cards?

DVDdoug

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.

surequta

-- 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.












ideofon

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 ;-)

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:http://www.m-audio.com/index.php?do=support.faq&ID=32f370e2c3d0712bccc9e1f292fcb135 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

iyahdub

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 !!
10 LET Loop=Infinite
20 GO TO 10

surequta

Quote
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 ;-)


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

Quote
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:http://www.m-audio.com/index.php?do=support.faq&ID=32f370e2c3d0712bccc9e1f292fcb135 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 :( (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

Paul Stoffregen

#10
Jun 04, 2016, 09:28 pm Last Edit: Jun 04, 2016, 09:29 pm by Paul Stoffregen
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.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy