ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:335.08KB ,
资源ID:9675421      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9675421.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(语音信号处理作业.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

语音信号处理作业.docx

1、语音信号处理作业华南理工大学语音信号处理作业报告姓名:学号:班级:10 级电信 5班日期: 2013年 5 月 24日1.实验要求编程实现:作业1、提取一段语音信号的短时能量、过零率、短时平均幅度差。作业2、提取一段语音的傅里叶变换幅度谱、 线性倒谱、梅尔频率倒谱(MFCC) 作业3、提取一段语音的LPC参数。作业4、估计一段语音的基音频率。作业5、估计一段语音的前3个共振峰频率。作业1:1、实验原理(1) 、短时能量语音和噪声的区别可以体现在它们的能量上,语音段的能量比噪声段能量大,语音段的能量是噪声段能量叠加语音声波能量的和。 在信噪比很高时,那么只要计算输入信号的短时能量或短时平均幅度就

2、能够把语音段和噪声背景区分 开。这是仅基于短时能量的端点检测方法。信号x(n)的短时能量定义为:瓦=工k帥)计(旳-初尸语音信号的短时平均幅度定义为:巴其中w(n)为窗函数。(2) 、短时平均过零率短时过零表示一帧语音信号波形穿过横轴(零电平)的次数。过零分析是语 音时域分析中最简单的一种。对于连续语音信号,过零意味着时域波形通过时间 轴;而对于离散信号,如果相邻的取样值的改变符号称为过零。过零率就是样本改变符号次数信号x(n)的短时平均过零率定义为1 Z乙二牙 11 sgn x(m) sgnx(m m)式中,sgn为符号函数,即:f L x(n) 0SgnWw)1 = l-l, x(n)0过

3、零率有两类重要的应用:第一,用于粗略地描述信号的频谱特性;第二,用 于判别清音和浊音、有话和无话。从上面提到的定义出发计算过零率容易受低频 干扰,特别是50Hz交流干扰的影响。解决这个问题的办法,一个是做高通滤波 器或带通滤波,减小随机噪声的影响;另一个有效方法是对上述定义做一点修改, 设一个门限T,将过零率的含义修改为跨过正负门限。于是,有定义:1 g乙丁I sgnx(m)门 - sgnkO -1)-门 I+1 sgnx(m) + T - sgnx(m 一 1) + T | w(n -m)2、实验结果及讨论帧数本次实验选取语音文件phrase.WA/,运行程序,结果如下图:%计算过零率tmp

