国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ACF的基音檢測改進(jìn)算法

2017-10-12 08:24韓芳王學(xué)春靳宗信
現(xiàn)代電子技術(shù) 2017年19期

韓芳+王學(xué)春++靳宗信

摘 要: 自相關(guān)函數(shù)法是基音周期提取中一種簡單而有效的檢測算法,針對傳統(tǒng)的自相關(guān)函數(shù)法在低信噪比環(huán)境下魯棒性較差的問題,提出一種改進(jìn)的基音周期提取算法。該算法通過譜減法對語音信號降噪,隨后進(jìn)行端點(diǎn)檢測,并提取元音的主體,在自相關(guān)函數(shù)的基礎(chǔ)上進(jìn)行改進(jìn),對元音主體及過渡區(qū)間進(jìn)行基音檢測。實驗結(jié)果表明,該算法具有較高的準(zhǔn)確率,與傳統(tǒng)自相關(guān)檢測算法相比,魯棒性明顯提高。

關(guān)鍵詞: 基音周期; 自相關(guān)函數(shù); 譜減法; 基音檢測; 語音處理

中圖分類號: TN912.3?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2017)19?0071?04

Improved pitch detection algorithm based on ACF

HAN Fang, WANG Xuechun, JIN Zongxin

(School of Information Engineering, Huanghe Science & Technology College, Zhengzhou 450063, China)

Abstract: Autocorrelation function (ACF) method is a simple and effective detection algorithm in pitch periodic extraction. Aiming at the poor robustness of the traditional ACF method in a low SNR environment, an improved pitch periodic extraction algorithm is proposed. In this algorithm, the spectral subtraction method is used to reduce noise in speech signals, endpoint detection is performed, main vowels are extracted and improved on the basis of the ACF, and pitch detection is performed for main vowels and the transition zone. The experimental results show that the algorithm has a higher accuracy rate, and the robustness is improved significantly in comparison with the traditional autocorrelation detection algorithm.

Keywords: pitch period; autocorrelation function; spectral subtraction; pitch detection; speech processing

0 引 言

基音周期是語音信號處理的一個重要參數(shù),準(zhǔn)確可靠地對語音信號進(jìn)行估計并提取基音周期,是語音信號處理的一個重要環(huán)節(jié)[1?2]?;魴z測廣泛地應(yīng)用于語音分析合成、語音壓縮編碼、語音識別以及語音分段等方面[3],研究人員們已經(jīng)提出了許多基音檢測算法, 例如自相關(guān)函數(shù)法(Autocorrelation Function,ACF)[4]、平均幅度差函數(shù)法(Average Magnitude Difference Function, AMDF)[5]、小波變換法[6?7]、倒譜法[8]等。理論上,這些算法都可以精確地提取無噪聲干擾的語音基音周期。但通常得到的語音信號含有各種各樣的背景噪聲 ,當(dāng)信噪比較低時,檢測的準(zhǔn)確率就不夠理想,所以有必要找到一種低信噪比下魯棒性較好的基音周期檢測算法。

自相關(guān)函數(shù)是適用于低信噪比情況下的一種基音周期提取算法[9?10],利用自相關(guān)函數(shù)進(jìn)行基音提取時,過渡區(qū)間獲得的基音周期估算值往往是實際基音周期值的整數(shù)倍或半值,過渡區(qū)內(nèi)提取基音參數(shù)時,也常會出現(xiàn)野點(diǎn),當(dāng)野點(diǎn)個數(shù)較多或幅值較大時,用中值濾波和線性平滑也很難來處理這些問題。文獻(xiàn)[11]中提出利用小波變換對語音信號進(jìn)行預(yù)處理,與自相關(guān)函數(shù)相結(jié)合,在一定程度上消除了高頻噪聲和共振峰的影響,但是在低信噪比情況下效果非常不理想。文獻(xiàn)[12]中提出將譜減法和自相關(guān)函數(shù)法相結(jié)合,利用譜減法對語音信號進(jìn)行消噪,然后再提取基音周期,在一定程度上改善了低信噪比下基音檢測的準(zhǔn)確率,但是仍然不夠理想。

