I am creating a dataset, where in many speakers are recording their speech signals using different microphones and in different environment. I would like to evaluate the quality of audio and discard the audio of poor quality. Kindly give leads towards goods measurements (like SNR, PESQ(with reference)), so that a clean dataset can be created.

In specific, I want to check microphone quality from audio and dicard the audio with low quality.

Also please inform about the ideal value of these measurements.

  • $\begingroup$ " I want to check microphone quality", in that case, simply use silent portions of the audio stream. You can use signal power in silent portions as indication of the quality of microphone and noisiness of recording environment. $\endgroup$
    – MimSaad
    Commented Aug 8, 2016 at 15:56
  • $\begingroup$ thanks !! can you suggest some silence detection algorithm $\endgroup$
    – Shreya
    Commented Aug 8, 2016 at 18:12

1 Answer 1


This is the solution I think would work, there might be other more accurate and efficient ways to do this.

You might do this steps for every recording:

  1. Find the silent sections (using the algorithms stated below)
  2. Measure Standard Deviation of those silent portions of your recordings as an indication of noise power.
  3. Select Standard Deviation of silence sections of one the recordings that you are sure has acceptable quality, as a your threshold value.

  4. Discard any other recording that its estimated noise power is higher that specified threshold (which you estimate in step 3).

For detection of silent portions of the voice, I suggest simply segment your signal into some non-overlapping windows, estimate signal power


any signal segment which has a signal power below a per-defined threshold, might be considered as silent section. However this method is not very accurate. If you have enough time, try an algorithm called Voice Activity Detection (VAD), which is more widely used (the ITU-T G.729 standard uses VAD to reduce the transmission rate during silence periods of speech). Please, take a look at http://practicalcryptography.com/miscellaneous/machine-learning/voice-activity-detection-vad-tutorial/

  • $\begingroup$ By the way, take a look at this: dsp.stackexchange.com/questions/14491/… $\endgroup$
    – MimSaad
    Commented Aug 9, 2016 at 11:46
  • $\begingroup$ thanks for the response! can you give some idea on generic threshold values. $\endgroup$
    – Shreya
    Commented Aug 11, 2016 at 11:25
  • $\begingroup$ I depends on your signals, choose one of them which you think is the best, extract a silent section and measure its power and assume like 2/3 of it as your threshold. By the way, I suggest to keep all segments lengths the same . $\endgroup$
    – MimSaad
    Commented Aug 11, 2016 at 14:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.