Table of Contents
Have you ever had an important event online where it was crucial that you had a functioning microphone, so you were able speak with others? I did not long ago and at the absolute worst time possible moment my soundcard decided to die. I sat in disbelief as mere hours before the “NIS iRacing Virtual Daytona 500” was set to kick off my stupid sound card released the magic smoke.
Don’t you know? That’s how all electronics work, there is this magic white smoke inside of them and so long as the smoke stays inside the device works. The minute that smoke escapes your device is trashed. I’m pretty sure the whole thing works something like Highlanders and the quickening, but anyway I’m getting off track.
Below you will find a short video walking you through getting the whole thing setup on a Raspberry Pi. It also works on PC or Linux.
It’s a brilliant idea really, everyone is already carrying around a couple very high-end microphones with them at all times so why not use it for voice chat, streaming, recording, etc. I can practically guarantee that unless you have a recording studio in your house you don’t have a higher-end microphone than the one you carry around in your smart device. While I wouldn’t want to use this if I was in a studio laying down my next hit single. But in a pinch with the help of a complimentary app or two this would be totally acceptable for podcasting, or live streaming, or light voiceover work.
To dig a little deeper, the only reason the mic in your phone is so inexpensive is because your smartphone manufacturer orders a mammoth amount of them at a time. This means they are mass produced, and economies of scale kick in. Now if you were to go out and try to buy an equivalent standalone microphone, you’d be shelling out more than buying a mid-tier smartphone.
To buy a standalone microphone that also has the noise canceling, auto leveling, and other features your phone is capable of either automatically by itself or with the help of some simple, free, post processing apps. You’d be paying as much if not more than a high-end flagship smartphone — Apple iPhone or Samsung Galaxy Note. —
Good thing that’s not necessary and once again it’s Open Source (FOSS) to the rescue.
Getting Started
WiMic consists of two parts a client application that lives on your phone and a server component which runs in the background on your computer.
WiMic Android Client App
You can connect to the server with WiMic Android App, this was designed and optimized to work with WiMic Server/Client.
WiMic Android should run on any device running Android 4.0 (IceCreamSandwich, API 14) and later.
You can find the official GitHub repo for the app here: https://github.com/hiro2233/wimic_android
The Server Setup
Here is how to get the WiMic server application running on Windows PC or Raspberry Pi/Linux.
PC install
Under 32 or 64 bit Windows.
Download the win host setup installer here, then run the executable and follow the instructions provided by the installer.
Raspberry Pi (Raspbian install)
Open a terminal and execute the following code:
$ wget https://github.com/hiro2233/wimic/raw/master/install_wimic.sh
$ chmod +x install_wimic.sh
$ source install_wimic.sh
Wait for this to finish. After installation is complete reboot your Raspberry PI, WiMic will autostart in service mode. By default, WiMic server will use microphone on autostart mode, but if you want to use the speakers in autostart mode you can disable this doing:
$ echo 1 > /system/urus/slotdata/wimic_mic_disabled.txt
Debian Linux install
The procedure to install WiMic server on a Debian Linux machine should be nearly identical to the above method used for the Pi.
My Experience
This little app saved my bacon at the biggest race of the year, — I finished 7th out of the 29 cars that finished the race in my split! — This setup actually worked a lot better than it had any right too. At one point in the race, I was trying to adjust something or another and wound up knocking my phone onto the ground behind my chair somewhere. Speaking clearly in the general direction of my phone on the floor everyone was still able to hear me without issue for a good part of event!
Now I don’t think I’d want to rely on this solution as an everyday driver or even semi-permanently. Not because it is bad in anyway but because I have a very bad habit of running the battery down nearly dead on my phone. If a fast charger wasn’t readily available my battery would be dead rather quickly and I’d be out of luck again.
Spanish Speakers
For those more comfortable with Spanish than English you can find detailed installation documentation in Spanish at that link.
This isn’t the only time we’ve used FOSS on our smartphone to augment and enhance the functionality of our PC.
- Here is a Free Open-Source way to use your Android phone as a fully functional game controller
- In the same vein here is a reasonably priced way to use an Android or IOS device as a second screen while racing.
- Here is another bargain priced app that allows you to use your mobile to replace an expensive headtracking setup like TrackIR.
* A previous version of this post stated that WiMic was also available on Apple IOS and Mac. This was incorrect, we regret the mistake and will endeavor to do better in the future.
[…] do? Once again that overengineered little supercomputer I keep in my pocket to the rescue. As you saw previously in my writeup on WiMic everyone of us is carry around a high-quality microphone with us at all times. Well, the same is […]