Ask Your Question

Sound capture with multiple microphones?

asked 2015-07-10 13:53:55 -0500

Fancyvase gravatar image

I am using Ubuntu 12.04 and ROS-Hydro and I have two audio-technica AT2020 USB microphones that I eventually plan on using for sound localization. However, to start off, I'm testing them with audio_capture and audio_play, which I got from following this tutorial.

The mics work fine independently (I just change the default microphone on System Settings > Audio) but is there a way to capture sound from both microphones simultaneously from two independent channels (so that, let's say, I could mute one but not the other)?


edit retag flag offensive close merge delete


audio_capture cannot do this

ahendrix gravatar image ahendrix  ( 2015-07-10 14:14:21 -0500 )edit

Do you know of another package that could do this?

Fancyvase gravatar image Fancyvase  ( 2015-07-10 14:24:48 -0500 )edit

I don't do a lot of audio work, so I'm not aware of any other packages that might work. (If I did, I would have suggested them in my first comment)

ahendrix gravatar image ahendrix  ( 2015-07-10 15:55:04 -0500 )edit

'Capture audio from multiple microphones' issue:

lucasw gravatar image lucasw  ( 2016-07-15 23:11:59 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2015-07-10 15:59:11 -0500

ahendrix gravatar image

A set of quick google searches for "ros microphone array" and "ros multiple microphones" turns up:

All of these look like they're doing custom audio capture using ALSA or another OS-level API.

edit flag offensive delete link more

answered 2016-07-16 01:10:57 -0500

lucasw gravatar image

I have a fork that can at least launch different instances of audio_capture with different devices:

It isn't fully working (for some reason device:="" works when device:="hw:1" does not in my test setup, when they ought to be the same), maybe with a little more work it could be pr worthy.

My setup has a device 1 which is my laptop mic, and 2 which is a webcam mic, so I can launch all these in separate terminals:

roslaunch audio_capture capture.launch device:="" ns:="t1"
roslaunch audio_capture capture.launch device:="hw:2" ns:="t2"
roslaunch audio_play play.launch ns:=t1
roslaunch audio_play play.launch ns:=t2

I imagine it isn't suitable for localization because the audio isn't timestamped, and the two different streams are captured in different processes.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2015-07-10 13:53:55 -0500

Seen: 1,834 times

Last updated: Jul 16 '16