基于以上文獻(xiàn)對基音周期檢測算法的分析,本文基于音節(jié)組成的原理,在自相關(guān)函數(shù)算法的基礎(chǔ)上先提取元音主體的基音周期,然后在元音主體基音周期的基礎(chǔ)上向前和向后過渡區(qū)間延伸基音的提取,把元音主體的基音周期值作為基準(zhǔn),向兩端過渡區(qū)間擴(kuò)展搜索和尋找最接近于元音主體基音的基音周期值,這樣可以減少發(fā)生基音周期估算值是實際基音周期值的整數(shù)倍或半值的現(xiàn)象。為了提高低信噪比下基音檢測的準(zhǔn)確率,本文將譜減法與提出的改進(jìn)自相關(guān)函數(shù)法相結(jié)合,首先對帶噪語音進(jìn)行降噪,再將增強(qiáng)后的語音作為基音檢測的待處理語音進(jìn)行加窗分幀處理,并對語音進(jìn)行端點(diǎn)檢測和元音主體檢測,通過數(shù)字濾波和再次加窗分幀,計算元音主體延伸區(qū)間及長度,并對元音主體和過渡區(qū)間進(jìn)行基音檢測,最后通過平滑濾波處理。仿真結(jié)果表明,該方法在一定程度上減小了基音提取誤差,并在不同的信噪比下取得了滿意效果。

1 譜減法

在基本譜減法[13]中,假設(shè)語音信號為[x(n)],對[x(n)]進(jìn)行加窗分幀處理,得到第[i]幀語音信號[xi(m)],對每一幀語音信號[xi(m)]進(jìn)行離散傅里葉變換(Discrete Fourier Transform,DFT)后得到:

[Xi(k)=m=0N-1xi(m)expj2πmkN,k=0,1,2,…,N-1] (1)

式中:[xi(m)]為語音信號[x(n)]加窗分幀后第[i]幀語音信號,每幀幀長為[N。]

然后對[Xi(k)]求出每個分量的幅值和相角,幅值和相角分別為[Xi(k)]和[Xiangle(k)=arctanImXi(k)ReXi(k)],在譜減法中將幅值和相角保存。通過已知的前導(dǎo)無話段時長為IS,對應(yīng)的幀數(shù)為NIS,求出該噪聲段平均能量值[D(k)=1NISi=1NISXi(k)2]。譜減算法為:

