Question

I'm processing audio using a phone Samsung Galaxy mini and also in a tablet Nexus 7

I've using the class audiorecord, until now, I have been able to correctly analyze audio from frequencies 200 to ~20000 Hz.

I'm detecting pitch through auto-correlation, I based in this code: http://tarsos.0110.be/artikels/lees/YIN_Pitch_Tracker_in_JAVA

I am using 44100Hz of sampling frequency, and I have also used 8000Hz.

I have not being able to detect pitch from lower frequencies, I can hardly detect 100Hz by pointing the microphone to a speaker.

Does someone know the input frequency response of the devices or if are physically or code limited?

I would like at least being able to detect correctly from 50Hz because I'm trying to do a voice detector and I being struggling with this low frequencies in order to detect male voices.

Thank you for all.

-Jessica

Was it helpful?

Solution

I cant tell you about what is the limit of low frequencies that these microphones can capture.

Out of curiosity I did some tests with YIN here...

I'm using one Window = 2048 and Overlap = 1024, and I can find Frequency above 40HZ in recorded files sampled at 44100Hz, this prove me that the algorithm can find low frequencies.

You can do tests with you phone using pure sinusoid at 50Hz and see if your code can track.

"The fundamentals of human voices are roughly in the range of 80 Hz to 1100 Hz"

My guess is that the microphones from smart phones are not so good :-(

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top