Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to monitor microphone for noise sound?

I’m trying to find an algorithm to detect when the user blows into the microphone (like Ninentdo DS or iPhone) on a WM6 device with C#.

I was thinking to use Waveform to read from the mic in real time into a small buffer, but I'm a bit lost on how to recognize the blowing sound, I guess it sounds like white noise. Anyone has an idea on how to do it?

Any help will be greatly appreciated.

like image 413
Federico Avatar asked Jan 07 '09 23:01

Federico


People also ask

Do mics pick up background noise?

A: The mic with higher quality will be more sensitive, and it will pick up more noise - unwanted ambient sound like typing and mouse clicks. Unless you're recording in a vacuum, it's impossible to get rid of all ambient sound from recordings.

Is there mic monitoring on PC?

Open Sound. Click the Recording tab. Double-click on the microphone you are using in the list of recording devices: Click the Levels tab.


1 Answers

If I were to tackle the problem, I'd blow into the mic and record that. Then run an FFT on the wave data to get a dominant frequency (or a few). I'd do that for several "blows" to see if they produce similar results. If they do (and I'm fairly sure they will) then I'd use an algorithm to look for that same frequency.

It's not a trivial task, but since a lot of the recording and math work is done, you could probably get it to work without too much pain.

like image 149
ctacke Avatar answered Sep 22 '22 10:09

ctacke