失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【语音处理】基于matlab语音去噪频谱分析【含Matlab源码 1019期】

【语音处理】基于matlab语音去噪频谱分析【含Matlab源码 1019期】

时间:2019-12-30 17:32:42

相关推荐

【语音处理】基于matlab语音去噪频谱分析【含Matlab源码 1019期】

一、语音处理简介

MATLAB GUI是用户与计算机或计算机程序的接触点或交互方式,是用户与计算机进行信息交流的方式。图形用户界面(Graphical User Interfaces,GUI)则是由窗口、光标、按键、菜单、文字说明等对象(Object)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。本设计基于MATLAB GUI技术,完成了语音信号处理的界面平台,可进行语音的选取、线性预测分析(LPC)、语谱图、频谱等相关波形的显示。这样可以更直观、更方便地分析和处理语音信号,得到用户需要的实验结果。

具体理论知识参考:基于MATLAB GUI的语音处理界面设计

二、部分源代码

clear allclc[y,fs]=audioread('5.wav');% fengzhi=0.43;buchang=10000;%时间间隔,5.wav感觉要设置更小一点fengzhi=0.2;%峰值阈值0.2;3.wav阈值0.43x=y(:,1);%sound(y,fs);n=length(y);y_p=fft(y,n);f=fs*(0:n/2-1)/n;figure(1);subplot(2,1,1);plot(y);title('原始语音信号采样后的时域波形');xlabel('点数');ylabel('幅值A');subplot(2,1,2);plot(f,abs(y_p(1:n/2)));title('原始语音信号采样后的频谱图');xlabel('点数');ylabel('频率幅值');L=length(y);noise=0.1*randn(L,2);y_z=y+noise;%sound(y_z,fs);n=length(y);y_zp=fft(y_z,n);f=fs*(0:n/2-1)/n;figure(2);subplot(2,1,1);plot(y_z);title('加噪语音信号时域波形');xlabel('点数');ylabel('幅值A');subplot(2,1,2);plot(f,abs(y_zp(1:n/2)));title('加噪语音信号频谱图');xlabel('点数');ylabel('频率幅值');%FIR高通加窗滤波?fp=3000,fc=2700;wp=2*pi*fp/fs;ws=2*pi*fc/fs;Bt=wp-ws;N0=ceil(11*pi/Bt);N=N0+mod(N0+1,2);wc=(wp+ws)/2/pi;hn=fir1(N-1,wc,'high',bartlett(N));X=conv(hn,x);sound(X,fs);X11=fft(X,n);f=fs*(0:n/2-1)/n;figure(3);[pks,locs] = findpeaks(X,'minpeakheight',fengzhi);

三、运行结果

四、matlab版本及参考文献

1 matlab版本

a

2 参考文献

[1]韩纪庆,张磊,郑铁然.语音信号处理(第3版)[M].清华大学出版社,.

[2]柳若边.深度学习:语音识别技术实践[M].清华大学出版社,.

[3]宋云飞,姜占才,魏中华.基于MATLAB GUI的语音处理界面设计[J].科技信息. ,(02)

如果觉得《【语音处理】基于matlab语音去噪频谱分析【含Matlab源码 1019期】》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。