這篇文章主要介紹“matlab怎么實現(xiàn)辨別男女聲”,在日常操作中,相信很多人在matlab怎么實現(xiàn)辨別男女聲問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”matlab怎么實現(xiàn)辨別男女聲”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、網(wǎng)絡空間、營銷軟件、網(wǎng)站建設、官渡網(wǎng)站維護、網(wǎng)站推廣。
function man_or_woman(file) [x,fs]=audioread(file); % 讀入聲音文件 %======時域圖像====== 隨著時間聲音賦值震蕩圖 data=x(:,1); %取單聲道 n=0:length(x)-1; %建立一個信號等長的序列 time=n/fs; %建立時間序列,作為橫坐標 figure(1); %圖1:時域波形圖 plot(time,data); %作圖 title('音頻信號時域圖') %標題 xlabel('時間/s'); %標注橫坐標 ylabel('幅值'); %標注縱坐標 grid on; %打開網(wǎng)格線 %=======頻域圖====== N=length(data); %取信號矩陣的長度 Y1=fft(data,N); %N點傅里葉變換 mag=abs(Y1); %取模 f=n*fs/N; %頻率序列 figure(2); %圖2:頻譜圖 plot(f(1:fix(N/2)),mag(1:fix(N/2))); title('音頻信號fft頻譜圖');%標題 xlabel('頻率/Hz'); %標注橫坐標 ylabel('幅度'); %標注縱坐標 grid on; %打開網(wǎng)格線 %======基音頻率提取====== [~,index]=max(data); % 返回最大值 最大值索引 timewin=floor(0.015*fs); xwin=data(index-timewin:index+timewin); [y,~]=xcov(xwin); ylen=length(y); halflen=(ylen+1)/2 +30; yy=y(halflen: ylen); [~,maxindex] = max(yy); fmax=fs/(maxindex+30); disp([file,'基音頻率為 ', num2str(fmax), ' Hz']) %======通過基音頻率判斷男女聲====== if fmax<200; disp([file,' 是男聲文件']); else disp([file,' 是女聲文件']); end;
到此,關于“matlab怎么實現(xiàn)辨別男女聲”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)頁題目:matlab怎么實現(xiàn)辨別男女聲
分享網(wǎng)址:http://weahome.cn/article/podshc.html