I want to identify male or female voice in a speech signal
39 views (last 30 days)
Show older comments
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?
2 Comments
John D'Errico
on 4 Mar 2020
Note that you can never achieve perfect certainty here, but only a probabilistic prediction.
Accepted Answer
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!
0 Comments
More Answers (1)
Brian Hemmat
on 12 Apr 2020
Audio Toolbox provides an example: Classify Gender Using LSTM Networks
0 Comments
See Also
Categories
Find more on Measurements and Feature Extraction in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!