[X(k)2=Xi(k)2-a×D(k),Xi(k)2≥a×D(k)b×D(k),Xi(k)2

譜減法的原理圖如圖1所示。

2 自相關(guān)函數(shù)法

短時自相關(guān)函數(shù)為[Ri(k)=m=1N-mxi(m)xi(m+k)],其中下標(biāo)[i]表示第[i]幀,每幀的幀長為[N,k]是時間的延遲量,[xi(m)]為語音信號序列[x(n)]加窗分幀處理后得到的第[i]幀語音信號。短時自相關(guān)函數(shù)是獲取基音周期信號的一種方法,具有以下重要性質(zhì):

(1) 如果[xi(m)]是周期信號,周期是[P,]則[Ri(k)]也是周期信號,且周期相同,則[Ri(R)=Ri(R+P)]。

(2) 當(dāng)[k=0]時,短時自相關(guān)函數(shù)具有最大值,在延遲量為0,[±P,][±2P,]…時,周期信號的自相關(guān)函數(shù)也達(dá)到最大值。

(3) 短時自相關(guān)函數(shù)是偶函數(shù),[Ri(k)=Ri(-k)]。

利用自相關(guān)函數(shù)這些性質(zhì)進(jìn)行基音檢測,通過原始信號和延遲后的信號之間的類似性比較確定基音周期[14]。如果延遲量等于基音周期,原始信號和延遲后的信號具有最大類似性。用短時自相關(guān)函數(shù)檢測基音時,也常用歸一化自相關(guān)函數(shù)[ri(k)=Ri(k)Ri(0)]表示,當(dāng)[k=0]時,[Ri(0)]為最大值。

3 算法提出

3.1 算法基本原理

設(shè)帶噪語音信號[y(n)]由語音信號[s(n)]和噪聲[v(n)]組成,語音模型公式為:

[y(n)=s(n)+v(n)] (3)

對式(3)兩邊進(jìn)行傅里葉變換,得到[Y(k)=][X(k)+N(k),]對噪聲譜[N(k)]進(jìn)行噪聲估計,表示為:

[N(jw)=EN(jw)?N(jw)=1Ki=0K-1Ni(jw)] (4)

對純凈語音幅度譜進(jìn)行估計,表示為:

[X(k)=Y(k)-N(k),Y(k)-N(k)≥00,Y(k)-N(k)<0] (5)

把譜減前[θy(ejω)]的相位直接用到譜減后信號中,對其進(jìn)行頻譜估計,表示為:

[X(ejω)=X(ejω)ejθy(ejω)→x(n)=IFFTX(ejω)] (6)

利用自相關(guān)函數(shù)對元音主體提取基音周期,一般元音主體的確定是通過能熵比值較大的部分來定的,但是各個音節(jié)的能熵比值都不一樣,很難設(shè)定一個固定的值,即使自適應(yīng)地調(diào)整閾值,非元音主體的成分也很有可能包含進(jìn)去,再加上元音主體本身也不完全是穩(wěn)態(tài)信號,所以利用自相關(guān)函數(shù)對語音的元音主體提取基音周期進(jìn)行優(yōu)化。在元音主體中每一幀數(shù)據(jù)計算自相關(guān)函數(shù)時,在[Pmin~Pmax]范圍內(nèi)取三個峰值和它們對應(yīng)的三個延遲量,將這三個延遲量作為基音周期的候選值存放于數(shù)據(jù)組,且只保存峰值的位置。

3.2 算法流程圖

本文算法具體步驟如下:

(1) 用傳統(tǒng)譜減法對語音進(jìn)行降噪,得到語音信號[x(n),]然后進(jìn)行加窗分幀,得到第[i]幀語音信號[xi(n)。]

(2) 利用能熵比法對加窗分幀后的序列[xi(n)]進(jìn)行端點(diǎn)檢測,同時利用能熵比法提取元音主體。能熵比算法中取兩個閾值[T1,T2,]其中[T1]用于判斷語音的端點(diǎn),[T2=Emax*r2,]大于[T2]值的部分提取元音主體,[Emax]是每個有話段中能熵比的最大值,[r2]是比例系數(shù)。

(3) 對降噪后的信號[x(n)]進(jìn)行帶通濾波,濾波后的序列為[x(n)],對[x(n)]進(jìn)行加窗分幀處理得到第[i]幀語音信號[xi(n)]。

(4) 對元音主體屬于哪個有話段進(jìn)行檢測。一個有話段只有一個元音主體;一個有話段有多個元音主體,本元音主體是第一個元音主體;在一個有話段中有多個元音主體,本元音主體是中間元音主體;在一個有話段中有多個元音主體,本元音主體是最后的元音主體。分四種情況計算出每個元音主體向過渡區(qū)間延伸求取基音的區(qū)間范圍和延伸長度。

(5) 利用自相關(guān)函數(shù)提取元音主體的基音周期,對每一幀數(shù)據(jù)計算自相關(guān)函數(shù)時,取三個峰值作為基音周期的候選值。

(6) 以元音主體基音周期為基準(zhǔn),延伸向前向后區(qū)域進(jìn)行基音檢測,仍然使用元音主體檢測的方法,對延伸區(qū)間的每一幀數(shù)據(jù)通過計算自相關(guān)函數(shù)求出三個峰值對應(yīng)的位置,作為基音的候選值。

算法流程圖如圖2所示。

4 實驗仿真

4.1 仿真結(jié)果

本實驗所采用的語音樣本是在實驗室安靜環(huán)境下錄制完成的,語音內(nèi)容為“媽媽,好嗎,上馬,罵人”,采樣頻率為8 000 Hz,分辨率為16 b。將語音信號分成若干幀,每幀長25 ms,幀移10 ms。利用漢明窗進(jìn)行加窗處理,在純凈語音中加入SNR=5 dB的隨機(jī)噪聲,采用自相關(guān)函數(shù)法、文獻(xiàn)[11]提出的小波?自相關(guān)函數(shù)法、文獻(xiàn)[12]提出的譜減?自相關(guān)函數(shù)法以及本文提出的方法進(jìn)行對比仿真實驗。實驗結(jié)果如圖3~圖6所示。

從圖3中可以看出自相關(guān)法基音檢測在非有話段會提取假的基音頻率,識別出錯。圖4~圖6通過自相關(guān)法和其他算法的結(jié)合,非有話段幾乎不產(chǎn)生干擾基音頻率,基本能正確提取基音周期,但從圖4和圖5中也可以看出仍然存在倍頻和半值現(xiàn)象。圖6為SNR=5 dB的本文算法基音頻率波形圖和對應(yīng)的語譜圖。從圖6(a)中可以看出,通過減噪后再利用改進(jìn)自相關(guān)函數(shù)法進(jìn)行基音周期提取,能夠?qū)τ性挾芜M(jìn)行準(zhǔn)確提??;從圖6(b)中可以看出提取的基音頻率能夠和實際基音頻率很好地重合。

