I have a very large number of files containing short speech samples, but a lot of them will have too much background noise to be useful. Is there any way I can use Praat to scan the files and estimate the background noise level so that I can narrow my set down to the ones that are likely to be usable? The noise could be of any kind - often music but also background chatter, traffic etc.

I would also like to sort the samples by speaker gender. I can write a Praat script that will sort them based on average pitch, but is there a more sophisticated / accurate way to do this?

1 Answer 1


The first step would be to manually identify some samples that would be useful, and some that are useless. You may have to do this in two sub-batches, the first being to more sharply define what you you are trying to exclude (and why). Some possible reasons to exclude are that there are random car horns overlapping human utterances, or there is constant jackhammering throughout some recordings.

Ultimately you would be looking for settings that give you the best results for textgrid-to-silences, which most closely identifies "speech" versus "not speech". In the jackhammer condition, everything is "speech", there is no silence. With a set of usable threshold values for silence-detection, you can (with a script) look at the pitch and amplitude listings to find sufficient amplitude distinctions over reasonable time periods (e.g 15 dB drop for at least 1 second) also correlated with pitch difference (looking for "no pitch"). This may characterize the distinction that you're interested in – "not worth spending time on" vs. "can get something from this".

Gender is such a complex topic that I don't see any prospects for blindly assigning speakers to a gender.

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.