基于MATLAB的数字语音处理.docVIP

  • 10
  • 0
  • 约5.53千字
  • 约 9页
  • 2018-02-17 发布于贵州
  • 举报
基于MATLAB的数字语音处理

数字信号处理课程设计 基于MATLAB的数字语音处理 班级:电科1002班 学号:1 姓名:涂知香 指导老师:雷学堂 设计任务 录取一段伴奏音乐上加入自己的伴唱,做成一首歌曲。 设计要求 伴奏音乐中含有3种单一频率噪声(通过加噪方式加入),3种噪声频率的频差不大于3kHz,且落在音频范围内。 自己的伴唱要进行频率均衡,并加入混响效果。 伴唱中应有一段说词,说词中必须有体现自己专业班级姓名的声音。``````` 最终的歌曲格式为.wav 设计思路 设计运算 在班次实验设计过程中主要应用的是傅里叶变换和卷积运算。 设计结果 (频谱截图、频谱分析) 1 伴唱(aaa)进行语音滤波(aaa1) 再进行延时混响(aaa2) 2 伴奏(bbb)加噪(bbb1) 经处理后的伴奏伴唱合成在一起构成leisiaiqing2的音乐文件,再将其进行消噪得到bbb2 (x1为leisiaiqing2的波形,y2为消噪得到bbb2的波形) 3 频域理想低通滤波(bbb3) 4 频域理想高通滤波(bbb4) 设计结果 得到的最后的音频文件类似爱情.wav的波形 设计总结 达到的目标 1 录制一分钟的伴唱和伴奏,在伴奏中加入了1000HZ,1500HZ,2000HZ的正弦波噪音,将伴唱进行语音滤波和延时混响。 2 将处理后的伴唱伴奏(将伴奏衰减一倍便于区分)合在一起,再消噪,频域理想低通滤波和频域理想高通滤波,得到音频文件类似爱情.wav。 3 因为本人中低音一般高音较尖锐,所以在滤波时就滤除了较高的高音,而在音频文件类似爱情.wav中高潮部分听上去的效果有点像唱不上去一样,这就是较高的高音就被削减了的结果。 4 因为选取的音乐的节奏感不是很强,在低潮部分不怎么听得出伴奏是否和伴唱同步,但在高潮部分就可以明显听出伴唱和伴奏时同步的。 存在的问题一集解决办法 1 问题:伴唱太突出,伴奏被压下去了;解决办法是在伴奏和伴唱合在一起时减小伴唱增加的倍数。 2 问题:消噪后的音频文件了还是有一些噪声;解决办法是再进行频域理想低通滤波和频域理想高通滤波就可以得到噪声较少的音频文件。 3 问题:伴唱进行延时混响后播放时间又录制的一分钟变成了63秒; 源代码 %%%%%带阻和低通滤波%%%%%%% x=wavread(aaa.wav);%读取名为aaa.wav的原语音信号 y=filter(hns,1,x); %带阻滤波,滤波器在FDATool中设计,并导到工空间,因本人的中低音一般,高音太多 %Hpass,FIR,Equiripple,Minmum order,Fs=22050,Fpass1=50,Fstop1=1500,Fstop2=2000,Fpass2=2500,Apass1=1,Astop=30,Apass=1. yy=filter(hnh,1,y); %高通滤波,滤波器在FDATool中设计,并导到工空间,因本人的高音比较重 %Hpass,FIR,Equiripple,Minmum order,Fs=22050,Fstop=300,Fpass=3000,Astop=20,Apass=1 wavwrite(yy,22050,aaa1.wav);%将经混响后的信转换为语音,aaa1.wav的语音中的中低频分量将有所衰减. subplot(3,1,1);plot(x,y); ylabel(涂知香x); subplot(3,1,2);plot(x,y); ylabel(涂知香y); subplot(3,1,3);plot(y,yy); ylabel(涂知香yy) %%%%%延时混响%%%%%%% x=wavread(aaa1.wav); %读入原始声音 n=1200; %设定延迟时间t=n/fs秒,改变该数据可改变混响深度(时间间隔) N=60; %y设定延迟级数为N级,改变该数据可改变次数 x1=[x;zeros(N*n,1)]; %将x通过补零延长到经N级延时后的长度 for i=1:N %进行N次延时,第一次延时在x前补n 个0,后补(N-1)*n个0 x2=[zeros(i*n,1);x;zeros((N-i)*n,1)]; %第i次延时在x前补i*n个0,后补(N-i)*n个0 x1=x1+1/(2*i)*x2; %将经延时的信号x1跟x逐次相加 end wavwrite(x1,22050,aaa2.wav);

文档评论(0)

1亿VIP精品文档

相关文档