4.2 實驗結(jié)果分析

為了驗證本文方法的性能,在SNR=5 dB時,用ACF方法、文獻(xiàn)[11?12]提出的方法以及本文提出算法對它們的基音檢測性能進(jìn)行對比分析。實驗中基音檢測性能的好壞用檢測的正確率進(jìn)行衡量。定義基頻正確率為:

[檢測正確率=正確幀數(shù)處理總幀數(shù)] (7)

以ACF為基礎(chǔ),人工標(biāo)記的方法設(shè)定參照的基音頻率,如果實際計算的基音頻率和參照的基音頻率值誤差在10 Hz之內(nèi),則認(rèn)為檢測的幀都是正確的,結(jié)果如表1所示。

從圖7可以看出,文獻(xiàn)[11?12]提出的小波?自相關(guān)法和譜減?自相關(guān)算法在高信噪比下較ACF方法有了較大提高,但是隨著信噪比的增大,基音檢測的正確率有了一定的提高,但是在低信噪比下這兩種算法均不能很好地提取基音周期,效果不理想,而本文提出的基于ACF的改進(jìn)算法在相同信噪比下較其他三種算法,其基音檢測的正確率有明顯的提高,在高信噪比下(SNR=20 dB)準(zhǔn)確率達(dá)到97%,即使在低信噪比下(SNR=-5 dB)準(zhǔn)確率也達(dá)到了70%。當(dāng)信噪為0 dB時,基音檢測的正確率也達(dá)到了94%,從上述實驗分析可知,本文方法在SNR[≥]0 dB時,基音檢測都能得到很好的效果,說明本文建議的基音檢測算法具有較強(qiáng)的抗噪性。

雖然基音檢測算法好壞的指標(biāo)由檢測正確率來判斷,但是在實際應(yīng)用中還要考慮到算法運(yùn)行的時間問題。圖8是自相關(guān)方法、小波?自相關(guān)方法、譜減?自相關(guān)方法和本文算法的運(yùn)行時間對比圖,從圖8中可以看出,自相關(guān)算法檢測用時最短,譜減?自相關(guān)方法次之,本文算法運(yùn)用時間在譜減?自相關(guān)方法和小波?自相關(guān)方法之間,從實際應(yīng)用領(lǐng)域的角度來說,本文方法還需要進(jìn)一步減少運(yùn)行時間。

