matlab 滤波处理,基于Matlab的语音滤波处理

《基于Matlab的语音滤波处理》由会员分享,可在线阅读,更多相关《基于Matlab的语音滤波处理(13页珍藏版)》请在人人文库网上搜索。

1、数字信号处理课程设计基于matlab的语音信号处理摘要利用所学习的数字信号处理知识,设计了一个有趣的音效处理系统,首先设计了几种不同的滤波器对声音进行滤波处理,分析了时域和频域的变化,比较了经过滤波处理后的声音与原来的声音有何变化。同时设计实现了语音的倒放,变速播放,回响,音调转换等处理效果,其中音调转换部分使用了重新采样改变基频,再进行时长规整的算法。基于MATLAB的语音信号处理语音信号的采集录制或者截取一段音乐,时间在1分钟左右,存为.wav的文件。然后利用wavread对语音信号进行采样。我们一共选择了3段语音,其中d.wav 真心英雄(周华健)(男声)man.wav我的歌声里(自己录。

2、制)(男声)girl.wav看的最远的地方(张韶涵)(女声)语音信号的频谱分析使用matlab画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,画出频谱图,分析频率成分。这里我们分析的是d.wav,通过分析知道频率分布在010KHz,主要分布在低频。数字滤波器设计这里我们设计了4种滤波器对语音进行处理,分别为椭圆低通滤波,椭圆高通滤波,等波纹逼近法FIR带通滤波器,双线性变换法切比雪夫数字高通滤波器,绘制出相应的幅度、相位谱图,滤波后的波形、频谱图。各滤波器的设计如下:椭圆低通滤波器:fb1 200 Hz,fc1 400 Hz,As100 dB,Ap1 dB椭圆高通滤。

3、波器:fc4 800 Hz,fb5 000 Hz As100 dB,Ap1 dB等波纹逼近法设计FIR带通滤波器fb11200Hz,fb23000Hz,fc11000Hz,fc23000Hz,As100dB,Ap1dB双线性变换法切比雪夫数字高通滤波器fc4 800 Hz,fb5 000 Hz As100 dB,Ap1 dB滤波处理后,我们用函数sound()可以对声音进行回放,调用格式:sound(x,fs,bits);感觉滤波前后的声音。语音的低频部分沉稳,空间感较强;中频部分音质一般;高频部分音质非常尖锐,略微有尖音。此外中高频的幅度都不大,回放时音量较低。语音变速播放改变语音的播放速度。

4、也就是改变采样间隔(即改变了采样频率),但是这个频实现率依然要在2f(Nyquist rate)之上,否则就会产生失真。%变速-慢放%w=0.9;M=w*fs; %w1为快放,w1时音调降低;f1为快放,w1降调,1降调,1降低;f1升高f=round(f*1000);d=resample(x,f,1000);%时长整合使语音文件恢复原来时长 W=400; Wov=W/2; Kmax=W*2; Wsim=Wov; xdecim=8; kdecim=2; X=d; F=f/1000; Ss =W-Wov; xpts = size(X,2);ypts = round(xpts / F); Y = 。

5、zeros(1, ypts); xfwin = (1:Wov)/(Wov+1); ovix = (1-Wov):0; newix = 1:(W-Wov);simix = (1:xdecim:Wsim) - Wsim; padX = zeros(1, Wsim), X, zeros(1,Kmax+W-Wov);Y(1:Wsim) = X(1:Wsim); lastxpos = 0; km = 0; for ypos = Wsim:Ss:(ypts-W) xpos = round(F * ypos); kmpred = km + (xpos - lastxpos); lastxpos = xpos。

6、; if (kmpred = Kmax) km = kmpred; elseysim = Y(ypos + simix); rxy = zeros(1, Kmax+1); rxx = zeros(1, Kmax+1); Kmin = 0; for k = Kmin:kdecim:Kmax xsim = padX(Wsim + xpos + k + simix); rxx(k+1) = norm(xsim); rxy(k+1) = (ysim * xsim); endRxy = (rxx = 0).*rxy./(rxx+(rxx=0); km = min(find(Rxy = max(Rxy)-1); endxabs = xpos+km;Y(ypos+ovix) = (1-xfwin).*Y(ypos+ovix) + (xfwin.*padX(Wsim+xabs+ovix); Y(ypos+newix) = padX(Wsim+xabs+newix); endend。

你可能感兴趣的:(matlab,滤波处理)