实验一 语音信号的采集及预处理
一、 实验目的
在理论学习的基础上,进一步地理解和掌握语音信号预处理及短时加窗的意义及基于matlab的实现方法。
二、 撰写实验报告要求
要求随本次上机撰写完成实验报告,报告中要有实验目的、实验步骤、实验程序、实验中得出的图形结果及结论等。
三、 实验内容及步骤
1. 语音信号的录音、读入、放音等:练习matlab中几个音频处理函数,利用函数wavread对语音信号进行采样,记住采样频率和采样点数,给出以下语音的波形图(2.wav),wavread的用法参见mablab帮助文件。利用wavplay或soundview放音。也可以利用wavrecord自己录制一段语音,并进行以上操作(需要话筒)。
2. 画出语音信号的波形,并指出清音与浊音,描述清音与浊音时域波形的特点。
3. 语音信号的分帧:选择20ms左右为一帧,帧移取1/2帧长,对语音信号进行分帧,可以利用voicebox工具箱中的函数enframe。voicebox工具箱是基于GNU协议的自由软件,其中包含了很多语音信号相关的函数。
voicebox工具箱安装方法:
把工具箱拷贝入.\MatLab\toolbox目录下;
菜单file-set path-"Add folder" 导入voicebox;
菜单file-Preference-General-"Updata Toolbox Path Cache
分帧函数的调用:
y=enframe(x,len,inc)
x为输入语音信号,len指定了帧长,inc指定帧移,函数返回为n×len的一个矩阵,每一行都是一帧数据。
4 窗函数及其时频特性:本步要求利用window函数设计窗口长度为200(N=200)的矩形窗(rectwin)、汉明窗(hamming)及汉宁窗(hann)),利用wvtool函数观察其时域波形图及频谱特性,比较得出结论。
w = window(fhandle,n)
w = window(fhandle,n,winopt)
w = window(fhandle,n) returns the n-point window, specified by its function handle, fhandle, in column vector w. Function handles are window function names preceded by an @.
@barthannwin
@bartlett
@blackman
@blackmanharris
@bohmanwin
@chebwin
@flattopwin
@gausswin
@hamming
@hann
@kaiser
@nuttallwin
@parzenwin
@rectwin
@triang
@tukeywin
w = window(fhandle,n,winopt) returns the window specified by its function handle, fhandle, and its winopt value or sampling flag string. For chebwin, kaiser, and tukeywin, you must enter a winopt value. For the other windows listed below, winopt values are optional.
Examples:Create Blackman Harris, Hamming, and Gaussian windows and plot them in the same WVTool.
N = 65;
w = window(@blackmanharris,N);
w1 = window(@hamming,N);
w2 = window(@gausswin,N,2.5);
wvtool(w,w1,w2)
5. 语音信号加窗:观察信号加矩形窗及汉明窗后的波形,取出其中一帧,利用subplot与reshape函数将一帧语音的波形、加矩形窗波形及加汉明窗波形画在一张图上比较将得出结论。
例:语音信号分帧,每一帧加哈宁窗
y=enframe(x,hanning(len),inc);
6. 预加重:即语音信号通过一个一阶高通滤波器。
例如:y=filter([1 -0.9375],1,x)
利用subplot画出预加重前后的波形图。
7 (选做)改变帧长、帧移重复上述步骤。
8 (选做)换一段语音重复上述步骤。
9. 重点分析语音信号的时域特征,编写短时加窗部分的程序,得出结论,撰写实验报告。
第二篇:语音信号处理实验记录
2012-4-20
选用podium的两通道输出做了时延估计,法相用cc函数呢过估计时延 但是2通道的时延差为0
若选用x1为1通道数据
选用x1+d为2通道数据,则能正确估计
选用11024个点,耗时0.896016 seconds。
若选用1024个点也能估计出来,但是互相关函数波形不好看
1
0.5
-0.5
-101234567
x 10
1
0.5
-0.5
-101234567
x 10
IFFT法互相关函数8585
2
1.5
1
0.5
还有,当你选取为奇数个点(n=N-N2)的时候,时延估计准确,当你选取偶数个点的时候,总是相差0.5个点。