help with programmable audio frequency detector sensor

Thread Starter


Joined Dec 4, 2019
I'm trying to design a programmable audio frequency detector sensor. It is supposed to be able to record voices, detect voices and notify presence of a voices with a certain range of frequencies. Which programming language should i use and how can i implement it?


Joined Sep 17, 2013
Amplify the signal from an audio sensor (microphone) sufficiently to meet the input needs of an analogue input of a MCU, then program the MCU to measure the interval between alternate zero-crossings (or other recognisable comparable parts) of the audio waveform. Frequency is the inverse of the period.


Joined Mar 10, 2018
Do you need a spectrum detected or just a single frequency / tone ?

Tone decoder for single tone detection - this will allow up to 20:1 range of freq detection

If you need a spectrum a micro running an FFT will handle that.

What is the range of frequencies you are interested in ?

Regards, Dana.


Joined Oct 29, 2013
Define your requirements first, the language will likely be one of the last things you choose. First decide what you want to detect. Just loud noises? Do you want to pull voices out of the background noise? Also define what platform you want to run on. Can it run on anything as long as it works? Or is it necessary to target a specific platform, such as cell phones, tablets, PC, etc..? Is this a small stand-alone device? Is it OK to use 3rd party libraries?

Once these questions are answered, you can start looking more at languages. For example, are you going use a regular old microphone and process the audio data using a 3rd party library that already provides this functionality? If yes, then consider the platform that the library is written for and the language that is native to that library. If you're working on a PC then it's likely that C, C++ or C# could be good choices. Are you going to use an embedded platform such as a cell phone or tablet? If it's android based then java or C# (xamarin) could be likely choices, or if it's an ipad then perhaps Swift would be the best choice. If you want to write your code once, but want it to run on multiple platforms (Windows, osx, iOS, android, etc..) then a multi-platform framework like xamarin might be worth looking into.

Languages are like kitchen knives. There are many of them, all developed for different purposes. Choosing the language first is like choosing your knife first then deciding what's for dinner based on what you can cut with that knife. Instead decide first what's for dinner, then decide which knife would work the best.
Last edited: