语音信号采集和分析报告.doc_第1页
语音信号采集和分析报告.doc_第2页
语音信号采集和分析报告.doc_第3页
语音信号采集和分析报告.doc_第4页
语音信号采集和分析报告.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

语音信号的采集与分析一、背景介绍1、语音信号处理的相关内容通过语音相互传递信息是人类最重要的基本功能之一.语言是人类特有的功能.声音是人类常用工具,是相互传递信息的最重要的手段.虽然,人可以通过多种手段获得外界信息,但最重要,最精细的信息源只有语言,图像和文字三种.与用声音传递信息相比,显然用视觉和文字相互传递信息,其效果要差得多.这是因为语音中除包含实际发音内容的话言信息外,还包括发音者是谁及喜怒哀乐等各种信息.所以,语音是人类最重要,最有效,最常用和最方便的交换信息的形式.另一方面,语言和语音与人的智力活动密切相关,与文化和社会的进步紧密相连,它具有最大的信息容量和最高的智能水平。语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,处理的目的是用于得到某些参数以便高效传输或存储;或者是用于某种应用,如人工合成出语音,辨识出讲话者,识别出讲话内容,进行语音增强等.语音信号处理是一门新兴的学科,同时又是综合性的多学科领域,是一门涉及面很广的交叉学科.虽然从事达一领域研究的人员主要来自信息处理及计算机等学科.但是它与语音学,语言学,声学,认知科学,生理学,心理学及数理统计等许多学科也有非常密切的联系.语音信号处理是许多信息领域应用的核心技术之一,是目前发展最为迅速的信息科学研究领域中的一个.语音处理是目前极为活跃和热门的研究领域,其研究涉及一系列前沿科研课题,巳处于迅速发展之中;其研究成果具有重要的学术及应用价值.2、工作流程:相关的信号与系统知识:傅里叶变换在信号处理中具有十分重要的作用,它通常能使信号的某些特性变得很明显,而在原始信号中这些特性可能含糊不清或至少不明显.在语音信号处理中,傅里叶表示在传统上一直起主要作用.其原因一方面在于稳态语音的生成模型由线性系统组成,此系统被一随时间作周期变化或随机变化的源所激励.因而系统输出频谱反映了激励与声道频率响应特性.另一方面,语音信号的频谱具有非常明显的语音声学意义,可以获得某些重要的语音特征(如共振峰频率和带宽等).根据语音信号的产生模型,可以将其用一个线性非时变系统的输出表示,即看作是声门激励信号和声道冲激响应的卷积.在语音信号数字处理所涉及的各个领域中,根据语音信号求解声门激励和声道响应具有非常重要的意义.例如,为了求得语音信号的共振蜂就要知道声道传递函数(共振峰就是声道传递函数的各对复共轭极点的频率).又如,为了判断语音信号是清音还是浊音以及求得浊音情况下的基音频率,就应知道声门激励序列.在实现各种语音编码,合成,识别以及说话人识别时无不需要由语音信号来求得声门激励序列和声道冲激响应.3、 相关MATLAB知识:MATLAB 语言是一种数据分析和处理功能十分强大的计算机应用软件 ,它可以将声音文件变换为离散的数据文件 , 然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等, 信号处理是MATLAB 重要应用的领域之一。2、 语音信号的录制采集和分析我使用的是自己手机的录音功能,录制了一段歌声“YR_220444.amr”,然后使用格式工厂软件将其转换成wav格式并重命名为“02120008.wav”。在matlab窗口中,调用wavread函数,读取音频文件。具体调用费事如下:y,fs,bits=wavread(C:UsersLenovoDesktop02120008.wav); 通过调用wavread函数,将录制好的音频文件信息储存在一个矩阵y中,fs保存wav格式音频文件的采样频率,其值为44.1kHZ。并用一个变量n来储存信息y的长度:n=length(y); 然后,调用decimate函数对y进行采样处理,在matlab中输入help decimate,可以得到其调用方式如下:DECIMATE Resample data at a lower rate after lowpass filtering. Y = DECIMATE(X,R) resamples the sequence in vector X at 1/R times the original sample rate. The resulting resampled vector Y is R times shorter, i.e., LENGTH(Y) = CEIL(LENGTH(X)/R). By default, DECIMATE filters the data with an 8th order Chebyshev Type I lowpass filter with cutoff frequency .8*(Fs/2)/R, before resampling. Y = DECIMATE(X,R,N) uses an Nth order Chebyshev filter. For N greater than 13, DECIMATE will produce a warning regarding the unreliability of the results. See NOTE below. Y = DECIMATE(X,R,FIR) uses a 30th order FIR filter generated by FIR1(30,1/R) to filter the data. Y = DECIMATE(X,R,N,FIR) uses an Nth FIR filter. Note: For better results when R is large (i.e., R 13), it is recommended to break R up into its factors and calling DECIMATE several Times.这样,通过调用这个函数,就能实现信号采集。本次课题中,采集的序列分别是之前的1/2,1/4,因此,参数R分别区2,4。并将采样后的信息保存在z1,z2中。然后,通过调用fft函数对信号进行傅里叶变换,得到采样前后信号的幅频特性曲线,以便进行频域分析。通过调用matlab中的plot函数,可以得到采样前后时域,频域的波形。三、分析1.时域分析和频域分析:原始信号 fs=8KHz。取R=2 即采样频率 fs2=1/2 * fs =4KHz.取R=4 即采样频率 fs3=1/4 * fs=1kHz分析:通过对比上述几幅幅频特性的曲线,可以发现,当采样频率变低时,低频信号会有一定缺失,并产生了高频信号,出现一定程度的失真。2. 添加噪声通过调用wgn函数,为原始信号添加高斯白噪声,得到合成之后的音频信息,为保证噪声不会完全覆盖原始声音文件,适度地降低了噪声的幅度。由于添加的噪声是高斯白噪声,噪声会均匀分布在各个频率段上。3. 声音信息的滤波操作 通过观察添加了噪声之后的声音信息的幅频特性曲线的观察,可以发现,噪声多集中在高频段,而在低频段,主要是原始的声音信号,因此,结合原始信号的幅频特性曲线,可以选用一个截止频率在3000Hz左右的低通滤波器进行滤波操作。本次课题研究中,通过kaiser函数来确定滤波器的参数,其具体调用参数如下:KAISERORD FIR order estimator (lowpass, highpass, bandpass, multiband). N,Wn,BTA,FILTYPE = KAISERORD(F,A,DEV,Fs) is the approximate order N, normalized frequency band edges Wn, Kaiser window beta parameter BTA and filter type FILTYPE to be used by the FIR1 function: B = FIR1(N, Wn, FILTYPE, kaiser( N+1,BTA ), noscale ) The resulting filter will approximately meet the specifications given by the input parameters F, A, and DEV. F is a vector of band edge frequencies in Hz, in ascending order between 0 and half the sampling frequency Fs. A is a vector of 0s and 1s specifying the desired functions amplitude on the bands defined by F. The length of F is twice the length of A, minus 2 (it must therefore be even). The first frequency band is assumed to start at zero, and the last one always ends at Fs/2. DEV is a vector of maximum deviations or ripples (in linear units) allowable for each band. The smallest deviation specified (MIN(DEV) is used for both the passband and the stopband. Fs is the sampling frequency (which defaults to 2 if you leave it off). C = KAISERORD(F,A,DEV,Fs,cell) is a cell-array whose elements are the parameters to FIR1.根据拟定的参数,设计出一个低通滤波器,并用该滤波器处理合成之后的声音文件,得到如下的幅频特性曲线:观察上图可以发现,经过了低通滤波器之后,合成声音信息的高频噪音已经去除,而低频的声音信号很大程度上保留。由于高斯白噪声分布在所有频带,无可避免低频段的噪声仍然存留。但是经过听前后的声音,可以发现,滤波后的声音文件音质改善了很多。4、 总结通过这次的大作业,让我自己动手采集、分析语音信号,更加加深了对书本上知识的理解,并且了解到了语音信号处理和matlab软件操作的一部分知识,受益匪浅。2014、6、26附录:clear;y,fs,bits=wavread(C:UsersLenovoDesktop02120008.wav);n=length(y); time=1/fs:1/fs:n/fs;sound(y,fs) Y=fft(y,n);figure(6)plot(abs(Y);figure(1)subplot(1,2,1);plot(time,y);title(原始信号波形);M=0:n/2;freq=M*fs/n;subplot(1,2,2);mag=abs(Y);plot(freq,mag(M+1);title(原始信号频谱);y0= decimate(y,2,10); wavwrite(y0,fs,C:UsersLenovoDesktopshuchu.wav); z1= decimate(y,2,10);m1=length(z1);time1=1/fs:1/fs:m1/fs;X1=fft(z1,m1);figure(2)subplot(1,2,1);plot(time1,z1);title(采样后波形 );M1=0:m1/2;freq1=M1*fs/m1;mag1=abs(Y(M1+1);subplot(1,2,2);plot(freq1,mag1);title(采样后频谱); z2= decimate(y,4,10);m2=length(z2);time2=1/fs:1/fs:m2/fs;X2=fft(z2,m2);figure(3)subplot(1,2,1);plot(time2,z2);title(采样后波形 );M2=0:m2/2;freq2=M2*fs/m2;mag2=abs(Y(M2+1);subplot(1,2,2);plot(freq2,mag2);title(采样后频谱); row,col=size(y);noise=0.1*wgn(row,col,0);cmb=noise+y;X3=fft(cmb,n);figure(4)subplot(1,2,1);plot(time,cmb);title(加噪声后波形 ); subplot(1,2,2);mag3=abs(X3(M+1);plot(freq,mag3);t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论