5 結(jié) 論

本文提出一種改進(jìn)的自相關(guān)函數(shù)法,結(jié)合譜減法作為預(yù)處理對噪聲進(jìn)行降噪,再利用改進(jìn)的方法進(jìn)行基音檢測。仿真結(jié)果表明,該方法在不同的信噪比下能很好地檢測出基音周期,在信噪比為0 dB的情況下仍然有很高的檢測正確率,對語音信號的基音周期的提取提高了檢測精度,也具有很好的魯棒性。

參考文獻(xiàn)

[1] 劉維巍.語音信號基音周期檢測算法研究[D].哈爾濱:哈爾濱工程大學(xué),2010.

[2] 李坤,劉加.基于小波變換和線性預(yù)測的基音提取[J].計算機(jī)工程,2010,36(10):276?278.

[3] 趙靜,羅興國,蔡文濤.噪聲環(huán)境下語音信號的基音檢測[J].電聲技術(shù),2007,31(3):54?56.

[4] KRUBSACK D A, NIEDERJOHN R J. An autocorrelation pitch detector and voicing decision with confidence measures developed for noise?corrupted speech [J]. IEEE transactions on signal processing, 1991, 39(2): 319?329.

[5] ROSS M, SHAFFER H, COHEN A, et a1. Average magnitude difference function pitch extractor [J]. IEEE transactions on acoustics speech & signal processing, 1974, 22(5): 353?362.

[6] CAI R, ZHU Y, SHI S. A modified pitch detection method based on wavelet transform [C]// Proceedings of 2010 International Conference on Multimedia & Information Technology. [S.l.]: IEEE, 2010: 246?249.

[7] KADAMBE S, BOUDREAUX?BARTELS G F. Application of the wavelet transform for pitch detection of speech signals [J]. IEEE transactions on information theory, 1992, 38(2): 917?924.

[8] AHMADI S, SPANIAS A S. Cepstrum?based pitch detection using a new statistical V/UV classification algorithm [J]. IEEE transactions on speech & audio processing, 2002, 7(3): 333?338.

[9] 陳小利.含噪語音基音周期檢測算法的研究[D].鄭州:解放軍信息工程大學(xué),2007.

[10] 沈曉東.語音增強(qiáng)技術(shù)研究[D].北京:清華大學(xué),2010.

[11] 李鵬飛,張維強(qiáng),徐晨.基于小波變換和自相關(guān)函數(shù)的基音頻率檢測算法[J].現(xiàn)代電子技術(shù),2009,29(32):121?123.

[12] 趙振東,胡喜梅,田景峰.基于譜減法的基音檢測算法[J].計算機(jī)工程與應(yīng)用,2008,44(5):197?198.

[13] 肖全寶,徐晨,宋廣為.用于語音識別的基于高譜分辨率的譜減法[J].廣西師范大學(xué)學(xué)報,2006,24(4):26?29.

[14] 焦蓓.語音信號的基音檢測法研究[D].湘潭:湘潭大學(xué),2013:56?62.

乡城县| 江陵县| 武汉市| 泗阳县| 从江县| 龙泉市| 绿春县| 辽源市| 隆安县| 张北县| 溧水县| 普兰店市| 德格县| 双流县| 应城市| 青州市| 肥城市| 金华市| 建德市| 沿河| 兴文县| 安化县| 石家庄市| 林周县| 绥芬河市| 阿瓦提县| 濮阳县| 镇赉县| 永胜县| 本溪市| 商洛市| 敦化市| 重庆市| 怀远县| 宜宾市| 天津市| 泰安市| 宁德市| 静安区| 富裕县| 镇坪县|