CN103337244B - 一种孤立音节基频曲线中的野值修改方法 - Google Patents
一种孤立音节基频曲线中的野值修改方法 Download PDFInfo
- Publication number
- CN103337244B CN103337244B CN201310186080.XA CN201310186080A CN103337244B CN 103337244 B CN103337244 B CN 103337244B CN 201310186080 A CN201310186080 A CN 201310186080A CN 103337244 B CN103337244 B CN 103337244B
- Authority
- CN
- China
- Prior art keywords
- curve
- fundamental
- amendment
- value
- fundamental frequency
- 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
Landscapes
- Complex Calculations (AREA)
Abstract
本发明提出了一种修改孤立音节基频曲线中的野值的方法,该方法为:提出了孤立音节基频曲线分段模型;设计了一种逐点修改第一类野值与移除第二类野值的算法,该算法首先通过统计的方法确定修改第一类野值的修改起始点,然后利用半频,倍频及其相关组合对修改起始点与修改结束点之间的基频曲线进行基频值修改;其次,移除首尾部分的第二类野值,通过Viterbi分割将基频曲线分割为若干段并设计了最终基频曲线决策,得到最终基频曲线。设计了3组评价实验,包括主观评测实验,客观参数评价实验与音节声调识别对比实验。实验结果表明,修改后的基频曲线比原始基频曲线更光滑且更符合基频变化的趋势。
Description
(一)技术领域:
本发明涉及一种修改孤立音节基频曲线中野值的方法,属于信息技术领域。
(二)背景技术:
基频是语音处理领域一维很重要的声学特征。准确地检测基频意义重大,但该问题一直未能得到很好解决,目前还没有一种方法能在任何情况下准确可靠地检测出不同话者的基频曲线。这是由于语音信号自身的复杂性:声门激励信号并不是一个完整的周期序列;声道响应强烈影响音源的谐波结构,使得检测出仅与声带振动相关的音源信息困难;基因周期变化范围大,且受发音方式与情感状态影响。在检测得到的基频曲线中,主要存在两类基频野值,第一类野值大多发生在半频、倍频,甚至三倍频处,可由其相应的半频,倍频或其相关组合进行修正;第二类野值是由于音节分割无法100%准确分离有音部分与无音部分而产生的随机分布的基频值,这类错误主要分布在基频曲线的首尾段。基于此,本发明提出了逐点修改第一类野值与移除第二类野值的方法,并对修改完成的曲线进行了评价。
(三)发明内容:
本发明的目的在于提供一种修改基频曲线中野值的方法,本发明针对存在于基频曲线中的第一类野值与第二类野值的特点,提出了一种利用半频,倍频或其相关组合逐点修正第一类野值和移除第二类野值的方法。该方法首先利用统计的方法确定第一类野值的修改起始点与修改结束点,然后逐点修改其间的基频值。对于第二类野值,首先用Viterbi算法对基频曲线进行分段,分段数目由修改起始点与修改结束点确定,并对分段后的结果进行最终基频曲线的决策,对于1分段情况则整个基频曲线就是最终基频曲线;对于3分段情况,中间段为最终的最终基频曲线;对于2分段情况,分别用-1与1代表第一部分与第二部分,并利用FISHER比率选取相应的声学特征训练支持向量机(SVM)对两部分进行分类获得最终基频曲线。
本发明提出一种修改基频曲线中野值的方法,其流程图见图1:其中包括以下内容:
首先,提出了一种孤立音节基频曲线分段模型,将孤立音节的基频曲线划分为正常基频值,第一类野值与第二类野值三部分;其中,第一类野值是由于语音信号本身的复杂性产生的,由于语音信号并非完全周期性的信号,因此各种基频提取方法得到的基频曲线均存在错误,而这些错误大多发生在倍频,半频,甚至三倍频处;第二类野值是由于音节分割无法100%准确分离有音部分与无音部分而产生的随机分布的基频值,这类错误主要分布在基频曲线的首尾段
其次,基于基频曲线分段模型,提出了一种逐点修改第一类野值与移除第二类野值的方法,具体步骤如下:
步骤一:确定逐点修改第一类野值的修改起始点与修改结束点,最佳的修改起始点与修改结束点是有音部分与无音部分的分界点,但由于无法100%准确确定分界点,因此,修改起始点与修改结束点的确定应符合以下原则:(1)修改起始点应位于理论起始分界点之后,修改结束点应位于理论结束分界点之前;(2)修改起始点的基频值为正常基频值;修改起始点与修改结束点确定步骤如下:
步骤1.1:对所有孤立音节的基频曲线做一阶差分得到一阶差分基频曲线;正常基频值在一节差分基频曲线中表现为接近0的值,基频野值在一阶差分基频曲线中表现为邻近的远远大于0值的值,图2为一个4声孤立音节的基频曲线,图3为该音节的一阶差分基频曲线;
步骤1.2:对一阶差分基频曲线的基频值做归一化处理,并对所有归一化后的一阶差分基频曲线在0到1的基频值区间内,以0.1为步长做频数统计;
步骤1.3:对0~0.8区间内的频数分布用不同曲线(指数曲线,多项式曲线,高斯曲线和幂分布曲线)拟合,对0.7~1区间内频数分布用高斯曲线进行拟合,计算不同曲线拟合情况下的交点的平均值,为0.75,计算0.75前的一阶差分基频值的频数占一阶差分基频值总频数的百分比,得到阈值85%,图4展示了一阶差分基频的频数分布情况与曲线拟合结果;
步骤1.4:量化每个孤立音节的一阶差分基频曲线的基频值,基频值大小位于前85%的点量化为0,基频值大小位于后15%的点量化为1,并计算每个孤立音节中85%对应的基频值大小,得到量化阈值t,图5为量化后的一阶差分基频曲线;
步骤1.5:对量化后的一阶差分基频曲线做一阶差分得到二阶差分基频曲线,设定“nframe”为帧长,“1”为帧移,分别从二阶差分基频曲线的起始点进行前向判断,从二阶差分基频曲线的结束点进行后向判断,若一帧中的基频值均为“0”,则记录该帧起始点,若一帧中的基频值存在“1”,则移动帧移长度,判断下一帧,直到出现一帧中的基频值均为0,记录该帧起始点,起始点与结束点的确定方法流程如图6所示;
步骤1.6:由步骤1.5得到的临界点b1与b2,b1为由二阶差分基频曲线的起始点开始判断得到的起始点,b2为由二阶差分基频曲线的结束点开始判断得到的起始点,判断b1与b2的大小,若b1大于b2,从前向开始修改,b1为修改起始点,b2为修改结束点,若b1小于b2,从后向开始修改,b2为修改起始点,b1为修改结束点;
步骤二:逐点修改b1与b2之间的基频值,方法流程图如图7所示,具体修改步骤如下:
步骤2.1:确定待修改基频点F0(j)的修改候选值:
●Fp(j):第j个点的原始基频值;
●Mp(j):第j个点的倍频值;
●Hp(j):第j个点的半频值;
●第j-1个点的原始基频值与第j+1个点的原始基频值的均值;
●第j-1个点的原始基频值与第j+1个点的倍频值的均值;
●第j-1个点的原始基频值与第j+1个点的半频值的均值;
步骤2.2:确定待修改基频点F0(j)的修改值的取值范围:
●范围range1:由参数c0确定的理想修改值范围,c0为修改起始点与修改结束点之间的一阶差分基频值的均值的模值;
●范围range2:由参数t确定的保证修改值为正常值的取值范围;
步骤2.3:由步骤2.1与2.2中确定的F0(j)的修改候选值与修改范围计算逐点修改过程中用到的相关参数如下:
●初始化:Δ0=F0(j-1)-F0(j-2)
●一阶差分集合A:
Δ1=Fp(j)-F0(j-1)
Δ2=Sp(j)-F0(j-1)
Δ3=Hp(j)-F0(j-1)
●二阶差分模值集合B:
ε1=|Δ1-Δ0|
ε2=|Δ2-Δ0|
ε3=|Δ3-Δ0|
ε4=|Δ4-Δ0|
ε5=|Δ5-Δ0|
ε6=|Δ6-Δ0|
●取值集合R1:集合B中小于c0的元素的集合;
●取值集合R2:集合A中小于t的元素的集合;
步骤2.4:为了保证首帧F0(j-1)与F0(j-2)为正常的基频值,计算新的修改起始点b1'为“b1+nframe-2”;从新的起始点开始,计算步骤2.3中所有的参数,判断取值集合R1是否为空集,若不为空集则判断ε1是否在R1中,若在,则令ε等于ε1,否则令R1中的最小值等于ε,计算新的基频值为“ε+Δ0+F0(j-1)”;若R1为空集,则进入步骤2.5;
步骤2.5:判断取值集合R2是否为空集,若不为空集则判断Δ1是否在R2中,若在,则令Δ1等于b,否则令R2中的最小值等于b,计算新的基频值为“b+F0(j-1)”,若为空集,则计算新的基频值为“t+F0(1,j-1)”;
步骤2.6:计算得到新的F0(j)后,判断j是否小于等于n-2,若成立,则令j=j+1并重复步骤2.4~2.6;若不成立,则令Fp(n)=F0(n-1)+F0(n-1)-F0(n-2);
步骤2.7:计算修改完毕的一阶差分基频的平均值的模值f0,比较f0与c0,若f0不等于c0,则重复2.4~2.7,若f0等于c0,则结束修改;
步骤三:移除首尾段存在的第二类野值,具体修改步骤如下:
步骤3.1:根据步骤1.6中得到的修改起始点与修改结束点的值确定基频曲线分段数目:若修改起始点为1,修改结束点为n,n为基频曲线的总点数,则分段数目为1,不存在第二类野值;若修改起始点为1,修改结束点不为n,或者修改起始点不为1,修改结束点为n,则分段数目为2,首部或尾部存在一段第二类野值;若修改起始点不为1,修改结束点不为n,则分段数目为3,首部和尾部均存在第二类野值;
步骤3.2:根据3.1中的分段原则,利用Viterbi算法对基频曲线进行分段,对于1分段情况,则整个基频曲线就是最终基频曲线;对于3分段情况,中间段为最终基频曲线;对于2分段情况,分别用-1与1代表第一部分与第二部分,并利用FISHER比率选取相应的声学特征训练支持向量机(SVM)对两部分进行分类获得最终基频曲线。如图8所示,上图为音节的能量曲线,下图为音节的基频曲线。
表1特征和FISHER比率
选取FISHER比率大于0.5的4维特征(η,σ,γ)作为最终的分类特征组合。为了验证特征组合的有效性,选取236个样本并用该特征组合训练SVM,利用训练完成的SVM识别另外236个样本,得到97.6%的识别率。
最后,为了验证基频曲线的修改效果,设计了3组评价实验,具体步骤如下:
步骤一:邀请20名志愿者对修改后的基频曲线的光滑程度与波动程度进行主观评价,其中光滑程度描述的是曲线是否有突变,波动程度描述的是曲线是否按照一定趋势变化;评价分为五个等级{-1,-0.5,0,0.5,1},数值越大代表曲线越光滑,波动越少;每名志愿者分别对同一基频曲线的修改前与修改后进行评价,每名志愿者评价50个音节,取20名志愿者的评价值的平均值作为被评价音节的最终结果,图9为主观评价结果统计图。
步骤二:客观评测实验:分别计算孤立音节基频曲线修改前后的相对标准偏差(RSD)与二阶差分的方差(δsec-order),计算公式如式(1)与式(2)所示:其中相对标准偏差用于描述基频曲线的光滑度,二阶差分的方差用于描述波动程度,计算结果如表2所示。
表2客观参数评测结果
步骤三:设计一组音节声调识别的对比实验:A实验用未修改的基频曲线提取声学特征训练3726个音节获得4种声调的隐马尔可夫模型,然后识别2484个音节的声调,得到4种声调的平均识别率P1;B实验用修改后的基频曲线提取声学特征训练3726个音节获得4种声调的隐马尔可夫模型,然后识别2484个音节的声调,得到4种声调的平均识别率P2,比较P1与P2,图10为4种声调的识别率对比结果图;
步骤四:根据步骤一至步骤三的实验结果,总结结论。
本发明的优点及积极效果为提出了一种修改基频曲线中野值的方法。该方法首先利用统计的方法确定第一类野值的修改起始点与修改结束点,然后逐点修改其间的基频值。对于第二类野值,首先用Viterbi算法对基频曲线进行分段,分段数目有修改起始点与修改结束点确定,并对分段后的结果进行目标基频曲线的决策,得到最终的基频曲线。由主观评测实验、客观参数评价实验及音节声调识别的对比实验的结果表明,经过修改的基频曲线更加光滑,波动更少。
(四)附图说明:
图1为基频曲线中野值修改的总体流程图;
图2为一个4声孤立音节的基频曲线;
图3为图2中4声孤立音节的一阶差分基频曲线;
图4为一阶差分基频的频数分布情况与曲线拟合结果;
图5为图2中4声孤立音节的一阶差分基频曲线量化结果;
图6为修改起始点与修改结束点的确定方法流程图;
图7为逐点修改第一类野值的方法流程图;
图8上图为孤立音节的能量曲线,下图为孤立音节的基频曲线;
图9为主观评价结果统计图;
图10利用不同方法得到的4种声调的识别率对比结果图;
(五)具体实施方式:
下面结合附图,对本发明所述的技术方案作进一步阐述。
首先,提出了一种孤立音节基频曲线分段模型,将孤立音节的基频曲线划分为正常基频值,第一类野值与第二类野值三部分;其中,第一类野值是由于语音信号本身的复杂性产生的,由于语音信号并非完全周期性的信号,因此各种基频提取方法得到的基频曲线均存在错误,而这些错误大多发生在倍频,半频,甚至三倍频处;第二类野值是由于音节分割无法100%准确分离有音部分与无音部分而产生的随机分布的基频值,这类错误主要分布在基频曲线的首尾段。
其次,基频曲线分段模型,提出了一种逐点修改第一类野值与移除第二类野值的方法,具体步骤如下:
步骤一:确立逐点修改第一类野值的修改起始点与修改结束点,最佳的修改起始点与修改结束点是有音部分与无音部分的分界点,但由于无法100%准确确定分界点,因此,修改起始点与修改结束点的确定应符合以下原则:(1)修改起始点应位于理论起始分界点之后,修改结束点应位于理论结束分界点之前;(2)修改起始点的基频值为正常基频值;修改起始点与修改结束点确定步骤如下:
步骤1.1:对所有孤立音节的基频曲线做一阶差分得到一阶差分基频曲线;正常基频值在一节差分基频曲线中表现为接近0的值,基频野值在一阶差分基频曲线中表现为邻近的远远大于0值的值,图2为一个4声孤立音节的基频曲线,图3为该音节的一阶差分基频曲线;
步骤1.2:对一阶差分的基频曲线的基频值做归一化处理,并对所有归一化后的一阶差分的基频曲线在0到1的基频值区间内,以0.1为步长做频数统计;
步骤1.3:对0~0.8区间内的频数分布用不同曲线(指数曲线,多项式曲线,高斯曲线和幂分布曲线)拟合,对0.7~1区间内频数分布用高斯曲线进行拟合,计算不同曲线拟合情况下的交点的平均值,为0.75,计算0.75前的一阶差分基频值的频数占一阶差分基频值总频数的百分比,得到阈值85%,图4展示了一阶差分基频的频数分布情况与曲线拟合结果;
步骤1.4:量化每个孤立音节的一阶差分基频曲线的基频值,基频值大小位于前85%的点量化为0,基频值大小位于后15%的点量化为1,并计算每个孤立音节中85%对应的基频值大小,得到量化阈值t,图5为量化后的一阶差分基频曲线;
步骤1.5:对量化后的一阶差分基频曲线做一阶差分得到二阶差分基频曲线,设定“nframe”为帧长,“1”为帧移,分别从二阶差分基频曲线的起始点进行前向判断,从二阶差分基频曲线的结束点进行后向判断,若一帧中的基频值均为“0”,则记录该帧起始点,若一帧中的基频值存在“1”,则移动帧移长度,判断下一帧,直到出现一帧中的基频值均为0,记录该帧起始点,起始点与结束点的确定方法流程如图6所示;
步骤1.6:由步骤1.5得到临界点b1与b2,b1为由二阶差分基频曲线的起始点开始判断得到的起始点,b2为由二阶差分基频曲线的结束点开始判断得到的起始点,判断b1与b2的大小,若b1大于b2,从前向开始修改,b1为修改起始点,b2为修改结束点,若b1小于b2,从后向开始修改,b2为修改起始点,b1为修改结束点;
步骤二:逐点修改b1与b2之间的基频值,方法流程图如图7所示,具体修改步骤如下:
步骤2.1:确定待修改基频点F0(j)的修改候选值:
●Fp(j):第j个点的原始基频值;
●Mp(j):第j个点的倍频值;
●Hp(j):第j个点的半频值;
●第j-1个点的原始基频值与第j+1个点的原始基频值的均值;
●第j-1个点的原始基频值与第j+1个点的倍频值的均值;
●第j-1个点的原始基频值与第j+1个点的半频值的均值;
步骤2.2:确定待修改基频点F0(j)的修改值的取值范围:
●范围range1:由参数c0确定的理想修改值范围,c0为修改起始点与修改结束点之间的一阶差分基频值的均值的模值;
●范围range2:由参数t确定的保证修改值为正常值的取值范围;
步骤2.3:由步骤2.1与2.2中确定的F0(j)的修改候选值与修改范围计算逐点修改过程中用到的相关参数如下:
●初始化:Δ0=F0(j-1)-F0(j-2)
●一阶差分集合A:
Δ1=Fp(j)-F0(j-1)
Δ2=Sp(j)-F0(j-1)
Δ3=Hp(j)-F0(j-1)
●二阶差分模值集合B:
ε1=|Δ1-Δ0|
ε2=|Δ2-Δ0|
ε3=|Δ3-Δ0|
ε4=|Δ4-Δ0|
ε5=|Δ5-Δ0|
ε6=|Δ6-Δ0|
●取值集合R1:集合B中小于c0的元素的集合;
●取值集合R2:集合A中小于t的元素的集合;
步骤2.4:为了保证首帧F0(j-1)与F0(j-2)为正常的基频值,计算新的修改起始点b1'为“b1+nframe-2”;从新的起始点开始,计算步骤2.3中所有的参数,判断取值集合R1是否为空集,若不为空集则判断ε1是否在R1中,若在,则令ε等于ε1,否则令R1中的最小值等于ε,计算新的基频值为“ε+Δ0+F0(j-1)”;若R1为空集,则进入步骤2.5;
步骤2.5:判断取值集合R2是否为空集,若不为空集则判断Δ1是否在R2中,若在,则令Δ1等于b,否则令R2中的最小值等于b,计算新的基频值为“b+F0(j-1)”,若为空集,则计算新的基频值为“t+F0(1,j-1)”;
步骤2.6:计算得到新的F0(j)后,判断j是否小于等于n-2,若成立,则令j=j+1并重复步骤2.4~2.6;若不成立,则令Fp(n)=F0(n-1)+F0(n-1)-F0(n-2);
步骤2.7:计算修改完毕的一阶差分基频的平均值的模值f0,比较f0与c0,若f0不等于c0,则重复2.4~2.7,若f0等于c0,则结束修改;
步骤三:移除首尾段存在的第二类野值,具体修改步骤如下:
步骤3.1:根据步骤1.6中得到的修改起始点与修改结束点的值确定基频曲线分段数目:若修改起始点为1,修改结束点为n,n为基频曲线的总点数,则分段数目为1,不存在第二类野值;若修改起始点为1,修改结束点不为n,或者修改起始点不为1,修改结束点为n,则分段数目为2,首部或尾部存在一段第二类野值;若修改起始点不为1,修改结束点不为n,则分段数目为3,首部和尾部均存在第二类野值;
步骤3.2:根据3.1中的分段原则,利用Viterbi算法对基频曲线进行重分段,Viterbi算法的实现参数如下:
●O=(o1o2o3...oN):代表基频曲线的观察值序列;
●oj=(logF0j,ΔlogF0j):观察值向量;
●I,(1≤I≤5):基频曲线被划分为I段连续部分;
● 用于决定oj点属于哪一部分,每部分的中心服从概率密度函数为p(oj|Φi)的多元高斯函数,其中参数Φi包括均值μi与协方差矩阵Σi,μi和Σi可由第i部分的ni个观察值的最大似然估计得到,计算公式如式(1)和(2)所示。.
● 转移概率矩阵;
●aij:由状态i转移到状态j的转移概率;
●T(i,j)=max(T(i-1,j-1)aijp(oj|Φi)),i∈(1,2...I),j∈(1,2...n):状态转移递推公式。
对于1分段情况,则整个基频曲线就是最终基频曲线;对于3分段情况,中间段为最终基频曲线;对于2分段情况,分别用-1与1代表第一部分与第二部分,并利用FISHER比率选取相应的声学特征训练支持向量机(SVM)对两部分进行分类获得最终基频曲线。如图8所示,上图为音节的能量曲线,下图为音节的基频曲线。点线表示音节的边界,虚线为第一部分c1与第二部分c2的分界线,A、B和C为相应c1与c2的起始点与结束点,t1与t2为音节起始与末尾对应的帧数。备选的声学特征如下:
●归一化长度:
第一部分:
第二部分:
●ci帧长:ni.
●c1归一化帧长:dur1=tB1-tA1.
c2归一化帧长:dur2=tC1-tB1
●c1和c2的能量:
P为对应帧的能量.
●c1和c2的能量斜率
●分段能量比率:
●c1和c2的拟合斜率比率:
k为拟合斜率。
●c1和c2均值比率:
●均值:
●方差:
●c1和c2的自相关系数:
表1特征和FISHER比率
选取FISHER比率大于0.5的4维特征(η,σ,γ)作为最终的分类特征组合。为了验证特征组合的有效性,选取236个样本并用该特征组合训练SVM,利用训练完成的SVM识别另外236个样本,得到97.6%的识别率。
最后,为了验证基频曲线的修改效果,设计了3组评价实验,具体步骤如下:
步骤一:邀请20名志愿者对修改后的基频曲线的光滑程度与波动程度进行主观评价,其中光滑程度描述的是曲线是否有突变,波动程度描述的是曲线是否按照一定趋势变化;评价分为五个等级{-1,-0.5,0,0.5,1},数值越大代表曲线越光滑,波动越少;每名志愿者分别对同一基频曲线的修改前与修改后进行评价,每名志愿者评价50个音节,取20名志愿者的评价值的平均值作为被评价音节的最终结果,图9为主观评价结果统计图,其中X坐标为平滑度,Y坐标为波动程度,圆圈代表原始基频曲线的评价值,叉号代表修改后的基频曲线的评价值。由图可以看出,大量的圆圈集中在第三区间而少部分的圆圈分布在第一区间,这说明大部分的原始基频曲线中存在野值使得基频曲线不光滑且有波动。但是,全部的叉号均位于第一区间内,也就是说经过修改后的基频曲线变得更加光滑且波动更少。特别的,有三点的评价值在修改前后是一致的,这是因为原始的基频曲线中不存在野值。
步骤二:客观评测实验:分别计算孤立音节基频曲线修改前后的相对标准偏差(RSD)与二阶差分的方差(δsec-order),计算公式如式(3)与式(4)所示:其中相对标准偏差用于描述基频曲线的光滑度,二阶差分的方差用于描述波动程度,计算结果如表2所示。
表2客观参数评测结果
由表2的结果可以看出修改后的基频曲线的相对标准偏差(RSD)与二阶差分的方差(δsec-order)均有所减小,这说明修改后的基频曲线更加光滑,波动更少。
步骤三:设计一组音节声调识别的对比实验:A实验用未修改的基频曲线提取声学特征训练3726个音节获得4种声调的隐马尔可夫模型,然后识别2484个音节的声调,得到4种声调的平均识别率P1;B实验用修改后的基频曲线提取声学特征训练3726个音节获得4种声调的隐马尔可夫模型,然后识别2484个音节的声调,得到4种声调的平均识别率P2,比较P1与P2,图10为4种声调的识别率对比结果图;由图10可以看出实验B利用修改后的基频曲线进行声调识别比实验A里用未修改的基频曲线进行声调识别提高了5.2%的识别率。这是由于经过基频野值修改后的基频曲线更加光滑与标准。
Claims (2)
1.一种基于孤立音节基频曲线分段模型逐点修改第一类野值与移除第二类野值的方法,其特征在于:
步骤一:确立逐点修改第一类野值的修改起始点与修改结束点,最佳的修改起始点与修改结束点是有音部分与无音部分的分界点,但由于无法100%准确确定分界点,因此,修改起始点与修改结束点的确定应符合以下原则:(1)修改起始点应位于理论起始分界点之后,修改结束点应位于理论结束分界点之前;(2)修改起始点的基频值为正常基频值;修改起始点与修改结束点确定步骤如下:
步骤1.1:对所有孤立音节的基频曲线做一阶差分得到一阶差分基频曲线;正常基频值在一节差分基频曲线中表现为接近0的值,基频野值在一阶差分基频曲线中表现为邻近的远远大于0值的值;
步骤1.2:对一阶差分基频曲线的基频值做归一化处理,并对所有归一化后的一阶差分基频曲线在0到1的基频值区间内,以0.1为步长做频数统计;
步骤1.3:对0~0.8区间内的频数分布用不同曲线拟合,对0.7~1区间内的频数分布用高斯曲线进行拟合,计算不同曲线拟合情况下的交点的平均值,为0.75,计算0.75前的一阶差分基频值的频数占一阶差分基频值总频数的百分比,得到阈值85%;
步骤1.4:量化每个孤立音节的一阶差分基频曲线的基频值,基频值大小位于前85%的点量化为0,基频值大小位于后15%的点量化为1,并计算每个孤立音节中85%对应的基频值大小,得到量化阈值t;
步骤1.5:对量化后的一阶差分基频曲线做一阶差分得到二阶差分基频曲线,设定“nframe”为帧长,“1”为帧移,从二阶差分基频曲线的起始点进行前向判断,同时从二阶差分基频曲线的结束点进行后向判断,若一帧中的基频值均为“0”,则记录该帧起始点,若一帧中的基频值存在“1”,则移动帧移长度,判断下一帧,直到出现一帧中的基频值均为0,记录该帧起始点;
步骤1.6:由步骤1.5得到两个临界点b1与b2,b1为由二阶差分基频曲线的起始点开始判断得到的起始点,b2为由二阶差分基频曲线的结束点开始判断得到的起始点,判断b1与b2的大小,若b1大于b2,从前向开始修改,b1为修改起始点,b2为修改结束点,若b1小于b2,从后向开始修改,b2为修改起始点,b1为修改结束点;
步骤二:逐点修改b1与b2之间的基频值,具体修改步骤如下:
步骤2.1:确定待修改基频点F0(j)的修改候选值:
·Fp(j):第j个点的原始基频值;
·Mp(j):第j个点的倍频值;
·Hp(j):第j个点的半频值;
·第j-1个点的原始基频值与第j+1个点的原始基频值的均值;
·第j-1个点的原始基频值与第j+1个点的倍频值的均值;
·第j-1个点的原始基频值与第j+1个点的半频值的均值;
步骤2.2:确定待修改基频点F0(j)的修改值的取值范围:
·范围range1:由参数c0确定的理想修改值范围,c0为修改起始点与修改结束点之间的一阶差分基频值的均值的模值;
·范围range2:由参数t确定的保证修改值为正常值的取值范围;
步骤2.3:由步骤2.1与2.2中确定的F0(j)的修改候选值与修改范围计算逐点修改过程中用到的相关参数如下:
·初始化:Δ0=F0(j-1)-F0(j-2)
·一阶差分集合A:
Δ1=Fp(j)-F0(j-1)
Δ2=Sp(j)-F0(j-1)
Δ3=Hp(j)-F0(j-1)
·二阶差分模值集合B:
ε1=|Δ1-Δ0|
ε2=|Δ2-Δ0|
ε3=|Δ3-Δ0|
ε4=|Δ4-Δ0|
ε5=|Δ5-Δ0|
ε6=|Δ6-Δ0|
·取值集合R1:集合B中小于c0的元素的集合;
·取值集合R2:集合A中小于t的元素的集合;
步骤2.4:为了保证首帧F0(j-1)与F0(j-2)为正常的基频值,计算新的修改起始点b1'为“b1+nframe-2”;从新的起始点开始,计算步骤2.3中所有的参数,判断取值集合R1是否为空集,若不为空集则判断ε1是否在R1中,若在,则令ε等于ε1,否则令R1中的最小值等于ε,计算新的基频值为“ε+Δ0+F0(j-1)”;若R1为空集,则进入步骤2.5;
步骤2.5:判断取值集合R2是否为空集,若不为空集则判断Δ1是否在R2中,若在,则令Δ1等于b,否则令R2中的最小值等于b,计算新的基频值为“b+F0(j-1)”,若为空集,则计算新的基频值为“t+F0(1,j-1)”;
步骤2.6:计算得到新的F0(j)后,判断j是否小于等于n-2,若成立,则令j=j+1并重复步骤2.4~2.6;若不成立,则令Fp(n)=F0(n-1)+F0(n-1)-F0(n-2);
步骤2.7:计算修改完毕的一阶差分基频的平均值的模值f0,比较f0与c0,若f0不等于c0,则重复2.4~2.7,若f0等于c0,则结束修改;
步骤三:移除首尾段存在的第二类野值,具体修改步骤如下:
步骤3.1:根据步骤1.6中得到的修改起始点与修改结束点的值确定基频曲线分段数目:若修改起始点为1,修改结束点为n,n为基频曲线的总点数,则分段数目为1,不存在第二类野值;若修改起始点为1,修改结束点不为n,或者修改起始点不为1,修改结束点为n,则分段数目为2,首部或尾部存在一段第二类野值;若修改起始点不为1,修改结束点不为n,则分段数目为3,首部和尾部均存在第二类野值;
步骤3.2:根据3.1中的分段原则,利用Viterbi算法对基频曲线进行分段,对于1分段情况,则整个基频曲线就是最终的目标基频曲线;对于3分段情况,中间段为最终的目标基频曲线;对于2分段情况,分别用-1与1代表第一部分与第二部分,并利用FISHER比率选取相应的声学特征训练支持向量机(SVM)对两部分进行分类获得最终的目标基频曲线。
2.如权利要求1所述的基于孤立音节基频曲线分段模型逐点修改第一类野值与移除第二类野值的方法,对所述的基频曲线效果进行验证:
步骤一:邀请20名志愿者对修改后的基频曲线的光滑程度与波动程度进行主观评价,其中光滑程度描述的是曲线是否有突变,波动程度描述的是曲线是否按照一定趋势变化;评价分为五个等级{-1,-0.5,0,0.5,1},数值越大代表曲线越光滑,波动越少;每名志愿者分别对同一基频曲线的修改前与修改后进行评价,每名志愿者评价50个音节,取20名志愿者的评价值的平均值作为被评价音节的最终结果。
步骤二:客观评测实验:分别计算孤立音节的基频曲线修改前后的相对标准偏差与二阶差分的方差,其中相对标准偏差用于描述基频曲线的光滑度,二阶差分的方差用于描述波动程度;
步骤三:设计一组音节声调识别的对比实验:A实验用未修改的基频曲线提取声学特征训练3726个音节获得4种声调的隐马尔可夫模型,然后识别2484个音节的声调,得到4种声调的平均识别率P1;B实验用修改后的基频曲线提取声学特征训练3726个音节获得4种声调的隐马尔可夫模型,然后识别2484个音节的声调,得到4种声调的平均识别率P2,比较P1与P2;
步骤四:根据步骤一至步骤三的实验结果,总结结论。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310186080.XA CN103337244B (zh) | 2013-05-20 | 2013-05-20 | 一种孤立音节基频曲线中的野值修改方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310186080.XA CN103337244B (zh) | 2013-05-20 | 2013-05-20 | 一种孤立音节基频曲线中的野值修改方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103337244A CN103337244A (zh) | 2013-10-02 |
CN103337244B true CN103337244B (zh) | 2015-08-26 |
Family
ID=49245387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310186080.XA Expired - Fee Related CN103337244B (zh) | 2013-05-20 | 2013-05-20 | 一种孤立音节基频曲线中的野值修改方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103337244B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105741857B (zh) * | 2016-04-14 | 2019-06-14 | 北京工业大学 | 一种音调序列的鲁棒阶跃规整方法 |
CN114017378A (zh) * | 2021-11-04 | 2022-02-08 | 中广核全椒风力发电有限公司 | 基于风机位置特性形成的曲线偏差对比分析方法及应用 |
CN113851114B (zh) * | 2021-11-26 | 2022-02-15 | 深圳市倍轻松科技股份有限公司 | 语音信号的基频确定方法和装置 |
CN116895281B (zh) * | 2023-09-11 | 2023-11-14 | 归芯科技(深圳)有限公司 | 基于能量的语音激活检测方法、装置及芯片 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620853A (zh) * | 2008-07-01 | 2010-01-06 | 邹采荣 | 一种基于改进模糊矢量量化的语音情感识别方法 |
CN103035235A (zh) * | 2011-09-30 | 2013-04-10 | 西门子公司 | 一种将语音转换为旋律的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07244498A (ja) * | 1994-03-03 | 1995-09-19 | Matsushita Electric Ind Co Ltd | 基本周波数抽出装置 |
US7680652B2 (en) * | 2004-10-26 | 2010-03-16 | Qnx Software Systems (Wavemakers), Inc. | Periodic signal enhancement system |
-
2013
- 2013-05-20 CN CN201310186080.XA patent/CN103337244B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620853A (zh) * | 2008-07-01 | 2010-01-06 | 邹采荣 | 一种基于改进模糊矢量量化的语音情感识别方法 |
CN103035235A (zh) * | 2011-09-30 | 2013-04-10 | 西门子公司 | 一种将语音转换为旋律的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103337244A (zh) | 2013-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6933264B2 (ja) | ラベル生成装置、モデル学習装置、感情認識装置、それらの方法、プログラム、および記録媒体 | |
US8180638B2 (en) | Method for emotion recognition based on minimum classification error | |
US9368109B2 (en) | Method and apparatus for automatic speaker-based speech clustering | |
US9020816B2 (en) | Hidden markov model for speech processing with training method | |
US8301578B2 (en) | System and method for tagging signals of interest in time variant data | |
KR102198273B1 (ko) | 머신러닝 기반의 음성데이터 분석 방법, 장치 및 프로그램 | |
CN104900235A (zh) | 基于基音周期混合特征参数的声纹识别方法 | |
Amara et al. | An improved GMM-SVM system based on distance metric for voice pathology detection | |
CN103065627A (zh) | 基于dtw与hmm证据融合的特种车鸣笛声识别方法 | |
Reynolds et al. | A study of new approaches to speaker diarization. | |
CN103337244B (zh) | 一种孤立音节基频曲线中的野值修改方法 | |
Petry et al. | Speaker identification using nonlinear dynamical features | |
CN108091326A (zh) | 一种基于线性回归的声纹识别方法及系统 | |
CN112992126A (zh) | 语音真伪的验证方法、装置、电子设备及可读存储介质 | |
CN104240706A (zh) | 一种基于GMM Token配比相似度校正得分的说话人识别方法 | |
CN103366737B (zh) | 在自动语音识别中应用声调特征的装置和方法 | |
Shivakumar et al. | Simplified and supervised i-vector modeling for speaker age regression | |
Yarra et al. | A mode-shape classification technique for robust speech rate estimation and syllable nuclei detection | |
JP4796460B2 (ja) | 音声認識装置及び音声認識プログラム | |
US7516071B2 (en) | Method of modeling single-enrollment classes in verification and identification tasks | |
US9053751B2 (en) | Sound and image segment sorting device and method | |
Mobram et al. | Depression detection based on linear and nonlinear speech features in I-vector/SVDA framework | |
CN103325372A (zh) | 基于改进声调核模型的汉语语音声调识别方法 | |
Herrera-Camacho et al. | Design and testing of a corpus for forensic speaker recognition using MFCC, GMM and MLE | |
Huang et al. | Detecting Intelligibility by Linear Dimensionality Reduction and Normalized Voice Quality Hierarchical Features. |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150826 Termination date: 20160520 |