4、1 = en frame(x(1:e nd-1), FrameLe n,i nc); tmp2 = en frame(x(2:e nd) , FrameLe n,i nc); sig ns = (tmp1.*tmp2)0.02;zcr = sum(sig ns.*diffs,2);%计算短时能量-0.9375, 1, x),FrameLen,amp = sum(abs(enframe(filter(1 in c),2, 2);subplot(3,1,1)plot(x)axis(1 length(x) -1 1) xlabel( 帧数) ; ylabel(Speech) ;subplot(3,1

5、,2)plot(amp);axis(1 length(amp) 0 max(amp) xlabel( 帧数) ; ylabel(Energy) ; subplot(3,1,3) plot(zcr);axis(1 length(zcr) 0 max(zcr) xlabel( 帧数) ; ylabel(ZCR) ;作业2、3:1、提取一段语音的傅里叶变换幅度谱x=wavread(E:yuuyi nmono logue speech_male.wav); y=fft(x); % 傅里叶变换函数plot(abs(y); % 振幅频率 title( 傅里叶变换幅度谱);2、 提取一段语音的线性倒谱和 L

6、PC参数 基本原理:由于频率响应H(ejw)反映声道的频率响应和被分析信号的谱包络,因此用log | H (ejw) |做反傅里叶变换求出的LPC倒谱系数。p通过线性预测分析得到的合成滤波器的系统函数为 H (z) 1/(1 aizi),其i 1A A A A冲激响应为h(n)。h(n)的倒谱为h(n),H (z) h(n)z n就是说H的逆变换n 1h(n)是存在的。设h(0) 0 ,将式H(z) h(n)z n两边同时对z 1求导,得Ah(n) anAh(n)h(1) a1n 1 i a(1 -)ai h(ni 1 nP A(1 丄)ah(nk) ,1l) , n,按其可直接从预测系数ai

7、 求得等,得到h(n)和ai间的递推关系A倒谱h(n)。这个倒谱是根据线性预测模型得到的,又称为 LPC倒谱。LPC倒谱由 于利用线性预测中声道系统函数 H (z)的最小相位特性,因此避免了一般同态 处理中求复对数的麻烦。实验结果分析:选取语音文件monologue speech_female,先读出原始语音文件的波形:原始语音帧倒谱和预测语音帧倒谱如下:慝始语音帧倒诗语音帧LPC系数: ai =Columns 1 through 81.0000 -0.5313 -0.1624 -0.2005 -0.0726 0.14810.0192 -0.1592Columns 9 through 16 -

8、0.1248 0.1857 0.0636 0.0848 -0.1475 -0.05620.0129 -0.0196通过计算LPC系数可以很好的利用先行预测中声道系统函数的最小相位特性 来提取特征函数实验代码:I = wavread(E:yuuyinmonologue speech_female.wav);% 读入原始语音%subplot(3,1,1),plot(I);title( 原始语音波形 )%对指定帧位置进行加窗处理Q = I;N = 256; % 窗长Hamm = hamming(N); % 加窗frame = 60;% 需要处理的帧位置M = Q(frame - 1) * (N /

9、2) + 1):(frame - 1) * (N / 2) + N);Frame = M .* Hamm;% 加窗后的语音帧B,F,T = specgram(I,N,N/2,N); m,n = size(B);for i = 1:mFTframe1(i) = B(i,frame); end建立语音帧的正则方程P =input( 请输入预测器阶数 = ); ai = lpc(Frame,P); % 计算 lpc 系数 LP = filter(0 -ai(2:end),1,Frame); % FFTlp = fft(LP);E = Frame - LP; % 预测误差 pause fLength(

10、1 : 2 * N) = M,zeros(1,N); Xm = fft(fLength,2 * N);X = Xm .* conj(Xm);Y = fft(X , 2 * N);Rk = Y(1 : N);PART = sum(ai(2 : P + 1) .* Rk(1 : P);G = sqrt(sum(Frame42) - PART);A = (FTframe1 - FFTlp(1 : length(F) ./ FTframe1 ;pause%求出预测误差的倒谱pitch = fftshift(rceps(E);M_pitch = fftshift(rceps(Frame);subplot

11、(2,1,1),plot(M_pitch);grid;xlabel( 语音帧 );ylabel(/dB);title( 原始语音帧倒谱 );subplot(2,1,2),plot(pitch);grid;xlabel( 语音帧 );ylabel(/dB);title( 预测误差倒谱 );pause3、 提取一段语音信号的梅尔频率倒谱( MFCC)基本原理:MFCC:语音识别和说话人识别中,常用的语音特征是基于 Mel 频率的倒谱系数 (即MFC) MFCC参数是将人耳的听觉感知特性和语音的产生机制相结 合。Mel 频率可以用如下公式表示:fMel 2595 log(1 f /700)在实际应用

12、中,MFCC5谱系数计算过程如下;1 将信号进行分帧,预加重和加汉明窗处理,然后进行短时傅里叶变换 并得到其频谱。2 求出频谱平方,即能量谱,并用 M个Mel带通滤波器进行滤波;由于 每一个频带中分量的作用在人耳中是叠加的。 因此将每个滤波器频带内的 能量进行叠加,这时第 k 个滤波器输出功率谱 x(k) 。3 将每个滤波器的输出取对数,得到相应频带的对数功率谱;并进行反 离散余弦变换,得到L个MFC(系数,一般L取1216个左右。MFC(系数 为MCn log x (k ) cos (k 0.5)n/M k 1 , n=1,2,.,L4 将这种直接得到的MFC(特征作为静态特征,再将这种静态

13、特征做一阶 和二阶差分,得到相应的动态特征。实验结果分析:采用语音文件monologue speech_female.wav ,运行程序,得到的MFCC特征提取图像为:MFCC40 1 T 1 1 r JQ I I L J I L J L J I C 200 40& 600 SOO 1003 1200 1400 1600 1BOO 2000通过计算MFCCI数,获得了声纹识别的特征参数。由于 MFC(参数是对人耳听觉特征的描述,因此,可以认为,不同声纹的 MFC(参数距离,能够代表人耳对两个语音听觉上的差异,可以为声纹的识别提供可靠的依据。作业 4:估计一段语音的基音周期1、 实(1) 、基音

14、周期基音是发浊音时声带震动所引起的周期性, 而基音周期是指声带震动频率的 倒数。基音周期是语音信号的重要的参数之一, 它描述语音激励源的一个重要特 征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音 分析与综合以及低码率语音编码, 发音系统疾病诊断、 听觉残障者的语音指导等。 因为汉语是一种有调语言, 基音的变化模式称为声调, 它携带着非常重要的具有 辨意作用的信息, 有区别意义的功能, 所以, 基音的提取和估计对汉语更是一个 十分重要的问题。由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很 宽,而同个人在不同情态下发音的基音周期也不同, 加之基音周期还受到

15、单词 发音音调的影响, 因而基音周期的精确检测实际上是一件比较困难的事情。 基音 提取的主要困难反映在: 声门激励信号并不是一个完全周期的序列, 在语音的 头、尾部并不具有声带振动那样的周期性, 有些清音和浊音的过渡帧是很难准确 地判断是周期性还是非周期性的。 声道共振峰有时会严重影响激励信号的谐波 结构,所以,从语音信号中直接取出仅和声带振动有关的激励信号的信息并不容 易。语音信号本身是准周期性的(即音调是有变化的),而且其波形的峰值点或 过零点受共振峰的结构、 噪声等的影响。 基音周期变化范围大, 从老年男性的 50Hz到儿童和女性的450Hz,接近三个倍频程,给基音检测带来了一定的困难。

16、 由于这些困难,所以迄今为止尚未找到一个完善的方法可以对于各类人群 (包括男、女、儿童及不向语种 )、各类应用领域和各种环境条件情况下都能获得满意 的检测结果。尽管基音检测有许多困难, 但因为它的重要性, 基音的检测提取一直是一个 研究的课题,为此提出了各种各样的基音检测算法,如自相关函数 (ACF)法、峰值提取算法(PPA)、平均幅度差函数(AMDF)法、并行处理技术、倒谱法、SIFT、 谱图法、小波法等等。(2) 、自相关函数对于离散的语音信号x(n),它的自相关函数定义为:R(k)=艺 x(n)x(n_k),如果信号x(n)具有周期性,那么它的自相关函数也具有周期性,而且周期与信号x(n

17、)的周期性相同。自相关函数提供了一种获取周期信号周期的方法。 在周期信号周期的整数倍上, 它的自相关函数可以达到最大值, 因此可以不考虑起 始时间,而从自相关函数的第一个最大值的位置估计出信号的基音周期, 这使自相关函数成为信号基音周期估计的一种工具(3) 、短时自相关函数语音信号是非平稳的信号,所以对信号的处理都使用短时自相关函数。 短时 自相关函数是在信号的第 N个样本点附近用短时窗截取一段信号,做自相关计 算所得的结果Rm(k)=艺 x(n )x( n-k)式中,n表示窗函数是从第n点开始加入2、实验结果分析读取wav文件function pitchx=wavread(E:yuuyi n

18、isolated word.WAV);% 读取声音文件figure(1);stem(x,.); % 显示声音信号的波形得到的波形如下:n=160; %for m=1:le ngth(x)/n; % for k=1: n;Rm(k)=0;for i=(k+1): n;取20ms的声音片段,即160个样点 对每一帧求短时自相关函数利用自相关法进行基音周期估计ff10 -8nJIfigure(2);stem(T,.);axis(0 length(T) 0 11); xlabel( 帧数(n );ylabel( 周期(ms);title(各帧基音周期);结果如下图:, 答帧基音周期1 j I I pi

19、 i由图中可以看出基音周期大约为 10ms但是图中存在太多的野点,为此,需要对此进行进一步的处理,即去除野点。去除野点T仁 medfilt1(T,5); % 去除野点figure(3);stem(T1,.);axis(0 length(T1) 0 11); xlabel(帧数(n);ylabel( 周期(ms);title( 各帧基音周期);得到的结果如下:a?各帧基言周期帧魏(n)3、实验代码function pitchx=wavread(E:yuuyi nisolated word.WAV);% 读取声音文件figure(1);取20ms的声音片段,即160个样点 对每一帧求短时自相关函数

20、stem(x,.); % 显示声音信号的波形n=160; %for m=1:le ngth(x)/n; % for k=1: n;Rm(k)=0;for i=(k+1): n;Rm(k)=Rm(k)+x(i+(m-1)* n)*x(i-k+(m-1)* n);endendp=Rm(10:n); % 防止误判,去掉前边10个数值较大的点Rmax,N(m)=max(p); % 读取第一个自相关函数的最大点end % 补回前边去掉的10个点N=N+10;T=N/8; % 算出对应的周期figure(2);stem(T,.);axis(0 length(T) 0 11);xlabel(帧数(n);yl

21、abel( 周期(ms);title( 各帧基音周期);各帧基音周期 );T1= medfilt1(T,5); % 去除野点 figure(3);stem(T1,.);axis(0 length(T1) 0 11); xlabel( 帧数 (n);ylabel( 周期 (ms);title(作业 5:估计一段语音的前 3 个共振峰频率1、 实验原理(1)共振峰的概念 共振峰是反映声道谐振特性的重要特征,它代表了发音信息的最直接来源, 而且人在语音感知中利用了共振峰信息。 所以共振峰是语音信号处理中非常重要 的特征参数,已经广泛的应用于语音识别的主要特征和语音编码传输的基本信 息。共振峰信息包含

22、在频率包络之中, 共振峰参数提取的关键是估计自然语音频 谱包络,一般认为谱包络中最大值就是共振峰。共振峰参数包括共振峰频率, 频带宽度和幅值, 共振峰信息包含在频率包络之中, 并认为谱包络中最大值就是共振峰, 利用语音频谱傅里叶变换相应的低频部分进 行逆变换 ,就可以得到语音频谱的包络曲线。依据频谱包络线各峰值能量的大 小确定出第一到第四共振峰。(2)提取共振峰的方法基于线性预测(LPC的共振峰提取方法。一种有效的频谱包络估计方法是 从线性预测分析角度推导出声道滤波器, 根据这个声道滤波器找出共振峰。 虽然 线性预测法也有一定的缺点, 如其频谱林灵敏度于人耳不想匹配。 但对于许多应 用来说,它

23、仍然是一种行之有效的方法。 线性预测共振峰通常有两种途径可供选 择:一种途径是利用一种标准的寻找复根的程序计算预测误差滤波器的根, 称为 求根法;另一种途径是找出由预测其导出的频谱包络中的局部极大值, 称为选峰 法。2、 实验结果分析选取语音文件 monologue speech_female ,运行程序,得到的结果为: formants =1.0e+0030.686271282561051 1.758603163256764 2.592660479271902 4.000000000000000所以该段语音的前三个共振峰频率大约为: 686.27HZ、1758.6HZ、2592.7HZ3、

24、实验代码Fs=8000;x=wavread(E:yuuyinmonologue speech_female.wav)x1 = x.*hamming(length(x);preemph = 1 0.63;x1 = filter(1,preemph,x1);A = lpc(x1,8);rts = roots(A);rts = rts(imag(rts)=0);angz = atan2(imag(rts),real(rts);frqs,indices = sort(angz.*(Fs/(2*pi);bw = -1/2*(Fs/(2*pi)*log(abs(rts(indices);nn = 1;for kk = 1:length(frqs)if (frqs(kk) 90 & bw(kk) 400) formants(nn) = frqs(kk);nn = nn+1; end end formants

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1