[发明专利]安多藏语语音音节切分的方法无效
申请号: | 200710097847.6 | 申请日: | 2007-04-20 |
公开(公告)号: | CN101290766A | 公开(公告)日: | 2008-10-22 |
发明(设计)人: | 戴玉刚;武光利;于洪志;曹晖;单广荣;满正行;李应兴 | 申请(专利权)人: | 西北民族大学 |
主分类号: | G10L15/02 | 分类号: | G10L15/02 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 730030甘*** | 国省代码: | 甘肃;62 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 藏语语音的音节切分是藏语语音信息处理的重要组成部分和必要的环节,为藏语语音识别和语音库的制作奠定了基础,现在还没有藏语的语音音节切分的软件。通过提取安多藏语语音的时域参数短时能量和短时过零率,利用特定的算法,实现藏语的音节切分。通过对30例连续的安多藏语语音进行音节切分,切分的准确率达到30.6%。 | ||
搜索关键词: | 安多 藏语 语音 音节 切分 方法 | ||
【主权项】:
藏语语音的音节切分是藏语语音信息处理的重要组成部分和必要的环节,现在还没有藏语的语音音节切分的软件。藏语语音的音节切分是实现藏语语音识别的基础和前提。1.音节切分需要的参数:1.1短时能量设语音信号为S(m),短时能量的定义:E n = Σ m = n n + N - 1 [ S ( m ) w ( n - m ) ] 2 ]]> 其中窗函数为哈明窗,为:
窗长为N短时平均能量特征主要用途如下:1)可以作为区分清音段和浊音段的特征参数。实验结果表明浊音段的能量En明显高于清音段。2)在信噪比较高的情况下,短时能量还可以作为区分有声和无声的依据。3)可以作为辅助的特征参数用于语音识别中。1.2短时平均过零率短时平均过零率是语音信号时域分析中最简单的一种特征。顾名思义,它是指每帧内信号通过零值的次数。对于离散信号,短时平均过零率实质上就是信号采样点符号变化的次数。短时平均过零率仍然可以在一定程度上反映其频谱性质,可以通过短时平均过零率获得谱特性的一种粗略估计。短时平均过零率的公式为Z n = 1 2 N Σ m = n - N + 1 n | sgn [ x ( m ) ] - sgn [ x ( m - 1 ) ] | w ( n - m ) ]]> 其中,sgn[]为符号函数,即sgn | x ( n ) | = 1 x ( n ) ≥ 0 - 1 , x ( n ) < 0 ]]> 窗函数w(n)为矩形窗,即
N为窗长。可以通过短时平均过零率和短时能量结合起来判断语音起止点的位置,即端点检测。在背景噪声较小的情况下,短时能量比较准确,但当背景噪声较大时,短时平均过零率可以获得较好的检测结果。2.端点检测:输入为归一化的语音段x和采样率Fs(1)求原始信号从每点开始的长度为Len内的短时过零率,得到crslt为每点对应的短时过零率(2)然后进行过零率波形的平滑,其方法是对crslt做fft,去掉过零率波形中的高频,即fft谱中间置零;用ifft恢复平滑后的过零率波形为C2(3)根据设置的过零率门限zero_threshold,将平滑后的过零率C2中不超过门限的置1(4)计算原始信号中每点开始的FrameLength短时帧能量,得到E(5)平滑短时能量谱得到E3,且进行归一化E3=E3./max(E3);(6)根据归一化能量门限energy_threshold,平滑后的过零率中超过门限的置1得到E4(7)将过零率和归一化能量相与:v=F4&C3;对这个v进行每点过零判断,cross2记录v总共的过零次数,pt(cross2)=n;用来记录每次过零时对应第几个样点(8)通过v(1)是否为1以及cross2是偶数还是奇数确定端点矩阵T;v(1)=1则认为起始点为浊音点,v(1)=0则认为清音或者静默;v(1)是否为1决定了起点b的设置;cross2的奇偶决定了起点和终点的配对;所以分四种情况考虑:例如:if(v(1)=0&(mod(cross2,2)=0))%%Low,even则b=pt(n);e=pt(n+1);依次判断每一对起点终点间距是否大于20ms帧长,如果大于则认为是该起始点成立,间距为一段浊音;最后可以得到矩阵T,每一列代表一段浊音,第一行代表起点,第二行代表终点3.音节切分:音节切分算法:作为语音音节的分割,必须找到语音信号的起始点和终止点即语音信号的头和尾,同时去掉语音信号间隔.为此给出语音音节自动划分的方法如下:1)确定短时过零区间在时间轴t上找出区间使得满足:①A(x1)=0,A(x2)=0;②对任意t1,t2 ∈(x1,x2)的有A(t1)A(t2)>0其中A(t)表示在时刻t的振幅值2)确定短时过零区间上的能量——短时能量前面已经说过,能量反映在振幅上,于是短时过零区间[a,b]上的能量——短时能量为:S = Σ k = 1 n { A ( t k ) } 2 , k = 1,2 , . . . , n ]]> 3)语音信号的判定假设存在连续的短时过零区间序列{[ai,bi]},i=1,2,....,m,由于短时过零区间[a,b]通常比较短,因此S的值也不会很大。对于非语音信号,短时过零区间不会连续出现许多,m不会很大,因此当短时过零区间序列满足给定的条件时,可以认定为语音信号.这个条件可以从两方面给出:①给定较大的长度L有bm-a1≥L即连续的短时过零区间序列可以达到一定的宽度,一般取L=2000;②给定一个限制值P有1 m Σ i = 1 m S i / ( b i - a i ) ≥ P ]]> 这是限定单个短时过零区间的平均振幅,当时可以认为振幅过小,声音无法听到,P的值视录音效果和方式决定.4)基于能量分布的音节自动划分方法①打开录制的WAV文件,指针指向数据段的开始,给人限制值L和P;②开始搜索短时过零区间[a,b],直到指针指向数据段结束时转到⑤,如果找到短时过零区间[ai,bi],计算短时能量S,否则结束;③判断下一短时过零区间与[ai,bi]是否连续,如果连续,计算新的短时过零能量并做S/(b-a)≥P判断,若成立则继续,否则转到②,如果不连续,转到④;④计算连续的短时过零区间序列长度L,若bm-a1≥L则记录为一个语音音节,否则到②;⑤输出语音音节个数及起始点ai,终止点bm,结束。主要功能函数定义如下:1)void MainProcess(),作用:读取藏语语音数据。当打开文件时,调用MainProcess()函数,便可将wave文件中需要的数据读入内存,便于我们对语音数据进行处理。2)double HammingWinFunc(lpLink Link),作用:给语音加窗并求的语音的短时平均幅度,参数Link为输入的语音数据的头指针。3)Void GetZero(unsigned int nWinSize,lpLink pInLink,unsigned int nInLen,unsigned int*dataoutzero)作用:计算藏语语音的短时平均过零率,参数nWinSize为加窗的窗长,pInLink输入语音信号的头指针,nInLen为输入语音信号的长度,*dataoutzero输出过零率序列。4)Void SyllablesSegmentation(),作用:通过前面的函数计算语音信号的短时平均过零率与短时平均幅度,通过算法实现藏语语音的音节切分。5)void Drawzb1(CDC*pDC),作用:显示切分后的藏语语音。参数*pDC是用来画图的。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北民族大学,未经西北民族大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200710097847.6/,转载请声明来源钻瓜专利网。