ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Sound capture with multiple microphones?

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

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 -0600 )edit

Do you know of another package that could do this?

Fancyvase gravatar image Fancyvase  ( 2015-07-10 14:24:48 -0600 )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 -0600 )edit

'Capture audio from multiple microphones' issue:

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

2 Answers

Sort by ยป oldest newest most voted

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

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

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

Question Tools



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

Seen: 2,125 times

Last updated: Jul 16 '16