functionboy_or_girl()%matlab甄别男女声%limit——平均最大频率低于limit赫兹判断是男声%fs——采样频率clear;clc;limit=360;fs=8000;s=recorder(true,fs,2);display'Processing...'OMG=4000*pi;%频带宽度k=1000;%频带采样点个数omg=linspace(0,OMG-OMG/k,k);l=length(s);piece=500;r=5; %样本重复次数t=linspace(0,r*(piece-1)/fs,r*piece);%样本播放时间为音频长度/fs秒W=1/fs*exp(-1i*kron(omg',t));F=zeros(k,1);for i=1:l/piece sample=s((i-1)*piece+1:i*piece); F=F+abs(W*repmat(sample,r,1))/l*piece;end%figure(gcf);plot(omg/2/pi,F);%xlabel('frequency');ylabel('amplitude');[~,f]=max(F);justify=f*OMG/k/2/pi;%Hzifjustify