使用MATLAB这款软件可以直接得到你所保存的语音信号,只需要调用wavread函数就可以对语音信号进行读取,得到了音频数据的变量。下面介绍了wavread 函数几种调用格式与其功能说明。
(1)y=wavread(‘file’) 功能说明:读取你所保存的wav文件,‘file’包括完整的地址如:'E:\01.wav ',将语音信号的采样值放在向量y中[11] 。
(2)[y,fs,nbits]=wavread(‘file’) 功能说明:采样值放在向量y中,fs表示了采样频率(Hz),nbits表示了采样位数[11] 。
(3)y=wavread(‘file,N’) 功能说明:读取前N点的采样值放在向量y中。[11]。
(4)y=wavread(‘file,[N1,N2]’) 功能说明:读取从N1点到N2点的采样值放在向量y中[11]。
可能会遇到自己录制的wav文件不能读取,可以自己下载一段wav声音文件。
2.2语音信号的频谱分析
(1)语音信号的时域分析
时域分析:
1)将信号分解成一个个的冲激函数(注意,是冲激函数,而不是一个个单独的冲激,函数是从整个的时间域上来定义的),因此,只要我们知道了系统对于一个冲激函数的响应函数,我们就能够求出系统对于整个信号函数的响应函数;
2)时域分析主要是以微分方程来表示的,通过对微分方程的计算,我们可以得到被测系统的冲激响应,这样就可以分析出系统的特性,从而得到冲激响应的响应函数h(t)。
3)此时,将完整复杂信号(已经分解好了的信号),通过系统,就好像流水线上加工产品一样,让整个信号通过,然后对每一个冲激函数进行加工,并且对于不同的冲激函数,做不同的个性化加工,这里的个性化加工,就是根据冲激函数中的冲激在时间轴上位置,如果冲激在时间轴上0点左边t0的位置上,并且冲激的幅值是a,那么对应的加工结果就是个性化了的冲激函数的响应函数a*h(t+t0),对每个分解的基信号(即冲激函数)都做了这样的个性化加工以后,再将所有的加工结果相加,最终得到我们想要的系统对于整个信号的响应。这就是我们所说的卷积的过程,即y(t)=cov[f(t),h(t)]。
MatLAB语音采集和分析的程序设计(3):http://www.youerw.com/zidonghua/lunwen_42692.html