Go Down

Topic: multiple microphones (Read 2443 times) previous topic - next topic

natecus

Nov 30, 2012, 08:14 am Last Edit: Nov 30, 2012, 08:47 am by natecus Reason: 1
hi,
im looking for the simplest and most reliable way to gather multiple inputs from multiple microphones and then determine which is the loudest and the direction, is that possible?

AWOL

Please don't cross-post, it wastes time.

Duplicate post removed.
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

natecus

I'm sorry i posted the other one before i realized my question fit better under this category.

Grumpy_Mike

The best way is to feed each microphone into a different analogue input via the appropriate coupling circuits and amplifiers of course.
However loudness is not always related to peak voltage so one way would be to integrate the signal.

As to direction, you might get some indication from the arrival times of the different microphones but this only works with impulse noises ( think bang ) and requires a faster A/D than you have built in to the arduino. However it is not very good.

natecus

if i were to set up an array of mics forming a half circle would i be able to tell direction by which mic gets the strongest signal? or would the difference be to small to measure?

AWOL

The difference would be too small to measure, unless the microphones were very directional.
Arrange them in a cross, and measure time-of-arrival.
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

natecus

that makes sense i was just hoping to make a robot that followed the loudest sound with mics on it.

AWOL

That's a surprisingly difficult thing to do, unless the sound from different sources comes in distinct, discreet "lumps", like Mike described.
Otherwise you have to correlate to identify the different sources, and the Arduino doesn't have the processing horsepower.
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

natecus

ok so its possible to do if the sound was like a clap? i understand it might be difficult so i could just start with the microphones.

natecus

could i just have the arduino collect the data from the mics and send it all back to a computer and have the computer do the calculating?

AWOL

It could be a lot of data over a not-very fast link.
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Grumpy_Mike


could i just have the arduino collect the data from the mics and send it all back to a computer and have the computer do the calculating?

As well as it being a lot of data you would also have to break it up into packets and time stamp it. Then get it over, do the analysis and radio back the response. It is not going to be very real time.

In a previous life (or maybe it just seems that way) I did some R/D work using small directional/noise canceling mic's to help cancel out distant audio while picking up near sources. Basically the mic has equal openings in front and back (the back normally has two small holes to accommodate the need for the electrical connections). The theory is that the more distant, or off access, the sound, the more likely it is that the audio will enter both sides of the mic at the same time and cancel out, while nearby, or on axis, sounds tend to enter one end sooner than the other and therefore does not cancel out. I would also agree with AWOL that a "cross",  or just dual, configuration would probably be more effective (greater delta between sensors, like human ears) than using more sensors, especially if each sensor was acoustically isolated from the others (think sound absorbing foam). Some things that could make things easier would be if the sound was in a short duration pulse source (as previously mentioned) i.e. a clap. Also, higher frequencies might make direction detection easier (long waves like sound can be difficult to work with over short distances) so an ultrasonic source could make things much easier (not to mention undetectable by people).

This sounds like an interesting project. I hope this is helpful and that you post your experiences.

natecus

well the more i post here the harder this project seems. is there any way for me to do this or should i just come up with another project to start? if there is a way please help me with the circuit, i am an alright programmer and can probably figure that out but im really just starting with circuits and could use some help

It sounds to me like it might be a fun project, but that the likelihood for it to not achieve the results you desire are high (sometimes referred to as "Failure", but I like to call these learning experiences), so maybe not a good project for someone just starting out unless you are highly tolerant to "learning experiences". I would suggest doing something simpler to start, but would love to see what is possible with this.

Go Up