为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 基于MATLAB的语音信号的清、浊音分析

基于MATLAB的语音信号的清、浊音分析

2017-12-30 15页 doc 120KB 159阅读

用户头像

is_482581

暂无简介

举报
基于MATLAB的语音信号的清、浊音分析基于MATLAB的语音信号的清、浊音分析 目录 1 语音信号概述 ................................ 1 1.1 语音信号的基本组成 ...................................................... 1 1.2 语音信号的“短时谱” .................................................. 1 1.3 基音周期 ................................................
基于MATLAB的语音信号的清、浊音分析
基于MATLAB的语音信号的清、浊音 目录 1 语音信号概述 ................................ 1 1.1 语音信号的基本组成 ...................................................... 1 1.2 语音信号的“短时谱” .................................................. 1 1.3 基音周期 .......................................................................... 2 1.4 短时分析技术 .................................................................. 2 2 语音信号的采集及清浊音分析 .................... 2 2.1 语音信号的采集 .............................................................. 2 2.2 采样分帧 .......................................................................... 3 2.3短时能量和短时平均幅度 ............................................... 4 2.4短时过零率 ....................................................................... 6 2.5短时自相关函数 ............................................................... 8 3 体会 .................................. 10 主要参考资料 ................................. 10 附录 ........................................ 11 1 语音信号概述 1.1 语音信号的基本组成 语音信号的基本组成单位是音素。音素可分成“浊音”和“清音”两大类。如果将不存在语音而只有背景噪声的情况称为“无声”。那么音素可以分成“无声”、“浊音”、“清音”三类。一个音节由元音和辅音构成。元音在音节中占主要部分。所有元音都是浊音。在汉语普通话中,每个音节都是由“辅音一元音”构成的。 在信号处理中,语音按其激励形式的不同可分为2 类: (1)浊音 当气流通过声门时,如果声带的张力刚好使声带发生张弛振荡式的振荡,产生一股准周期的气流,这一气流激励声道就产生了浊音。这种语音信号是1 种激励信号,它是由规则的全程激励产生的,其时域波形具有准周期性,语音频率集中在比较低的频率范围内,短时能量较高,由于语音信号中的高频成分有高的过零率而低频有低的过零率,因此浊音的过零率低。通常,浊音信号可以由周期激励通过线性滤波器合成。 (2)清音 当气流通过声门时,如果声带不振动,而在某处收缩,迫使气流高速通过这一收缩部分而产生湍流,就得到清音。清音是由不规则的激励产生的,发清音时声带不振动,其时域波形不具有周期性, 自相关函数没有很强的自相关周期峰,其语音频率集中在较高的范围内,短时能量较低,因而过零率较高。通常,清音信号可由白噪声通过线性滤波器合成。 1.2 语音信号的“短时谱” 对于非平稳信号,它是非周期的,频谱随时间连续变化,因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。如果利用加窗的方 1 法从语音流中取出其中一个短段,再进行傅里叶变换,就可以得到该语音的短时谱。 1.3 基音周期 浊音信号的周期称为基音周期,它是声带振动频率的倒数,基音周期的估计称为基音检测。基音检测是语音处理中的一项重要技术,它在有调语音辨意、低速率语音编码、说话人识别等方面起着非常关键的作用。但在实现过程中,由于声门激励波形不是一个完全的周期脉冲串,再加上声道影响去除不易、基音周期定位困难、背景噪声影响强烈等一系列因素,基音检测面临着很大的困难。现在已有很多性能优越的基音检测算法,自相关基因检测算法就是一种基于语音时域分析理论较好的算法,在这里基于声音文件比较稳定的基础上,使用观察法获取基音周期。 1.4 短时分析技术 语音信号具有时变特性,但在一个短时间范围内(一般认为在10,30ms的短时间内),其特性基本保持不变,即相对稳定,因而可以将其看作是一个准稳态过程,即语音信号具有短时平稳特性。任何语音信号的分析和处理必须建立在“短时”的基础上。即进行“短时分析”,将语音信号分段来分析其特征参数,其中每一段称为一“帧”,帧长一般取为10,30ms。这样,对于整体的语音信号来讲,分析出的是由每一帧特征参数组成的特征参数时间序列。 2 语音信号的采集及清浊音分析 2.1 语音信号的采集 该设计以本人的声音为分析样本。在MATLAB中使用Wavread函数。可得出声音的采样频率为22050Hz,且声音是单通道的。利用sound函数, 2 可清晰地听到读音为:“电子信息工程”的音频信号。采集数据并画出波形图如下所示,fs 为采样频率,x为采样数据,接下来对采样数据作傅里叶变换y=fft(x)并画出频谱图如图1所示: 图1 原始语音信号波形及频谱图 由频谱图可清楚地看到样本声音主要以低频为主。人的语音信号频率一般集中在200 kHz到4(5 kHz之间,从声音频谱的包络来看,样本声音的能量集中在0(1pi(1 102(5Hz)以内,0(4pi以外的高频部分很少。所以信号宽度近似取为1.1kHz,由采样定理可得fs >2fo=2xl 102.5=2205Hz。 2.2 采样分帧 这里的采样是指从语音信号中选取一段样本, 一般取样点数为帧长的整数倍。 每秒钟的采样样本数叫做采样频率,分帧主要完成将取样模 3 块中获得的语音样值点分为若干个语音帧,语音是不平稳的时变信号,在时间足够短的情况下,可以近似认为是平稳的,短时分析将语音流分为一段一段来处理, 每一段就被称为一帧。分帧时需对语音信号进行加窗操作, 即用一个有限长度的窗序列截取一段语音信号来进行分析,该窗函数可以按时间方向滑动, 以便分析任一时刻附近的信号。常见的窗函数有: 方窗、Hamming 窗及Hannig 窗。如果把窗函数理解成为某个滤波器的单位冲激响应,由于窗函数一般是中间大两头小的光滑函数,因此该滤波器具有低通特性。窗口长度的选择非常重要,窗长过短会使分析窗内没有包含足够的数据点来进行周期判断, 且短时能量变化剧烈窗长过长, 短时能量是一段长时间的平均,不但不能反映语音信号基频的细节变化部分,而且使得计算量增大,窗口长度至少要大于基音周期的两倍。 浊音的短时谱有两个特点: (1)有明显的周期性起伏结构,这是因为浊音的激励源为周期脉冲气流。 (2)频谱中明显地有凸出点,即“共振峰”,它们的出现频率与声道的谐振频率相对应。清音的短时谱则没有这两个特点。它十分类似于一段随机噪声的频谱。 2.3 短时能量和短时平均幅度 能量是语音的一个重要特性,由于语音信号的能量随时间变化,清音和浊音之间的能量差别相当显著,清音的能量较小,浊音的能量较大。因此对语音的短时能量进行分析,可以描述语音的这种特征变化情况。短时能量定义为: ,n22Exmwnmxmwnm,,,,[()()][()()],,n1mmnN,,,,,, 其中,W(n)是窗函数,N是窗长。 4 特殊地,当采用矩形窗时,可简化为: ,2Exm,(),nm,,, 由此表明,窗口加权短时平均能量En 相当于将“语音平方”信号通过一个单位函数响应为h( n) 的线性滤波器的输出。 本次语音信号的短时平均能量和短时平均幅度如下图2所示: 图2 短时平均能量和短时平均幅度 由上图发现,语音浊音段的短时平均能量远远大于清音段的短时平均能量。因此,短时平均能量En 的计算给出了区分清音段与浊音段的依据,即En (浊) > En (清)。根据En 由高到低的跳变可定出浊音变为清音语音的时刻, En 由低向高的跳变可定出清音变为浊音语音的时刻,而只有浊音才有基音周期,清音的基音周期为零。故清浊音判断是基音检测的第一步。 5 该算法中窗口选择汉明窗,其定义为: w ( n) = 0154 - 0146cos (2πn/ ( N - 1) ) ;0 ?n ? N - 1 0 ; 其他 选择汉明窗的理由是窗函数的选取原则为窗函数截取后的x ( n) 尽量是中间大两头小的光滑函数,冲激响应对应的滤波器具有低通特性。从汉明窗的构成及频率响应特性上看, 汉明窗具有这种特性, 而矩形窗及汉宁窗则稍逊之。汉明窗虽然主瓣最高(带宽大) ,但旁瓣最低(通带外的衰减大) , 可以有效地克服泄露现象,具有更好的低通特性。故选择汉明窗而不选择别的窗函数,能使短时平均能量En 更能反映语音信号的幅度变化。 短时能量函数的应用: 1)可用于区分清音段与浊音段。En值大对应于浊音段,En值小对应于清音段。 2)可用于区分浊音变为清音或清音变为浊音的时间(根据En值的变化趋势)。 3)对高信噪比的语音信号,也可以用来区分有无语音(语音信号的开始点或终止点)。无信号(或仅有噪声能量)时,En值很小,有语音信号时,能量显著增大。 2.4 短时过零率 过零率可以反映信号的频谱特性。对于连续语音信号,可以考察其时域波形通过时间轴的情况。对于离散时间信号,如果相邻两个样点的正负号相异时,我们称之为“过零”,即此时信号的时间波形穿过了零电平的横轴。由此可以计算过零数,过零数就是样本改变符号的次数,统计单位时间内样点值改变符号的次数就可以得到平均过零率。短时过零分析通常用在端点检测,特别是用来估计清音的起始位置和结束位置。 短时平均过零率定义为: 6 , Zxmxmwnm,,,,sgn[[]sgn[(1)](),nm ,,, 1,()0xn,sgn()xn,,sgn[]其中为符号函数,,,1,()0xn在矩形窗条件下,可以简化为 n1Zxmxm,,,sgn[()sgn[(1)],nN2,,,1mnN 短时过零率可以粗略估计语音的频谱特性。由语音的产生模型可知,发浊音时,声带振动,尽管声道有多个共振峰,但由于声门波引起了频谱的高频衰落,因此浊音能量集中于3KZ以下。而清音由于声带不振动,声道的某些部位阻塞气流产生类白噪声,多数能量集中在较高频率上。高频率对应着高过零率,低频率对应着低过零率,那么过零率与语音的清浊音就存在着对应关系。. 音频为“电子信息工程”的短时过零率的波形图如下图3所示: 图 7 图3 短时平均过零率 分析可知:清音的短时能量较低,过零率高,浊音的短时能量较高,过零率低。清音的过零率为0.5左右,浊音的过零率为0.1左右,两但者分布之间有相互交叠的区域,所以单纯依赖于平均过零率来准确判断清浊音是不可能的,在实际应用中往往是采用语音的多个特征参数进行综合判决。 短时过零率的应用: 1)区别清音和浊音。清音的过零率高,浊音的过零率低。此外,清音和浊音的两种过零分布都与高斯分布曲线比较吻合。 2)从背景噪声中找出语音信号。语音处理领域中的一个基本问题是,如何将一串连续的语音信号进行适当的分割,以确定每个单词语音的信号,亦即找出每个单词的开始和终止位置。 3)在孤立词的语音识别中,可利用能量和过零作为有话无话的鉴别。 2.5 短时自相关函数 自相关函数用于衡量信号自身时间波形的相似性。清音和浊音的发声机理不同,因而在波形上也存在着较大的差异。浊音的时间波形呈现出一定的周期性,波形之间相似性较好;清音的时间波形呈现出随机噪声的特性,样点间的相似性较差。因此,我们用短时自相关函数来测定语音的相似特性。短时自相关函数定义为: , Rkxmwnmxmkwnmk()()()()(),,,,,,n m ,,, 清音的短时自相关函数波形和浊音的短时自相关函数波形如下图4所示: 8 图4 清音的短时自相关函数波形和浊音的短时自相关函数波形 由短时自相关函数波形分析可知:清音接近于随机噪声,清音的短时自相关函数不具有周期性,也没有明显突起的峰值,且随着延时k的增大迅速减小;浊音是周期信号,浊音的短时自相关函数呈现明显的周期性,自相关函数的周期就是浊音信号的周期,根据这个性质可以判断一个语音信号是清音还是浊音,还可以判断浊音的基音周期。浊音语音的周期可用自相关函数中第一个峰值的位置来估算。所以在语音信号处理中,自相关函数常用来作以下两种语音信号特征的估计: 1)区分语音是清音还是浊音; 2)估计浊音语音信号的基音周期。 9 3 心得体会 经过一周时间的忙碌,终于完成了本次的课程设计—基于MATAB语音信号的清、浊音分析。在这段时间内我发现自己还有很多基础知识没有掌握,设计起来非常吃力,并且在开始的几天之中,因为没有头绪,做起来毫无目的。通过上网,去图书馆查询资料,并通过和老师、同学们进行讨论,最后终于完成了本次的课程设计。 经过这段时间的课程设计,我明白了每个人不可能掌握很多知识或技能,但是我们可以通过查询资料或向老师,同学请教。虽然开始觉得很吃力但是培养了自己的独立学习能力。当每次课程设计中,遇到问题,最好的办法就是查阅相关资料,因为每个人掌握情况不一样,一个人不可能做到处处都懂,集合多个人的思想,复杂的事情就会变得很简单。通过问题的不断解决,自己就会积累很多实用的知识,这一点我深有体会。在这段时间里,我认识到自己在MATLAB编程及语音信号处理方面的知识还有所欠缺,自身还存在很多不足。 一周的语音信号课程设计即将结束,回顾这一周真是收益匪浅。以前对知识的了解仅限于理论知识,而且有的仅能够理解,有的只是停留在似懂非懂的状态。对于有些函数不知道有什么功能,也就不懂怎样使用,但是,经过这一周之后,我对MATLAB软件有了新的认识,掌握的也更加熟练。 主要参考资料 [1] 赵力著,语音信号处理(第2版)[M],机械工业出版社,2010. [2] 胡航著,语音信号处理(第四版)[M],哈尔滨工业大学出版社,2009. [3] 张雄伟等著,现代语音处理技术及应用[M],机械工业出版社,2009. 10 附录 fs=22050; %抽样频率 x=wavread('yin.wav'); sound(x1,22050); %读取语音信号“电子信息工程” figure(1) subplot(211) plot(x) %做原始语音信号的时域图形 title('原始语音信号波形'); xlabel('样点数'); %x轴的名字是“样点数” ylabel('幅值 '); %y轴名字是“幅值” grid on; N=128; n=0:N-1; y=fft(x); %对x进行傅里叶变换 mag=abs(y); %求幅值 f=(0:length(y)-1)'*fs/length(y); %进行对应的频率转换 figure(1) subplot(212) plot(f,mag); %做原始语音信号的频谱图 xlabel('频率(Hz)'); ylabel('幅值'); title('原始信号频谱图'); grid on; N=240; Y=wavread('yin.wav'); 11 L=length(Y); LL=length(Y)/N; figure(2) Em=zeros(1,(LL-1)*240); for ii=1:(LL-1)*240, temp=Y(ii:ii+240); Em(ii)=sum(temp.*temp); end jj=[1:(LL-1)*240]; subplot(211) plot(jj, Em,'b'); %绘制短时平均能量曲线 xlabel('帧数'); ylabel('短时能量'); title('短时平均能量'); grid on; % axis([12000,16000,0.15,0.4]) %短时平均幅度Mn=sum(abs(Y))/N Mn=zeros(1,(LL-1)*240); for ii=1:(LL-1)*240, temp=Y(ii:ii+240); Mn(ii)=sum(abs(temp))/N; end figure(2) jj=[1:(LL-1)*240]; subplot(212) 12 plot(jj, Mn,'b'); %绘制短时平均幅度曲线 xlabel('帧数'); ylabel('短时平均幅度'); title('短时平均幅度'); grid on; %短时过零率 Zn=zeros(1,(LL-1)*240); for ii=2:(LL-1)*240, temp1=sign(Y(ii:ii+240)); temp=sign(Y(ii-1:ii+240-1)); Zn(ii)=sum(abs(temp1-temp)); end figure(3) jj=[1:(LL-1)*240]; plot(jj, Zn,'b'); %绘制短时过零率函数曲线 xlabel('帧数'); ylabel('短时过零率'); title('短时过零率'); grid on; %浊音,取13270--13510个点 %短时自相关函数 temp=Y(13271:13510); Rn1=zeros(1,240); 13 for nn=[1:240], for ii=[1:240-nn], Rn1(nn) =Rn1(nn)+ temp(ii)*temp(nn+ii); end end figure(4) subplot(211) jj=[1:240]; plot(jj, Rn1,'b'); % 绘制浊音短时自相关函数曲线 xlabel('帧数'); ylabel('短时自相关函数'); title('浊音短时自相关函数'); grid on; %清音,取12120--12360个点 %短时自相关函数 temp=Y(12121:12360); Rn2=zeros(1,240); for nn=[1:240], for ii=[1:240-nn], Rn2(nn) =Rn2(nn)+ temp(ii)*temp(nn+ii); end end 14 figure(4) subplot(212) jj=[1:240]; plot(jj, Rn2,'b'); % 绘制浊音短时自相关函数曲线 xlabel('帧数'); ylabel('短时自相关函数'); title('清音短时自相关函数'); grid on; 15
/
本文档为【基于MATLAB的语音信号的清、浊音分析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索