I want to identify male or female voice in a speech signal
15 views (last 30 days)
I have taken the speech signal as input using 'audiorecorder' function and converted it into a double precision array.. At the end of execution, i want to display whether the voice is male's or female's.. How to do this? Plz tell me step by step. Can we acheive this using fft plot?
Star Strider on 1 Oct 2016
Do some online research and determine the characteristic speech frequencies for adult males and females, or calculate the fft (link) of representative male and female voices, and use that as your guide. Then design bandpass filters for those frequency bands.
There are several ways to design filters in MATLAB with the Signal Processing Toolbox. The designfilt function is probably the easiest to use. My general recommendations (and specific approach to designing IIR filters) are here: How to design a lowpass filter for ocean wave data in Matlab?
Note that classification always involves false positives and false negatives (misclassification), and classification is actually a much more involved process than I’ve outlined here.
This is a relatively straightforward problem otherwise. Have fun with it!