💥💥💞💞欢迎来到本博客❤️❤️💥💥



🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。



⛳️座右铭:行百里者,半于九十。

目录

​​📋1 概述​​

​​📝2 运行结果​​

​​📃3 参考文献​​

​​📋4 Matlab代码实现​​


📋1 概述

   性别鉴定旨在通过对输入的语音信号进行分析处理,判定一个语音处理系统中说话人的性别,它是说话人识别和语音识别的一个重要研究课题。准确的性别鉴定不仅对于提高说话人识别的精度有重要意义,在非特定人连续语音识别的前端加入性别鉴定,然后利用男女两个语音模型对输入语音进行语音识别,还可以在较大程度上提高语音识别的准确度。
 

📝2 运行结果

基于语音信号识别性别(Matlab代码实现)_语音识别

基于语音信号识别性别(Matlab代码实现)_算法_02

基于语音信号识别性别(Matlab代码实现)_参考文献_03

 部分代码:

%% Digital Signal Processing Project- Gender Identification and Classification                                    
  

%% Program:
%Feature Matrix
datamat=zeros(11,4); % data matrix to store features
for k=1:11
    filename=['s' num2str(k) '.wav'];
    [my2,fs] = audioread(filename);%Reading the files
    [fundamental_freq,zero_crossing,short_energy]=Charac_features(my2,fs);%Finding features
    %Storing features in the data matrix
    datamat(k,1)=k;
    datamat(k,2)=fundamental_freq;
    datamat(k,3)=zero_crossing;
    datamat(k,4)=short_energy;
end

%% Feature Extraction and Classification

fundamental_freq_level=135;%Manually fixing the value of the fundamental freq
zero_crossing_level=12;%Manually fixing the value of the zero crossing value
short_energy_level=0.5;%Manually fixing the value of the Short energy value

%Reading a file and getting the fundamental,zero crossing, short energy
%values
[my2,fs] = audioread('s2.wav');
figure;plot(my2);title('Test Signal');
xlabel('Index');ylabel('Amplitude');

[freq,zero_cross,short_ene]=Charac_features(my2,fs);

%Giving weights and finding a number for a particular obseravation
marks=0.25*(freq/fundamental_freq_level)+(zero_cross/zero_crossing_level)*0.35;
marks=marks+ (0.4*short_ene/short_energy_level)

if marks>1 %if value greater than 1 for that particular observation
    ans='female'
else 
    ans='Male'
end  
%%

📃3 参考文献

[1]黄关维.一种用于说话人性别鉴定的混合算法[J].现代计算机(专业版),2008(08):8-11+17.

📋4 Matlab代码实现