语音信号的采集及预处理.docx
- 文档编号:29713563
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:13
- 大小:257.88KB
语音信号的采集及预处理.docx
《语音信号的采集及预处理.docx》由会员分享,可在线阅读,更多相关《语音信号的采集及预处理.docx(13页珍藏版)》请在冰豆网上搜索。
语音信号的采集及预处理
实验 语音信号的采集及预处理
一、实验目的
在理论学习的基础上,进一步地理解和掌握语音信号预处理及短时加窗的意义及基于matlab的实现方法。
二、实验原理及内容
1.语音信号的录音、读入、放音等:
练习matlab中几个音频处理函数,利用函数wavread对语音信号进行采样,记住采样频率和采样点数,给出以下语音的波形图(),wavread的用法参见mablab帮助文件。
利用wavplay或soundview放音。
也可以利用wavrecord自己录制一段语音,并进行以上操作(需要话筒)。
实验程序:
I=wavread('');
Fs=256;
soundview(I,Fs);
实验结果:
2.语音信号的分帧:
对语音信号进行分帧,可以利用voicebox工具箱中的函数enframe。
voicebox工具箱是基于GNU协议的自由软件,其中包含了很多语音信号相关的函数。
实验程序:
I=wavread('');
y=enframe(I,256,128);
whosyI
实验结果:
NameSizeBytesClassAttributes
I9000x172000double
y69x256141312double
3.语音信号的加窗:
本步要求利用window函数设计窗口长度为256(N=256)的矩形窗(rectwin)、汉明窗(hamming)及汉宁窗(hann)),利用wvtool函数观察其时域波形图及频谱特性,比较得出结论。
观察信号加矩形窗及汉明窗后的波形,利用subplot与reshape函数将分帧后波形、加矩形窗波形及加汉明窗波形画在一张图上比较。
取出其中一帧,利用subplot与reshape函数将一帧语音的波形、加矩形窗波形及加汉明窗波形画在一张图上比较将得出结论。
(1)利用wvtool函数观察其时域波形图及频谱特性,比较得出结论。
实验程序:
N=256;
w=window(@rectwin,N);
w1=window(@hamming,N);
w2=window(@hann,N);
wvtool(w,w1,w2)
实验结果:
(2)观察信号加矩形窗及汉明窗后的波形,利用subplot与reshape函数将分帧后波形、加矩形窗波形及加汉明窗波形画在一张图上比较。
实验程序:
I=wavread('');
N=256;
w=window(@rectwin,N);
w1=window(@hamming,N);
w2=window(@hann,N);
I1=I(4000:
4255,1);
I2=I1.*w;
I3=I1.*w1;
I4=I1.*w2;
subplot(2,2,1),plot(I)
title('原始波形图')
subplot(2,2,2),plot(I2)
title('添加矩形窗波形')
subplot(2,2,3),plot(I3)
title('添加海明窗波形')
subplot(2,2,4),plot(I4)
title('添加汉宁窗波形')
实验结果:
3、预加重:
即语音信号通过一个一阶高通滤波器
。
实验程序:
I=wavread('');
I1=I(4000:
4255,1);
y=filter([1],1,I1);
subplot(1,2,1),plot(I1)
title('预加重前的波形图')
subplot(1,2,2),plot(y)
title('预加重后的波形图')
实验结果:
4、改变帧长、帧移重复上述步骤。
改变后的帧长、帧移为1024和256实验结果如下:
实验程序和实验结果分别如下:
I=wavread('');
t=enframe(I,1024,256);
plot(t)
图1改变帧长、帧移后的波形图
I=wavread('');
N=1024;
w=window(@rectwin,N);
w1=window(@hamming,N);
w2=window(@hann,N);
wvtool(w,w1,w2)
图2改变帧长、帧移后窗口的时域和频域波形图
I=wavread('');
N=1024;
w=window(@rectwin,N);
w1=window(@hamming,N);
w2=window(@hann,N);
I1=I(4000:
5023,1);
I2=I1.*w;
I3=I1.*w1;
I4=I1.*w2;
subplot(2,2,1),plot(I)
title('原始波形图')
subplot(2,2,2),plot(I2)
title('添加矩形窗波形')
subplot(2,2,3),plot(I3)
title('添加海明窗波形')
subplot(2,2,4),plot(I4)
title('添加汉宁窗波形')
图3改变帧长、帧移后的加窗图
I=wavread('');
I1=I(4000:
5023,1);
y=filter([1],1,I1);
subplot(1,2,1),plot(I1)
title('预加重前的波形图')
subplot(1,2,2),plot(y)
title('预加重后的波形图')
图4改变帧长、帧移后的预加重前后波形图
5、换一段语音重复上述步骤。
把语音换成
实验程序和实验结果分别如下:
I=wavread('');
t=enframe(I,256,128);
plot(t)
图5分帧后的波形图
I=wavread('');
N=256;
w=window(@rectwin,N);
w1=window(@hamming,N);
w2=window(@hann,N);
I1=I(4000:
4255,1);
I2=I1.*w;
I3=I1.*w1;
I4=I1.*w2;
subplot(2,2,1),plot(I)
title('原始波形图')
subplot(2,2,2),plot(I2)
title('添加矩形窗波形')
subplot(2,2,3),plot(I3)
title('添加海明窗波形')
subplot(2,2,4),plot(I4)
title('添加汉宁窗波形')
图6原始波形、加矩形窗波形、汉明窗波形及加汉明窗波形
I=wavread('');
I1=I(4000:
4255,1);
y=filter([1],1,I1);
subplot(1,2,1),plot(I1)
title('预加重前的波形图')
subplot(1,2,2),plot(y)
title('预加重后的波形图')
图7预加重前后的波形图
I=wavread('');
t=enframe(I,1024,256);
plot(t)
图8改变帧长、帧移后的波形图
I=wavread('');
N=1024;
w=window(@rectwin,N);
w1=window(@hamming,N);
w2=window(@hann,N);
I1=I(4000:
5023,1);
I2=I1.*w;
I3=I1.*w1;
I4=I1.*w2;
subplot(2,2,1),plot(I)
title('原始波形图')
subplot(2,2,2),plot(I2)
title('添加矩形窗波形')
subplot(2,2,3),plot(I3)
title('添加海明窗波形')
subplot(2,2,4),plot(I4)
title('添加汉宁窗波形')
图9改变帧长、帧移后的加窗图
I=wavread('');
I1=I(4000:
5023,1);
y=filter([1],1,I1);
subplot(1,2,1),plot(I1)
title('预加重前的波形图')
subplot(1,2,2),plot(y)
title('预加重后的波形图')
图10改变帧长、帧移后的预加重前后波形图
短时加窗处理的结论:
添加海明窗和汉宁窗可以得到效果不错的波形,很明显两个波形相似,矩形窗的波形相对不是很平稳。
通过改变帧长、帧移后波形更加的清晰,特征更加的明显,更方便观察。
三、思考题
1.语音信号包括哪些预处理,作用分别是什么?
答:
语音信号的预处理包括数字化、放大及增益控制、反混叠滤波、预加重等。
数字化:
抽样、量化;
放大及增益控制:
对语音信号进行放大;
反混叠滤波:
防止混叠滤波和噪声干扰;
预加重:
加上6DB/倍频程的下将的频率特性来还原成原来的特性。
2.不同窗口的优缺点,窗口长度如何选取?
答:
分帧可用可移动的有限长度窗口进行加权的方法来实现。
窗每次移动的距离如果恰好与窗的宽度相等,相应于各帧的语音信号是衔接的;如果窗的移动距离比窗宽要小,那么相邻帧之间将有一部分重叠。
窗口长度的选择:
通常在10kHz取样频率下,N折衷选择为100~200(即10~20ms持续时间)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语音 信号 采集 预处理