CN101030374B - 基音周期提取方法及装置 - Google Patents
基音周期提取方法及装置 Download PDFInfo
- Publication number
- CN101030374B CN101030374B CN2007100647882A CN200710064788A CN101030374B CN 101030374 B CN101030374 B CN 101030374B CN 2007100647882 A CN2007100647882 A CN 2007100647882A CN 200710064788 A CN200710064788 A CN 200710064788A CN 101030374 B CN101030374 B CN 101030374B
- Authority
- CN
- China
- Prior art keywords
- absolute value
- pitch period
- local absolute
- maximal value
- speech frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000000605 extraction Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Abstract
本发明公开了一种基音周期提取方法,包括:计算当前语音帧的线性预测残差,在线性预测残差中寻找局部绝对值最大值;根据所述局部绝对值最大值所在位置确定当前语音帧的基音周期。本发明同时公开了一种基音周期提取装置,包括:线性预测残差计算模块、局部绝对值最大值确定模块和基音周期确定模块。本发明减少了提取基音周期的计算量;进一步地,本发明通过比较相邻局部绝对值最大值之间的距离对应的时长与一个基音周期范围,以及比较相邻局部绝对值最大值之间的距离与上一个基音周期覆盖采样点的个数,来确定基音周期,提高了所提取的基音周期的精确度。
Description
技术领域
本发明涉及语音信号处理技术领域,具体涉及一种基音周期提取方法及装置。
背景技术
基音周期是语音信号中的重要参数之一,它在语音识别、语音合成和语音编码中有广泛的应用。语音信号是一种非平稳时变信号,其中浊音部分在一段相对短的时间内可以认为是准周期的,因此语音信号处理中通常采用短时处理技术。现有技术中,一般采用短时自相关求最大值的方法来提取语音信号的基音周期。
图1为现有的提取基音周期的流程图,如图1所示,其具体步骤如下:
步骤101:对当前语音帧进行加窗处理得到一个短时帧,该帧的长度一般为25ms~40ms。
步骤102:对加窗得到的短时帧求自相关系数。
步骤103:根据最大自相关系数、次大自相关系数的值及其幅度及其所在位置,并结合上一帧内出现的基音周期,判断最大自相关系数或次大自相关系数对应的时长是否为该帧语音的基音周期,从而得到当前帧的基音周期。
现有技术的缺点如下:
一、求自相关系数需要较大的计算量;
二、确定的基音周期不够精确,有较大的漏检率和误警率;且由于算法自身的特点,容易出现检测出的基音周期为实际基音周期的多倍或者低于实际基音周期的情况。
发明内容
本发明提供一种基音周期提取方法及装置,以降低基音周期提取的计算量。
本发明的技术方案是这样实现的:
一种基音周期提取方法,包括:
计算当前语音帧的线性预测残差,在线性预测残差中寻找局部绝对值最大值;根据所述局部绝对值最大值所在位置确定当前语音帧的基音周期。
所述根据局部绝对值最大值确定当前语音帧的基音周期包括:
A、依次计算每个局部绝对值最大值与上一局部绝对值最大值所在位置之间的距离,检测到该距离对应的时长在一个基音周期范围内,判断在上一个局部绝对值最大值处是否发现基音周期,若是,执行步骤C;否则,执行步骤B;
B、判断步骤A得到的距离与最近一个基音周期所覆盖采样点个数的差值是否在预设范围内,若是,执行步骤C;否则,确定当前局部绝对值最大值处未发现基音周期,本流程结束;
C、将步骤A得到的距离作为当前局部绝对值最大值处出现的基音周期。
步骤B所述判定步骤A得到的距离与最近一个基音周期所覆盖采样点个数的差值不在预设范围内之后进一步包括:
判断当前局部绝对值最大值是否大于上一个局部绝对值最大值,若是,确定当前局部绝对值最大值有效;否则,确定当前局部绝对值最大值无效。
所述预设范围为:小于最近一个基音周期与预设值的商值,且,所述预设值为大于2的实数。
所述方法进一步包括:检测到在当前语音帧未发现局部绝对值最大值,则确定当前语音帧未出现基音周期。
所述方法进一步包括:检测到在上一语音帧未发现局部绝对值最大值,则确定所述寻找到的第一个局部绝对值最大值处未出现基音周期。
所述在线性预测残差中寻找局部绝对值最大值包括:
判断当前线性预测残差是否满足:大于周围预定数目个线性预测残差、且 与所有线性预测残差的均值之差大于所有线性预测残差的方差与第一预定常数的乘积、且大于最大线性预测残差与第二预定常数的商值,若满足,确定当前线性预测残差为局部绝对值最大值;否则,确定当前线性预测残差非局部绝对值最大值。
所述预定数目为8~24之间的任一实数,所述第一预定常数和第二预定常数为2~5之间的任一实数。
所述计算当前语音帧的线性预测残差之前进一步包括:对当前语音帧进行加窗处理。
所述计算当前语音帧的线性预测残差包括:
a、根据公式:
其中,RSN(i)为当前语音帧在第i个采样点上的线性预测残差,N为当前语音帧在已收到的所有语音帧中的帧序号;HS(i)、HS(i-j)为当前语音帧加窗后在第i、i-j个采样点上的语音信号;LP(j)为线性预测函数;WLEN为窗的长度,O为采用的线性预测分析算法的阶数;
b、对RSN(i)进行加窗处理得到HRSN(i);
c、根据公式:
RS(i+(N-1)*SHIFT)=LRSN-1(i)+HRSN(i),i=0,1,…,SHIFT-1
计算当前语音帧的最终线性预测残差,
其中,RS(i+(N-1)*SHIFT)为最终得到的当前语音帧最初SHIFT个采样点上的线性预测残差,其中,i+(N-1)*SHIFT为当前语音帧的最初SHIFT个采样点在已收到的所有语音帧中的序号;LRSN-1(i)为上一语音帧在当前语音帧的第i个采样点上遗留的线性预测残差,SHIFT为当前窗相对上一窗移动的距离。
所述步骤c之后进一步包括:
根据以下公式:
LRS(i)=LRSN-1(i+SHIFT),i=0,1,...,WLEN-2*SHIFT-1;
LRS(i)=0,i=WLEN-2*SHIFT,...,WLEN-SHIFT-1;
LRSN(i)=LRS(i)+HRSN(i+SHIFT),i=0,1,...,WLEN-SHIFT-1
计算当前语音帧遗留的线性预测残差LRSN(i),
其中,LRSN-1(i+SHIFT)为在上一语音帧的第i+SHIFT个采样点上的遗留线性预测残差,LRS(i)为中间变量,HRSN(i+SHIFT)为当前语音帧在第i+SHIFT个采样点上的线性预测残差。
所述在线性预测残差中寻找局部绝对值最大值为:在当前语音帧的最初SHIFT个线性预测残差中寻找局部绝对值最大值。
一种基音周期提取装置,包括:线性预测残差计算模块、局部绝对值最大值确定模块和基音周期确定模块,其中:
线性预测残差计算模块,用于计算输入语音帧的线性预测残差,将各线性预测残差输出到局部绝对值最大值确定模块;
局部绝对值最大值确定模块,用于在收到的所有线性预测残差中寻找局部绝对值最大值,将各局部绝对值最大值所在位置输出到基音周期确定模块;
基音周期确定模块,根据收到的局部绝对值最大值所在位置确定当前语音帧的基音周期。
所述基音周期确定模块包括:
距离计算判断模块,用于根据收到的各局部绝对值最大值所在的位置,依次计算每个局部绝对值最大值与上一局部绝对值最大值所在位置之间的距离,检测到该距离对应时长在一个基音周期范围内,将该距离发送给基音周期发现模块;收到基音周期发现指示,将所述距离作为当前基音周期、并将当前局部绝对值最大值所在位置作为当前基音周期所在位置发送给基音周期信息记录模块;
基音周期发现模块,用于在收到距离信息后,判断上一局部绝对值最大值处是否发现基音周期,若否,向距离计算判断模块发送基音周期发现指示;若是,且检测到距离计算判断模块发来的距离与最近一个基音周期所覆盖采样点个数之差的绝对值在预设范围内,向距离计算判断模块发送基音周期发现指示;
基音周期信息记录模块,用于保存收到的当前基音周期及其位置信息。
所述基音周期发现模块判定上一局部绝对值最大值处发现基音周期,且检测到距离计算判断模块发来的距离与最近一个基音周期所覆盖采样点个数之差的绝对值不在预设范围内,发送一个基音周期未发现指示;
且,所述基音周期确定模块进一步包括:局部最大值有效判断模块,用于接收基音周期发现模块发来的所述基音周期未发现指示,判断当前局部绝对值最大值是否大于上一局部绝对值最大值,若否,向距离计算判断模块发送当前局部绝对值最大值无效指示;
且,所述距离计算判断模块收到所述当前局部绝对值最大值无效指示后,将当前局部绝对值最大值及其位置信息从自身删除。
所述局部绝对值最大值确定模块进一步用于,确定当前语音帧未出现局部绝对值最大值,则向基音周期确定模块输出无局部绝对值最大值指示;
所述基音周期确定模块进一步用于,收到无局部绝对值最大值指示,确定当前语音帧未出现基音周期。
所述距离计算判断模块进一步用于,确定当前局部绝对值最大值为当前语音帧中的第一个局部绝对值最大值,且检测到上一语音帧未出现局部绝对值最大值,则确定当前局部绝对值最大值处未发现基音周期。
与现有技术相比,本发明通过计算当前语音帧的线性预测残差,在线性预测残差中寻找局部绝对值最大值,然后根据所述局部绝对值最大值所在位置确定当前语音帧的基音周期,减少了提取基音周期的计算量;
进一步地,本发明通过比较相邻局部绝对值最大值之间的距离对应的时长与一个基音周期的范围,以及比较相邻局部绝对值最大值之间的距离与上一个基音周期覆盖采样点的个数,来确定基音周期,提高了所提取的基音周 期的精确度。
附图说明
图1为现有的提取基音周期的流程图;
图2为本发明实施例提供的提取基音周期的流程图;
图3为本发明实施例提供的提取基音周期的装置框图;
图4为本发明实施例提供的基音周期确定模块的结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图2为本发明实施例提供的提取基音周期的流程图,如图2所示,其具体步骤如下:
步骤201:对当前语音帧进行加窗处理,得到加窗之后的语音帧。
本步骤可用以下公式表示:
HS(i)=H(i)*S(i-N*SHIFT),i=0,1,...,WLEN-1(1)
其中,HS(i)为加窗后的语音信号;H(i)为窗函数,通常选取汉明窗或汉宁窗;S(i-N*SHIFT)为在当前语音帧加窗前第i-N*SHIFT个采样点上的语音信号;i为语音信号在当前语音帧中的采样点序号;N为当前语音帧在已收到的所有语音帧中的帧序号;SHIFT为当前语音帧所加窗相对上一语音帧所加窗移动的距离;WLEN为当前语音帧所加窗的长度。通常,SHIFT=WLEN/2,WLEN应该保证能够覆盖2个以上的基音周期,同时在窗内基音周期足够稳定,通常使用长度WLEN为20ms-32ms的窗,在采样率为8KHz时,20ms的窗包含160个样点,32ms的窗包含256个样点。
步骤202:对加窗之后的语音帧进行线性预测分析(LPC),然后计算当前语音帧的线性预测残差。
LPC计算可选用通用的Levinson-Durbin算法,LPC系数的阶数选择在10~16之间,LPC计算完成之后,通过以下步骤计算当前语音帧的线性预测 残差:
首先,根据以下公式计算当前语音帧在各采样点上的线性预测残差:
其中,RSN(i)为当前语音帧的第i个采样点的线性预测残差;HS(i)、HS(i-j)为加窗后的语音信号,当i<0时,HS(i)=0;LP(j)为线性预测函数;O为LPC的阶数。
其次,对RSN(i)进行加窗处理,得到HRSN(i)。
再次,将HRSN(i)和上一语音帧遗留的线性预测残差进行相加,得到最终的线性预测残差。即:
RS(i+(N-1)*SHIFT)=LRSN-1(i)+HRSN(i),i=0,1,...,SHIFT-1(3)
其中,RS(i+(N-1)*SHIFT)为最终得到的当前语音帧的最初SHIFT个采样点的线性预测残差,其中,i+(N-1)*SHIFT为当前语音帧的最初SHIFT个采样点在已收到的所有语音帧中的采样点序号;HRSN(i)为对RSN(i)加窗后得到的值,LRSN-1(i)为上一语音帧在当前语音帧的第i个采样点上遗留的线性预测残差。
最后,计算当前语音帧遗留的线性预测残差LRSN(i),以便计算下一个语音帧的线性预测残差。即:
LRS(i)=LRSN-1(i+SHIFT),i=0,1,...,WLEN-2*SHIFT-1;
LRS(i)=0,i=WLEN-2*SHIFT,...,WLEN-SHIFT-1;
LRSN(i)=LRS(i)+HRSN(i+SHIFT),i=0,1,...,WLEN-SHIFT-1(4)
其中,LRSN-1(i+SHIFT)为上一语音帧在第i+SHIFT个采样点上的遗留线性预测残差,LRS(i)为中间变量,HRSN(i+SHIFT)为当前语音帧在第i+SHIFT个采样点上的线性预测残差。
步骤203:计算当前语音帧的最初SHIFT个采样点的线性预测残差的均值averN、方差varN及最大值maxN。
步骤204:在当前语音帧的最初SHIFT个采样点的线性预测残差中寻找局部绝对值最大值peakN(k),并记录该局部绝对值最大值出现的位置localN(k)。
k为当前发现的线性预测残差局部绝对值最大值在当前语音帧的最初SHIFT个采样点中发现的所有线性预测残差局部绝对值最大值中的序号
若某个采样点上的线性预测残差的绝对值大于其周围A个采样点的线性预测残差的绝对值,且,该线性预测残差的绝对值与averN的差值大于B*varN,且该线性预测残差的绝对值大于maxN/C,则确定该线性预测残差绝对值为局部绝对值最大值。其中,A、B、C为正实数,且A的取值范围为:[8,24],B和C的取值范围为:[2,5],通常A=12、B=3、C=3。
步骤205:设k=0,peakInLastFrame=1。
这里,pealLastFrame=1用于表示上一局部绝对值最大值出现在上一语音帧中;当pealLastFrame=0时,则表示上一局部绝对值最大值出现在当前语音帧中。
步骤206:判断当前语音帧中出现的局部绝对值最大值的个数M>0是否成立,即:判断在当前语音帧的最初SHIFT个采样点中是否发现线性预测残差局部绝对值最大值,若是,执行步骤208;否则,执行步骤207。
步骤207:确定在当前语音帧的最初SHIFT个采样点中未出现基音周期,令lastPos=-1,lastVal=-1,lastPeriod=-1,开始处理下一语音帧,返回步骤201。
这里,lastVal表示上一次出现的局部绝对值最大值的值,lastPeriod表示上一次基音周期覆盖的采样点个数,lastPos表示上一次出现局部绝对值最大值的位置。
步骤208:判断lastPos<0是否成立,若是,执行步骤209;否则,执行步骤210。
步骤209:确定上一语音帧的最初SHIFT个采样点中未出现线性预测残差局部绝对值最大值,更新lastPos=localN(k),lastVal=peakN(k), lastPeriod=-1,转至步骤220。
步骤210:确定上一语音帧的最初SHIFT个采样点中出现线性预测残差局部绝对值最大值,判断peakInLastFrame=1是否成立,若是,执行步骤211;否则,执行步骤212。
步骤211:peakInLastFrame=1表明上一次出现的局部绝对值最大值在上一语音帧的最初SHIFT个采样点中,则有:detaPos=localN(k)+SHIFT-lastPos,转至步骤213。
由于lastPos为上一次出现局部绝对值最大值的位置,localN(k)为当前局部绝对值最大值的位置,因此detaPos为当前局部绝对值最大值出现的位置与上一次出现局部绝对值最大值出现的位置之间的距离。
步骤212:peakInLastFrame=0表明上一次出现的局部绝对值最大值在当前语音帧的最初SHIFT个采样点中,则有:detaPos=localN(k)-lastPos,执行步骤213。
步骤213:判断detaPos对应的时长是否在一个基音周期范围之内,若是,执行步骤215;否则,执行步骤214。
若采样率为8KHz,则一个基音周期的范围为:[12,128]。
步骤214:更新lastPeriod=-1,lastPos=localN(k),lastVal=peakN(k),peakInLastFrame=0,转至步骤220。
步骤215:判断lastPeriod>0是否成立,即:判断上一次出现局部绝对值最大值的位置是否出现基音周期,若是,执行步骤216;否则,执行步骤217。
步骤216:判断abs(detaPos-lastPeriod)<lastPeriod/D是否成立,若是,执行步骤217;否则,执行步骤218。
这里,D为实数,且D>2,通常取D=4。
步骤217:确定当前局部绝对值最大值处出现基音周期,记录period[p]=detaPos,periodLocal[p]=(N-1)*SHIFT+localN(k),同时更新lastPeriod=detaPos,lastPos=localN(k),lastVal=peakN(k),peakInLastFrame=0, p=p+1,转至步骤220。
这里,p用于表示当前基音周期在已收到的所有语音帧中发现的基音周期中的序号,period[p]表示当前基音周期,periodLocal[p]表示当前基音周期在已收到的所有语音帧中所处的位置。
lastPeriod<=0,表明上一次出现的局部绝对值最大值有效,但该处未发现基音周期,因此,detaPos为一个可信的基音周期。
步骤218:判断peakN(k)>lastVal是否成立,若是,执行步骤219;否则,执行步骤220。
步骤219:更新lastPeriod=-1,lastPos=localN(k),lastVal=peakN(k),peakInLastFrame=0,转至步骤220。
abs(detaPos-lastPeriod)<lastPeriod/D不成立,表明当前局部绝对值最大值处未发现基音周期;peakN(k)>lastVal表明当前局部绝对值最大值有效。
而,abs(detaPos-lastPeriod)<lastPeriod/D不成立表明当前局部绝对值最大值处未发现基音周期;peakN(k)>lastVal不成立,表明当前局部绝对值最大值无效,因此lastPeriod、lastPos和lastVal保持不变。
步骤220:判断k=M-1是否成立,若是,开始处理下一语音帧,返回步骤201;否则,执行步骤221。
步骤221:k=k+1,转至步骤208。
图3为本发明实施例提供的提取基音周期的装置框图,如图3所示,其主要包括:线性预测残差计算模块31、局部绝对值最大值确定模块32和基音周期确定模块33,其中:
线性预测残差计算模块31:用于对输入的当前语音帧进行加窗处理,对加窗后的语音帧进行线性预测分析,计算当前语音帧的线性预测残差,根据上一语音帧的遗留线性预测残差,得到当前语音帧最初SHIFT个采样点的最终线性预测残差,将得到的当前语音帧的最初SHIFT个采样点的最终线性预测残差输出到局部绝对值最大值确定模块32,其中,SHIFT为当前 语音帧所加窗相对上一语音帧所加窗移动的距离。
局部绝对值最大值确定模块32:用于接收线性预测残差计算模块31发来的SHIFT个线性预测残差的均值、方差和最大值,根据得到的均值、方差和最大值在该SHIFT个线性预测残差中寻找局部绝对值最大值,将各局部绝对值最大值及各局部绝对值最大值所在位置输出到基音周期确定模块33。
局部绝对值最大值确定模块32进一步用于,确定在线性预测残差计算模块31发来的SHIFT个线性预测残差中未找到局部绝对值最大值,向基音周期确定模块33发送无局部绝对值最大值指示。
基音周期确定模块33:用于根据局部绝对值最大值确定模块32发来的各局部绝对值最大值及其所处位置确定当前语音帧的基音周期。
基音周期确定模块33进一步用于,收到局部绝对值最大值确定模块32发来的无局部绝对值最大值指示,确定当前语音帧未出现基音周期。
如图4所示,基音周期确定模块33包括:距离计算判断模块331、基音周期发现模块332、基音周期信息记录模块333和局部最大值有效判断模块334,其中:
距离计算判断模块331:用于根据局部绝对值最大值确定模块32发来的各局部绝对值最大值所在的位置,从第一个局部绝对值最大值开始,依次计算当前局部绝对值最大值所在位置与上一个局部绝对值最大值所在位置之间的距离,判断该距离对应时长是否在一个基音周期范围内,若是,将该距离发送给基音周期发现模块332;否则,确定当前局部绝对值最大值处未发现基音周期;将当前局部绝对值最大值与上一个局部绝对值最大值发送给局部最大值有效判断模块334;
当收到基音周期发现模块332发来的基音周期发现指示后,将所述当前局部绝对值最大值所在位置与上一个局部绝对值最大值所在位置之间的距离作为当前基音周期、将当前局部绝对值最大值所在位置作为当前基音周期所在位置发送给基音周期信息记录模块333;
当收到局部最大值有效判断模块334发来的当前局部绝对值最大值无效指 示后,将该当前局部绝对值最大值及其所在位置信息从自身删除。
距离计算判断模块331进一步用于,确定当前局部绝对值最大值为当前语音帧的最初SHIFT个采样点中的第一个线性预测残差局部绝对值最大值,且检测到上一语音帧的最初SHIFT个采样点中未出现线性预测残差局部绝对值最大值,则确定当前局部绝对值最大值处未发现基音周期。
基音周期发现模块332:用于在收到距离计算判断模块331发来的距离后,判断上一局部绝对值最大值处是否发现基音周期,若否,向距离计算判断模块331发送基音周期发现指示;若是,则判断距离计算判断模块331发来的距离与从基音周期信息记录模块333获取的最近一个基音周期所覆盖采样点个数之差的绝对值是否在预设范围内,若在,向距离计算判断模块331发送基音周期发现指示;否则,向局部最大值有效判断模块334发送一个基音周期未发现指示。
基音周期信息记录模块333:用于记录距离计算判断模块331发来的基音周期和该基音周期出现的位置信息。
局部最大值有效判断模块334:用于接收距离计算判断模块331发来的当前局部绝对值最大值和上一个局部绝对值最大值,在收到基音周期发现模块332发来的基音周期未发现指示后,判断当前局部绝对值最大值是否大于上一局部绝对值最大值,若是,向距离计算判断模块331发送当前局部绝对值最大值有效指示;否则,向距离计算判断模块331发送当前局部绝对值最大值无效指示。
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种基音周期提取方法,其特征在于,包括:
计算当前语音帧的线性预测残差,在线性预测残差中寻找局部绝对值最大值;根据所述局部绝对值最大值所在位置确定当前语音帧的基音周期;
所述根据局部绝对值最大值所在位置确定当前语音帧的基音周期包括:
A、依次计算每个局部绝对值最大值与上一局部绝对值最大值所在位置之间的距离,检测到该距离对应的时长在一个基音周期范围内,判断在上一个局部绝对值最大值处是否发现基音周期,若是,执行步骤C;否则,执行步骤B;
B、判断步骤A得到的距离与最近一个基音周期所覆盖采样点个数的差值是否在预设范围内,若是,执行步骤C;否则,确定当前局部绝对值最大值处未发现基音周期,本流程结束;
C、将步骤A得到的距离作为当前局部绝对值最大值处出现的基音周期。
2.如权利要求1所述的方法,其特征在于,步骤B所述判定步骤A得到的距离与最近一个基音周期所覆盖采样点个数的差值不在预设范围内之后进一步包括:
判断当前局部绝对值最大值是否大于上一个局部绝对值最大值,若是,确定当前局部绝对值最大值有效;否则,确定当前局部绝对值最大值无效。
3.如权利要求2所述的方法,其特征在于,所述预设范围为:小于最近一个基音周期与预设值的商值,且,所述预设值为大于2的实数。
4.如权利要求1所述的方法,其特征在于,所述方法进一步包括:检测到在当前语音帧未发现局部绝对值最大值,则确定当前语音帧未出现基音周期。
5.如权利要求1所述的方法,其特征在于,所述方法进一步包括:检测到在上一语音帧未发现局部绝对值最大值,则确定所述寻找到的第一个局部绝对值最大值处未出现基音周期。
6.如权利要求1所述的方法,其特征在于,所述在线性预测残差中寻找局部绝对值最大值包括:
判断当前线性预测残差是否满足:大于周围预定数目个线性预测残差、且与所有线性预测残差的均值之差大于所有线性预测残差的方差与第一预定常数的乘积、且大于最大线性预测残差与第二预定常数的商值,若满足,确定当前线性预测残差为局部绝对值最大值;否则,确定当前线性预测残差非局部绝对值最大值。
7.如权利要求6所述的方法,其特征在于,所述预定数目为8~24之间的任一实数,所述第一预定常数和第二预定常数为2~5之间的任一实数。
8.如权利要求1所述的方法,其特征在于,所述计算当前语音帧的线性预测残差之前进一步包括:对当前语音帧进行加窗处理。
9.如权利要求8所述的方法,其特征在于,所述计算当前语音帧的线性预测残差包括:
a、根据公式:
计算当前语音帧的线性预测残差,
其中,RSN(i)为当前语音帧在第i个采样点上的线性预测残差,N为当前语音帧在已收到的所有语音帧中的帧序号;HS(i)、HS(i-j)为当前语音帧加窗后在第i、i-j个采样点上的语音信号;LP(j)为线性预测函数;WLEN为窗的长度,O为采用的线性预测分析算法的阶数;
b、对RSN(i)进行加窗处理得到HRSN(i);
c、根据公式:
RS(i+(N-1)*SHIFT)=LRSN-1(i)+HRSN(i),i=0,1,...,SHIFT-1
计算当前语音帧的最终线性预测残差,
其中,RS(i+(N-1)*SHIFT)为最终得到的当前语音帧最初SHIFT个采样点上的线性预测残差,其中,i+(N-1)*SHIFT为当前语音帧的最初SHIFT个采样点在已收到的所有语音帧中的序号;LRSN-1(i)为上一语音帧在当前语音帧的第i个采样点上遗留的线性预测残差,SHIFT为当前窗相对上一窗移动的距离。
10.如权利要求9所述的方法,其特征在于,所述步骤c之后进一步包括:
根据以下公式:
LRS(i)=LRSN-1(i+SHIFT),i=0,1,...,WLEN-2*SHIFT-1;
LRS(i)=0,i=WLEN-2*SHIFT,...,WLEN-SHIFT-1;
LRSN(i)=LRS(i)+HRSN(i+SHIFT),i=0,1,...,WLEN-SHIFT-1
计算当前语音帧遗留的线性预测残差LRSN(i),
其中,LRSN-1(i+SHIFT)为在上一语音帧的第i+SHIFT个采样点上的遗留线性预测残差,LRS(i)为中间变量,HRSN(i+SHIFT)为当前语音帧在第i+SHIFT个采样点上的线性预测残差。
11.如权利要求9所述的方法,其特征在于,所述在线性预测残差中寻找局部绝对值最大值为:在当前语音帧的最初SHIFT个线性预测残差中寻找局部绝对值最大值。
12.一种基音周期提取装置,其特征在于,包括:线性预测残差计算模块、局部绝对值最大值确定模块和基音周期确定模块,其中:
线性预测残差计算模块,用于计算输入语音帧的线性预测残差,将各线性预测残差输出到局部绝对值最大值确定模块;
局部绝对值最大值确定模块,用于在收到的所有线性预测残差中寻找局部绝对值最大值,将各局部绝对值最大值所在位置输出到基音周期确定模块;
基音周期确定模块,根据收到的局部绝对值最大值所在位置确定当前语音帧的基音周期;
所述基音周期确定模块包括:
距离计算判断模块,用于根据收到的各局部绝对值最大值所在的位置,依次计算每个局部绝对值最大值与上一局部绝对值最大值所在位置之间的距离,检测到该距离对应时长在一个基音周期范围内,将该距离发送给基音周期发现模块;收到基音周期发现指示,将所述距离作为当前基音周期、并将当前局部绝对值最大值所在位置作为当前基音周期所在位置发送给基音周期信息记录模块;
基音周期发现模块,用于在收到距离信息后,判断上一局部绝对值最大值处是否发现基音周期,若否,向距离计算判断模块发送基音周期发现指示;若是,且检测到距离计算判断模块发来的距离与最近一个基音周期所覆盖采样点个数之差的绝对值在预设范围内,向距离计算判断模块发送基音周期发现指示;
基音周期信息记录模块,用于保存收到的当前基音周期及其位置信息。
13.如权利要求12所述的装置,其特征在于,所述基音周期发现模块判定上一局部绝对值最大值处发现基音周期,且检测到距离计算判断模块发来的距离与最近一个基音周期所覆盖采样点个数之差的绝对值不在预设范围内,发送一个基音周期未发现指示;
且,所述基音周期确定模块进一步包括:局部最大值有效判断模块,用于接收基音周期发现模块发来的所述基音周期未发现指示,判断当前局部绝对值最大值是否大于上一局部绝对值最大值,若否,向距离计算判断模块发送当前局部绝对值最大值无效指示;
且,所述距离计算判断模块收到所述当前局部绝对值最大值无效指示后,将当前局部绝对值最大值及其位置信息从自身删除。
14.如权利要求12所述的装置,其特征在于,所述局部绝对值最大值确定模块进一步用于,确定当前语音帧未出现局部绝对值最大值,则向基音周期确定模块输出无局部绝对值最大值指示;
所述基音周期确定模块进一步用于,收到无局部绝对值最大值指示,确定当前语音帧未出现基音周期。
15.如权利要求12所述的装置,其特征在于,所述距离计算判断模块进一步用于,确定当前局部绝对值最大值为当前语音帧中的第一个局部绝对值最大值,且检测到上一语音帧未出现局部绝对值最大值,则确定当前局部绝对值最大值处未发现基音周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100647882A CN101030374B (zh) | 2007-03-26 | 2007-03-26 | 基音周期提取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100647882A CN101030374B (zh) | 2007-03-26 | 2007-03-26 | 基音周期提取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101030374A CN101030374A (zh) | 2007-09-05 |
CN101030374B true CN101030374B (zh) | 2011-02-16 |
Family
ID=38715676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100647882A Expired - Fee Related CN101030374B (zh) | 2007-03-26 | 2007-03-26 | 基音周期提取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101030374B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2107556A1 (en) * | 2008-04-04 | 2009-10-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio transform coding using pitch correction |
CN101599272B (zh) * | 2008-12-30 | 2011-06-08 | 华为技术有限公司 | 基音搜索方法及装置 |
CN102016530B (zh) * | 2009-02-13 | 2012-11-14 | 华为技术有限公司 | 一种基音周期检测方法和装置 |
US8185384B2 (en) * | 2009-04-21 | 2012-05-22 | Cambridge Silicon Radio Limited | Signal pitch period estimation |
CN101572089B (zh) * | 2009-05-21 | 2012-01-25 | 华为技术有限公司 | 信号周期检测方法及其装置 |
CN107808655B (zh) * | 2017-10-27 | 2021-02-12 | 广州酷狗计算机科技有限公司 | 音频信号处理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999897A (en) * | 1997-11-14 | 1999-12-07 | Comsat Corporation | Method and apparatus for pitch estimation using perception based analysis by synthesis |
US6507814B1 (en) * | 1998-08-24 | 2003-01-14 | Conexant Systems, Inc. | Pitch determination using speech classification and prior pitch estimation |
CN1412742A (zh) * | 2002-12-19 | 2003-04-23 | 北京工业大学 | 基于波形相关法的语音信号基音周期检测方法 |
CN1452158A (zh) * | 2002-04-17 | 2003-10-29 | 无敌科技股份有限公司 | 获取语音基本周期及编码的方法 |
CN1848240A (zh) * | 2005-04-12 | 2006-10-18 | 佳能株式会社 | 基于离散对数傅立叶变换的基音检测方法、设备和介质 |
-
2007
- 2007-03-26 CN CN2007100647882A patent/CN101030374B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999897A (en) * | 1997-11-14 | 1999-12-07 | Comsat Corporation | Method and apparatus for pitch estimation using perception based analysis by synthesis |
US6507814B1 (en) * | 1998-08-24 | 2003-01-14 | Conexant Systems, Inc. | Pitch determination using speech classification and prior pitch estimation |
CN1452158A (zh) * | 2002-04-17 | 2003-10-29 | 无敌科技股份有限公司 | 获取语音基本周期及编码的方法 |
CN1412742A (zh) * | 2002-12-19 | 2003-04-23 | 北京工业大学 | 基于波形相关法的语音信号基音周期检测方法 |
CN1848240A (zh) * | 2005-04-12 | 2006-10-18 | 佳能株式会社 | 基于离散对数傅立叶变换的基音检测方法、设备和介质 |
Non-Patent Citations (1)
Title |
---|
JP特开平8-234794A 1996.09.13 |
Also Published As
Publication number | Publication date |
---|---|
CN101030374A (zh) | 2007-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3055691B2 (ja) | 音声認識装置 | |
CN101030374B (zh) | 基音周期提取方法及装置 | |
CN101292283B (zh) | 声音判别系统及声音判别方法 | |
JPS62231997A (ja) | 音声認識システム及びその方法 | |
CN101996635B (zh) | 基于重音突显度的英语发音质量评价方法 | |
NL8300718A (nl) | Werkwijze en inrichting voor herkenning van een foneem in een stemsignaal. | |
JPH0990974A (ja) | 信号処理方法 | |
CA2162407C (en) | A robust pitch estimation method and device for telephone speech | |
JP4630136B2 (ja) | ストレス状態推定緩和装置及びそのプログラム | |
US8942977B2 (en) | System and method for speech recognition using pitch-synchronous spectral parameters | |
Matsumoto et al. | Evaluation of Mel-LPC cepstrum in a large vocabulary continuous speech recognition | |
KR20070069631A (ko) | 음성 신호에서 음소를 분절하는 방법 및 그 시스템 | |
Zolnay et al. | Extraction methods of voicing feature for robust speech recognition. | |
Bouzid et al. | Voice source parameter measurement based on multi-scale analysis of electroglottographic signal | |
Zhao et al. | A processing method for pitch smoothing based on autocorrelation and cepstral F0 detection approaches | |
Yadav et al. | Epoch detection from emotional speech signal using zero time windowing | |
Slaney et al. | Pitch-gesture modeling using subband autocorrelation change detection. | |
JP2010060846A (ja) | 合成音声評価システム及び合成音声評価方法 | |
US20210065684A1 (en) | Information processing apparatus, keyword detecting apparatus, and information processing method | |
Ramabadran et al. | The ETSI extended distributed speech recognition (DSR) standards: server-side speech reconstruction | |
CN106920558A (zh) | 关键词识别方法及装置 | |
Arroabarren et al. | Glottal spectrum based inverse filtering. | |
CN101226741B (zh) | 一种活动语音端点的侦测方法 | |
KR100526110B1 (ko) | 화자인식시스템의 화자 특징벡터 생성방법 및 시스템 | |
JP2585214B2 (ja) | ピッチ抽出方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110216 Termination date: 20120326 |