Have you ever felt the need to track your speaking habits, control your home with your voice, or simply record from multiple microphones at once? Then you're in luck! In this Instructable, you will learn how install and use an array of multiple microphones to simultaneously capture speech from individual rooms as text.

Like this Instructable? Don't forget to follow us, favorite it, and check us out on Facebook!

To do this, we'll be using the GStreamer media library and CMU's PocketSphinx speech-to-text utility, running with Python 2.7 on Ubuntu 14.04. This setup is extensible - if you're not looking for speech-to-text and instead want to do some other audio processing, GStreamer has a wide array of plugins that can be hooked up to your multi-microphone array to do recording, audio level monitoring, frequency analysis, and more!

Time Required:

1 hour

Total Cost (per microphone):

$30 wired, or $90 wireless

You Will Need (per microphone):


One quick note on the optional wireless system - there are a lot cheaper ways to do wireless microphone audio (we personally tried out this clip-on announcer microphone setup for $13 total), but they're often limited to a single channel. If you buy multiple of these, they'll broadcast to all receivers and you won't get that awesome per-room granularity.

Let's get to work!

Step 1: Preparing the Microphones

An Unfortunate Circumstance:

When our eBay-sourced USB audio dongles arrived, we were excited to finally have multiple microphone jacks! But this was short-lived when we realized that the audio immediately cut out when we plugged any of our active microphones into the jack.

It turns out the problem is related to function - the mono microphone jacks are designed to be plugged into a stereo recording system, and thus grounds the right channel so no audio is heard on that channel. The USB audio dongles, however, have mono microphone jacks that short the left and right channels together so that any stereo inputs are recorded as mono without one of the channels being removed. The result? Both channels are grounded, and the audio reading is a flat line.

Luckily, the solution is easy. We popped open the case of one of our dongles, located the audio jack, and snipped the leads off the right audio channel position (the "ring") to break the circuit. Now the USB dongle only records from the left audio channel, which is what the active microphones transmit.

You'll likely have to do the same - if your mic is silent via the USB dongle but works with the audio jack on your PC, crack open the case and clip the middle lead on the microphone jack to prevent the dongle from mixing the left and (grounded) right audio channels.

Microphone Setup:

After making the modifications to the USB dongles, the rest isn't hard to set up. We did little more than open the box, install a single AA battery, and flip the mic switch to "tele" to get each microphone operational. The "tele" mode records sound in a more narrow cone, which reduces noise from the sides - there's also a "normal" mode which acts like a regular omnidirectional microphone, but our setup worked better using a narrow field.

After installing the battery and switching it on, do the following for each microphone:

  1. Attach the microphone XLR connector to the microphone
  2. Plug the 1/4" mono jack on the other end of the microphone cable into the gold 1/4" to 1/8" adapter
  3. Plug the audio adapter into the pink microphone port on the USB audio dongle
  4. Plug the audio dongle into the USB hub (which is connected to the computer)

We recommend installing Audacity and recording from each microphone individually to make sure everything works. You'll likely have a list of USB sound device entries in your microphone input list - ours worked when we selected "Input Device - USB PnP Sound Device: Audio (hw:2,0): Mic:0".

Onward to installation!

<p>Thanks for this guide, this looks like a fun project!<br>I'm worried about the mic's batterylife though. According to the description of similar microphones one battery lasts for about 100h. Does that mean, I'd have to change the batteries every 7-10 days (if I turn the microphone off manually when I'm not using the setup)?<br>I'd like to use this setup for an always listening home automation assistant, but having to change the batteries that often would be a deal-breaker.</p>
<p>We went off-battery using a 1.5V <a href="http://cds.linear.com/docs/en/datasheet/158715f.pdf" rel="nofollow">linear regulator</a> attached to a wall wart power supply. Careful, though - this does tend to increase noise from the microphone. </p><p>In the end, we found an even better way to set up voice-control for home automation - you can check out that setup <a href="https://www.instructables.com/id/Hacking-the-Amazon-Echo/" rel="nofollow">HERE</a>.</p>
<p>Thanks for the reply!<br>I was looking for a way that doesn't involve the Echo though - it's too expensive and not yet available here in Germany.</p>
<p>It would be interesting to set this up at a party and capture conversations on-the-fly, print them out on an old dot-matrix printer or something...hee hee hee </p>

About This Instructable




More by FabricateIO:Home Automation with Amazon Echo voice control Cheap Arduino Controlled Light Sockets - Reverse Engineering RF Eye-Glowing Robotic Skull 
Add instructable to: