薛帥強(qiáng),陳 波,陳 菲
(西南科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,四川 綿陽(yáng) 621010)
?
改進(jìn)LVAMDF及綜合多因素基音檢測(cè)算法
薛帥強(qiáng),陳波,陳菲
(西南科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,四川 綿陽(yáng)621010)
在對(duì)語(yǔ)音信號(hào)靜音、清音、濁音劃分的基礎(chǔ)上,針對(duì)語(yǔ)音信號(hào)周期特征明顯段分布隨機(jī)性問(wèn)題,提出改進(jìn)的變長(zhǎng)度平均幅度差函數(shù)LVAMDF及綜合多因素基音檢測(cè)算法,該算法對(duì)語(yǔ)音信號(hào)進(jìn)行周期特征明顯段和周期特征不明顯段的聚類(lèi)劃分,同時(shí),獲取周期特征明顯語(yǔ)音段的所有基音周期的起止端點(diǎn),針對(duì)少數(shù)基音周期劃分倍頻或半頻問(wèn)題,提出識(shí)別、修正方法,其識(shí)別、修正率極高;在對(duì)大量真實(shí)語(yǔ)音處理中,能夠精確地檢測(cè)出語(yǔ)音特征明顯段的基音周期端點(diǎn),基本沒(méi)有倍頻和半頻劃分,并且和AMDF、ACF算法作了對(duì)比。
改進(jìn)的變長(zhǎng)度平均幅度差函數(shù); 綜合多因素; 精確基音周期;修正倍頻或半頻
語(yǔ)音基音周期是人類(lèi)在發(fā)濁音過(guò)程中,聲帶振動(dòng)的最小周期。語(yǔ)音基音周期檢測(cè)的準(zhǔn)確性,對(duì)語(yǔ)音識(shí)別、語(yǔ)音壓縮、語(yǔ)音編解碼、語(yǔ)音合成、說(shuō)話人識(shí)別與語(yǔ)種辨識(shí)等等有至關(guān)重要的作用[1]。語(yǔ)音基音周期檢測(cè)方法有很多種,平均幅度差函數(shù)法(average magnitude difference function,AMDF)[2-4]、變長(zhǎng)度短時(shí)平均幅度差函數(shù)法(length varied average magnitude difference function,LVAMDF)[5-7]、自相關(guān)函數(shù)法(autocorrelation function,ACF)[8]、希爾伯特-黃變換方法(hilbert-huang transform,HHT)[9]、小波變換法[10]等等,其中,LVAMDF是運(yùn)算最簡(jiǎn)單的方法,在實(shí)時(shí)語(yǔ)音處理過(guò)程中,底層運(yùn)算應(yīng)盡可能簡(jiǎn)單、穩(wěn)定,由于傳統(tǒng)的LVAMDF沒(méi)有對(duì)處理對(duì)象做選擇,所以在處理不適應(yīng)此方法的語(yǔ)音段時(shí),會(huì)劃分錯(cuò)誤,而且在處理適應(yīng)此方法的語(yǔ)音段時(shí),有較多的倍頻和半頻劃分。
本文提出了提取適用LVAMDF方法劃分基音周期語(yǔ)音段落的方法,改進(jìn)了LVAMDF方法,并且綜合周期長(zhǎng)度、端點(diǎn)振幅和最優(yōu)相似度選取因素精確估計(jì)基音周期端點(diǎn),最后通過(guò)倍頻和半頻識(shí)別、修復(fù)和排除方法,大大減小了倍頻和半頻周期劃分。
基音周期檢測(cè)原理如圖1所示。
圖1 基音周期檢測(cè)原理圖
1.1預(yù)處理
在接收到的語(yǔ)音信號(hào)中包含靜音、清音、噪音等復(fù)雜成分,這些成分在基音周期檢測(cè)中,是冗余部分,會(huì)使基音周期檢測(cè)錯(cuò)誤和檢測(cè)速度下降,所以在基音周期檢測(cè)之前要將這些成分劃分開(kāi)。
排除靜音段方法:短時(shí)信號(hào)圍繞面積法,根據(jù)非靜音段的短時(shí)信號(hào)圍繞面積門(mén)限找到非靜音段的端點(diǎn)。
排除非語(yǔ)音信號(hào)方法:語(yǔ)音信號(hào)頻率在50~450 Hz,18 ms為55.6 Hz,當(dāng)18 ms中都沒(méi)有2個(gè)以上正數(shù)最大極大值(兩個(gè)負(fù)數(shù)極小值之間所有正數(shù)極大值點(diǎn)中的最大值點(diǎn))的周期端點(diǎn),那么其頻率一定低于55.6 Hz,即為非語(yǔ)音段。
排除有周期性的噪聲方法:根據(jù)人類(lèi)語(yǔ)音濁音頻率范圍是50 Hz到450 Hz,在基音周期端點(diǎn)檢測(cè)后,根據(jù)頻率大小可判斷該非靜音語(yǔ)音是否為語(yǔ)音信號(hào)。本文使用有效翻轉(zhuǎn)率和頻譜振幅均值方法來(lái)劃分清濁語(yǔ)音信號(hào)。
定義1(短時(shí)信號(hào)圍繞面積):對(duì)一幀信號(hào)作一次擬合,擬合后的曲線和橫軸圍繞的平均面積就是短時(shí)信號(hào)圍繞面積。它是短時(shí)平均幅度函數(shù)[11]的變化。
定義2(有效翻轉(zhuǎn)率):一個(gè)拐點(diǎn)和其兩側(cè)拐點(diǎn)的振幅差值大小比例都超過(guò)一個(gè)有效翻轉(zhuǎn)門(mén)限(本文用的是0.25)的時(shí)候,稱(chēng)為一次有效翻轉(zhuǎn)。一幀語(yǔ)音信號(hào)中有效翻轉(zhuǎn)的個(gè)數(shù)就是有效翻轉(zhuǎn)率。它是短時(shí)過(guò)零率算法[12]的變化。
1.2檢測(cè)基音周期
首先將濁音信號(hào)劃分為周期特征明顯段和周期特征不明顯段,然后對(duì)周期特征明顯段進(jìn)行基音周期檢測(cè),最后將倍、半頻劃分進(jìn)行檢測(cè)、修復(fù)和排除。
周期特征明顯段和周期特征不明顯段劃分方法:如果某幀的第一周期和其整幀的周期預(yù)劃分成功,則該幀確定為周期特征明顯段,否則為周期特征不明顯段。
倍頻和半頻劃分檢測(cè)、修復(fù)和排除方法:1)對(duì)周期特征明顯段語(yǔ)音幀按周期長(zhǎng)度分類(lèi),對(duì)每類(lèi)中任意一幀,尋找其最優(yōu)第一周期,如果最優(yōu)第一周期比歷史劃分中的第一周期相差超過(guò)倍頻或者半頻門(mén)限,就對(duì)該種類(lèi)的語(yǔ)音幀進(jìn)行周期端點(diǎn)修復(fù),修復(fù)時(shí),用最優(yōu)第一周期確定LVAMDF算法中周期長(zhǎng)度變量的變化范圍,確保再次劃分的正確性;2)由于倍頻和半頻劃分非常少,所占的比例非常少,所以本文將語(yǔ)音段按照周期長(zhǎng)度分類(lèi),根據(jù)分類(lèi)的統(tǒng)計(jì)結(jié)果,將所占比例非常少的部分視為倍頻或半頻,并將其排除。
1.3LVAMDF算法
傳統(tǒng)的AMDF算法[5]為公式:
(1)
式(1)中,語(yǔ)音采樣序列(sj)=(s1,s2,…,sN),N為樣本點(diǎn)總數(shù),τmin、τmax確定了基音周期范圍,一般為2~20 ms,L為樣本幅度差的計(jì)算范圍。
AMDF算法的基音周期定義為公式(2):
(2)
歸一化的LVAMDF算法[6],其定義為公式(3):
(3)
歸一化的LVAMDF算法的基音周期定義為公式(4):
(4)
1.4LVAMDF算法改進(jìn)
在本文語(yǔ)音基音周期端點(diǎn)檢測(cè)過(guò)程中,改進(jìn)LVAMDF算法在語(yǔ)音處理兩個(gè)不同階段進(jìn)行,兩部分整合到一起,使得檢測(cè)結(jié)果非常精確。這兩個(gè)部分分別為:周期端點(diǎn)檢測(cè)部分,倍頻和半頻識(shí)別修正部分。
1.4.1在周期端點(diǎn)檢測(cè)部分LVAMDF的優(yōu)化
在語(yǔ)音信號(hào)基音周期檢測(cè)中,識(shí)別精度關(guān)鍵在于基音周期之間相似度(similarity)[13]的量化評(píng)估上,其定義如公式(6)所示。本文使用的基音周期之間相似度量化方法是改進(jìn)的LVAMDF算法。
由于語(yǔ)音信號(hào)有振幅的高低起伏變化,相鄰周期信號(hào)的對(duì)比差異就不能在同一個(gè)視角下觀察,為了將所有相鄰周期信號(hào)的對(duì)比運(yùn)算大概放到同一個(gè)視角下進(jìn)行,本文提出,用兩幀信號(hào)中最大的振幅和1的比例,對(duì)兩幀信號(hào)進(jìn)行縮放,然后再進(jìn)行對(duì)比運(yùn)算。所以本文在式(3)分母中運(yùn)用的是MAX(sj,sj+τ)*τ,保證所有相鄰周期對(duì)比運(yùn)算在同一個(gè)視角上進(jìn)行。如式(5)所示:
(5)
similarity=DL(τ)
(6)
此外,文獻(xiàn)[5]中提出LVAMDF中τmin和τmax分別為相鄰幀基音周期的±0.1~0.2倍。為了更加精確地估算τmin和τmax值,避免幀和幀之間周期長(zhǎng)度差異超過(guò)估算范圍(相距比較遠(yuǎn)的幀,周期長(zhǎng)度相差比較大),本文將相鄰周期基音周期長(zhǎng)度的±0.1~0.2倍分別作為τmin和τmax。即定義為式(7)和(8):
(7)
(8)
因此,準(zhǔn)確找到一幀中的第一個(gè)周期至關(guān)重要,本文提出了和文獻(xiàn)[5]不同的第一周期尋找方法,其流程如圖2所示。
圖2 尋找某幀第一個(gè)基音周期流程圖
對(duì)圖2的解釋和補(bǔ)充:
1)周期端點(diǎn)都在正數(shù)極大值上尋找。
2)第一周期的起始端點(diǎn)設(shè)定在盡可能大的正數(shù)極大值點(diǎn)上,第一周期的結(jié)束端點(diǎn)在起始端點(diǎn)的附近;
3)第一周期起、止端點(diǎn)振幅大小比值允許范圍為0.7~1.3,大小比值公式如式(9)所示:
(9)
4)本文在選擇第一周期結(jié)束端點(diǎn)的時(shí)候,是從符合1)、2)和3)條的預(yù)選端點(diǎn)中,先向后面由近及遠(yuǎn)嘗試劃分,如果沒(méi)有找到,再向前由近及遠(yuǎn)嘗試劃分,運(yùn)用這種方法,當(dāng)找到第一個(gè)通過(guò)第一周期驗(yàn)證的周期,就是第一周期。
5)第一周期的驗(yàn)證方法為雙層驗(yàn)證法。第一層驗(yàn)證為第一周期和第二周期相似度大小高標(biāo)準(zhǔn)驗(yàn)證(由于相鄰周期的周期長(zhǎng)度并非完全相等,所以在對(duì)比時(shí)有左對(duì)齊對(duì)比和右對(duì)齊對(duì)比,對(duì)于第一層驗(yàn)證,兩種對(duì)齊方式的對(duì)比都要作,以保證第一周期的起、止位置最合適),即相似度量化值門(mén)限設(shè)定為0.172 9(這個(gè)門(mén)限是由語(yǔ)音信號(hào)統(tǒng)計(jì)出來(lái)的),并且在滿足該門(mén)限的同時(shí)選擇相似度量化值最小值;第二層驗(yàn)證為該幀中其他相鄰周期之間相似度(只作新端點(diǎn)方向?qū)R對(duì)比)大小低標(biāo)準(zhǔn)通過(guò)并且能順次將該幀完全劃分,其相似度量化門(mén)限設(shè)定為0.327 5,并且在兩周期相似度的量化中,實(shí)時(shí)改變LVAMDF算法中的窗長(zhǎng)變化范圍。
該方法大大減小了運(yùn)算量,降低了倍頻的可能性。
1.4.2在倍頻和半頻識(shí)別修正部分LVAMDF的優(yōu)化
在周期端點(diǎn)檢測(cè)部分完成后,劃分的端點(diǎn)中會(huì)有倍頻或者半頻劃分,引起原因?yàn)椋阂粠袧M足第一周期條件的第一周期和第二周期的相似度量化值選擇錯(cuò)誤,使得第一周期識(shí)別為倍頻或者半頻。
為解決這種問(wèn)題,本文對(duì)一幀所有滿足第一周期條件的第一周期和第二周期的相似度量化值進(jìn)行優(yōu)化選擇,使其盡可能減少倍頻和半頻劃分。倍頻和半頻檢測(cè)流程如圖3所示。
圖3 倍頻和半頻檢測(cè)流程圖
本文首先對(duì)倍頻或半頻劃分幀中所有符合條件的第一周期進(jìn)行統(tǒng)計(jì),在統(tǒng)計(jì)中發(fā)現(xiàn),正確的第一周期總是分布在相似度量化值最小值附近,所以在相似度量化值最小值附近找第一周期端點(diǎn)。
在文獻(xiàn)[14]中,運(yùn)用預(yù)判谷值范圍方法的作用對(duì)象為歸一化LVAMDF分析曲線,目的是濾除歸一化LVAMDF分析曲線的毛刺谷值(倍頻或半頻谷值),如圖4第一條虛線所示,而本文運(yùn)用預(yù)判谷值范圍作用對(duì)象為一幀中所有滿足第一周期條件的相似度量化值集合,目的是確定正確的周期端點(diǎn),并且不需要計(jì)算歸一化LVAMDF分析曲線,只是計(jì)算第一周期相似度量化值,而且計(jì)算的幀數(shù)只有幾個(gè)(一段語(yǔ)音中按照周期長(zhǎng)度差異大小,將周期長(zhǎng)度分為不同的種類(lèi),只確定同一類(lèi)中任意一幀的第一周期劃分是否正確即可),這樣極大的減少了運(yùn)算量。
圖4 周期性強(qiáng)的語(yǔ)音段的LVAMDF
本文統(tǒng)計(jì)計(jì)算出來(lái)的預(yù)測(cè)谷值范圍如式(10)、(11):
[similaritymin,similaritymin+0.04)
(10)
similaritymin=min某幀(similarity(1…n某幀第一周期))
(11)
similarity(1…n某幀第一周期)是某幀中所有滿足第一周期條件的相似度量化值集合。
那么,在該范圍內(nèi)所有預(yù)選周期中長(zhǎng)度最小的為第一周期。通過(guò)和歷史劃分周期長(zhǎng)度對(duì)比,就可以判斷出歷史劃分是倍頻還是半頻,如圖5所示。
圖5 第一周期準(zhǔn)確獲取圖例
通過(guò)對(duì)LVAMDF值的優(yōu)化選擇,識(shí)別和修復(fù)了倍頻和半頻的劃分。
本文改進(jìn)LVAMDF算法及其綜合調(diào)整周期長(zhǎng)度、端點(diǎn)振幅和最優(yōu)相似度選取因素檢測(cè)方法通過(guò)Matlab實(shí)現(xiàn),實(shí)驗(yàn)對(duì)象為基本涵蓋4個(gè)音調(diào)不同字母發(fā)音的189個(gè)語(yǔ)音信號(hào),進(jìn)行處理,其結(jié)果如下所述。
圖6~圖9分別是ge1,ge2,ge3,ge4的原始信號(hào)時(shí)域圖和本文方法、AMDF算法、ACF算法的基音周期時(shí)間軌跡變化圖。
圖6 ge1基音周期時(shí)間軌跡變化對(duì)比圖
圖7 ge2基音周期時(shí)間軌跡變化對(duì)比圖
圖8 ge3基音周期時(shí)間軌跡變化對(duì)比圖
圖9 ge4基音周期時(shí)間軌跡變化對(duì)比圖
從圖6~圖8中,可以看到AMDF算法有較多的錯(cuò)誤或者半頻劃分,但是本文算法和ACF算法沒(méi)有錯(cuò)誤的劃分,本文算法有自動(dòng)識(shí)別不適合LVAMDF算法語(yǔ)音段的能力,并且將這部分語(yǔ)音段空出來(lái),如圖8所示。
本文算法可將周期特征明顯段的所有基音周期精確檢測(cè)出來(lái),并且和AMDF算法檢測(cè)一個(gè)基音周期的運(yùn)算量相當(dāng)。而AMDF和ACF算法只在一幀中檢測(cè)一個(gè)基音周期,如果用AMDF和ACF算法將所有基音周期都檢測(cè)出來(lái)運(yùn)算量會(huì)成倍的增加。
在實(shí)際應(yīng)用中,語(yǔ)音信號(hào)中會(huì)有噪聲混雜,為了檢測(cè)本算法的魯棒性,在原始語(yǔ)音中加入高斯白噪聲,分別采用AMDF法、ACF法和本方法在不同信噪比下對(duì)語(yǔ)音信號(hào)進(jìn)行基音檢測(cè),檢測(cè)結(jié)果如表1所示。
表1 3種方法在不同信噪比下的基音檢測(cè)結(jié)果
由表1可知,AMDF算法在信噪比降低的時(shí)候,基音檢測(cè)正確率急速下降,ACF算法和本文算法基本保持平衡,本文算法正確率相對(duì)于ACF算法有所提高。
由于ACF算法中主要運(yùn)用的是乘法運(yùn)算,而本文算法中只是運(yùn)用的加減運(yùn)算,所以本文算法運(yùn)算速度快,和AMDF算法運(yùn)算速度相當(dāng)。
從算法的精確度、運(yùn)算量、魯棒性來(lái)看,本算法適合用于實(shí)時(shí)語(yǔ)音信號(hào)處理中。
根據(jù)語(yǔ)音信號(hào)的特點(diǎn),本文分別用有效翻轉(zhuǎn)率、信號(hào)和橫軸圍繞面積、語(yǔ)音頻譜幅值均值,將靜音語(yǔ)音段、非語(yǔ)音段、清音段排除。又將濁音信號(hào)劃分為周期特征明顯段和周期特征不明顯段,在LVAMDF傳統(tǒng)算法基礎(chǔ)上,加上信號(hào)同視角變化相似度比較、第一周期的精確估計(jì)、LVAMDF窗長(zhǎng)根據(jù)相鄰周期長(zhǎng)度實(shí)時(shí)變化,精確的獲取到基音周期端點(diǎn),對(duì)第一周期判定中少許的倍頻和半頻劃分,進(jìn)行識(shí)別修復(fù)的處理,在修復(fù)過(guò)程中,通過(guò)分析整幀中所有符合第一周期的相似度量化值,找到最優(yōu)的第一周期,大大地降低了倍頻和半頻劃分,最后通過(guò)統(tǒng)計(jì)方法將未能修復(fù)的倍頻和半頻劃分(很少的可能)去除掉。在接下來(lái)的研究中,要對(duì)濁音中少部分周期特征不明顯段進(jìn)行精確的基音周期端點(diǎn)檢測(cè)。
[1] Jong soon J,Jeong Jin K,Myung J B.Pitch alteration technique in speech synthesis system[J].IEEE Transacions on Consumer Electronics,2001,47(1):163-167.
[2] 馬莎莎,戴曙光,穆平安. 基于短時(shí)能量的循環(huán)AMDF基音檢測(cè)算法[J].計(jì)算機(jī)仿真,2014,31(7):278-282.
[3] 鄭繼明,王勁松.語(yǔ)音基音周期檢測(cè)方法[J].計(jì)算機(jī)工程,2010,36(10):273-275.
[4] 潘崢嶸,戴芮,張寧.改進(jìn)的基音周期檢測(cè)算法研究[J].計(jì)算機(jī)工程與應(yīng)用,2015,51(10):223-226.
[5] 顧良,劉潤(rùn)生. 利用聲調(diào)判別提高漢語(yǔ)數(shù)碼語(yǔ)音識(shí)別性能[J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,1998,38(9):36-39.
[6] 張康杰,趙歡,饒居華. 基于LV-AMDF的自適應(yīng)基音檢測(cè)算法[J].計(jì)算機(jī)應(yīng)用,2007,27(7):1674-1679.
[7] Chrjstensen O. Localization and navigation of a mobile robot using natural point landmarks extracted from data[J].Robotics and Autonomous Systems,2000,33(3):131-142.
[8] Krubsack D A,Niedeoohn R J.An autocorrelation pitch detector and voicing decision with confidence in ensures developed for noise corrupted speech[J].IEEE Trans. on Acoustics,Speech,Signal Processing,1991,39(2):319-329.
[9] 焦蓓,曾以成,毛燕湖.基音周期檢測(cè)的希爾伯特-黃變換方法[J].計(jì)算機(jī)工程與應(yīng)用,2015,51(1):204-207.
[10] Kadame S,Broudreaux B G F. Application of wavelet transform for pitch detection[J]. IEEE Trans. on IT,1992,38:917-924.
[11] 吳恬盈. 一種新的清濁音在線辨識(shí)法[J].計(jì)算機(jī)仿真,2007,24(4):72-74.
[12] Jalil M,Butt F A,Malik A. Short-time energy,magnitude,zero crossing rate and autocorrelation measurement for discriminating voiced and unvoiced segments of speech signals[A]. 2013 International Conference on Technological Advances in Electrical,Electronics and Computer Engineering (TAEECE)[C]. IEEE,2013: 208-212.
[13] 陳雪勤,劉正,趙鶴鳴. 基于相似度的高精度基音檢測(cè)算法[J].聲學(xué)技術(shù),2008,27(5):704-707.
[14] 成新民,曾毓敏,趙力. 一種改進(jìn)的AMDF求取語(yǔ)音基音的方法[J].微電子學(xué)與計(jì)算機(jī),2005,22(11):162-164.
Improved Algorithm of Length Varied Average Magnitude Difference Function (LVAMDF) and Comprehensive Multi-factor for Pitch Frequency Detection
Xue Shuaiqiang,Chen Bo,Chen Fei
(School of Computer Science and Technology,Southwest University of Science and Technology, Mianyang621010,China)
On the basis of the methodology that categorizes speech signal into three types,silence,voiceless sound,voiced sound,in view of the random distribution of obvious periodic property speech,the improved algorithm of length varied average magnitude difference function (LVAMDF) and comprehensive multi-factor for pitch frequency detection is put forward to categorize voiced sound into two types,one is obvious periodic property speech,the other one is unobvious periodic property speech. At the same time,the starting and ending points of all accurate pitch period in the obvious periodic property speech is achieved. For a few pitch periods divided into frequency doubling or half frequency,the recognition and correction method is proposed which has a high recognition and correction rate. Finally,in a large amount of the real speech processing experiments,the method can detect the pitch period in the obvious periodic property speech accurately,and there is hardly frequency doubling and half frequency. The results show that the proposed algorithm performs much better on pitch detection compared with AMDF and ACF.
improved algorithm of length varied average magnitude difference function(LVAMDF); comprehensive multi-factor; accurate pitch period; identify and correct frequency doubling and half frequency
1671-4598(2016)04-0253-04DOI:10.16526/j.cnki.11-4762/tp.2016.04.073
TP391.42
A
2015-11-02;
2015-11-26。
四川省教育廳重點(diǎn)項(xiàng)目(ZD1109); 綿陽(yáng)市網(wǎng)絡(luò)融合工程實(shí)驗(yàn)室開(kāi)放基金項(xiàng)目(12ZXWK11)。
薛帥強(qiáng)(1989-),男,河南省原陽(yáng)縣人,碩士研究生,主要從事語(yǔ)音信號(hào)處理方向的研究。
陳波(1963-),男,博士,教授,主要從事圖像處理、嵌入式技術(shù)方向的研究。