基于小波變換和自相關(guān)函數(shù)的基音頻率檢測(cè)算法
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引言
基音周期(Pitch)是指發(fā)濁音時(shí)聲帶振動(dòng)所引起的周期運(yùn)動(dòng)的時(shí)間間隔,而基音頻率是基音周期的倒數(shù)。由于基音周期只具有準(zhǔn)周期性,所有只能采用短時(shí)平均方法估計(jì)該周期,這個(gè)過程也稱為基音檢測(cè)(Pitch De—tection)。在對(duì)說話人確認(rèn)和辨認(rèn)研究中,基音頻率是一個(gè)重要的參數(shù),因此準(zhǔn)確檢測(cè)基音頻率有著十分重要的意義。
到目前為止,基音檢測(cè)的方法主要有短時(shí)自相關(guān)函數(shù)法、平均幅度差函數(shù)法、倒譜解卷積法、Hil—be;t—Huang變換法等。但尚未找到一個(gè)完善的可以適用于不同語音狀況和環(huán)境的基音檢測(cè)算法。近幾年,小波分析理論發(fā)展迅速。它已經(jīng)被廣泛地應(yīng)用到信號(hào)處理中。這里利用小波變換的濾波特性對(duì)信號(hào)進(jìn)行預(yù)處理,然后利用自相關(guān)函數(shù)法檢測(cè)語音的基音頻率,該方法利用小波濾波特性有效剔除了高頻共振峰和噪音的影響,估計(jì)基音頻率準(zhǔn)確性高,穩(wěn)定性好,運(yùn)算速度較快。實(shí)驗(yàn)結(jié)果表明,此方法是一種有效的基音頻率檢測(cè)算法。
1 小波變換及其濾波特征
在多分辨分析中,塔式正交分解L。(R)空間:
對(duì)ν f∈L (R),設(shè)f在Vj上的投影系數(shù)為Cj,k,在wj上的投影系數(shù)為Dj,k(j=J,J一1,…,一J),于是,f有以下分解式:
在式(2)中,第一和式在小波空間中,它表示信號(hào)的細(xì)節(jié)部分(即高頻部分),Dj,k就是對(duì)應(yīng)于小波函數(shù)φj,k的小波系數(shù);第二和式在尺度空間中(即低頻部分),它反映了信號(hào)的本征部分,C-j,k就是對(duì)應(yīng)于尺度函數(shù)φ-j,k的尺度系數(shù)。
這里語音信號(hào)使用的采樣頻率是11 025 Hz,因此原始語音信號(hào)頻帶為0~5 512.5 Hz,如圖1所示,原始語音信號(hào)s2d0f占據(jù)頻帶為0~5 512.5 Hz,經(jīng)小波濾波器組濾波后,Sd23f占據(jù)頻帶0~689 Hz,S爭(zhēng)f就是需要的低頻信號(hào),因?yàn)檎Z音基音頻率變化范圍從老年男性的50 Hz到兒童和女性的450 Hz,所以這部分的信號(hào)將用于估計(jì)語音的基音頻率。
2 自相關(guān)函數(shù)估計(jì)基音周期
經(jīng)過小波變換后得到低頻語音信號(hào)記為:as,用長(zhǎng)度為36 ms的矩陣窗對(duì)語音信號(hào)as進(jìn)行分幀,記第i幀信號(hào)為Fi;定義Fi的自相關(guān)函數(shù)(ACF)R(k)為:
其中:N是幀F(xiàn)i的長(zhǎng)度;k=0,1,…,N一1;mod是取模運(yùn)算。
自相關(guān)函數(shù)在基音頻率的整數(shù)倍位置上出現(xiàn)峰值,通過檢測(cè)其峰值的位置就可以提取基音頻率值,通常取第一極大值點(diǎn)為基音頻率點(diǎn)。如圖2所示,圖中顯示某一幀采樣頻率fs=11025 Hz語音信號(hào)的自相關(guān)函數(shù)曲線,曲線的第一個(gè)峰值點(diǎn)x=74,y=4.342,則可以計(jì)算出該幀的基音頻率廠fb=fs/74=148.9 Hz。
自相關(guān)函數(shù)估計(jì)語音基音頻率一般使用矩形窗,窗長(zhǎng)至少大于2個(gè)基音周期,語音最小基音頻率為60 Hz,即16.7 ms,所以窗長(zhǎng)使用36 ms是合適的。當(dāng)單獨(dú)使用自相關(guān)函數(shù)估計(jì)基音頻率時(shí),易受共振峰和噪音的影響,如圖3所示,語音信號(hào)在小波變換前的自相關(guān)函數(shù)曲線不平滑,給檢測(cè)其峰值點(diǎn)造成困難;圖2就是語音信號(hào)在小波變換后的自相關(guān)函數(shù)曲線,曲線平滑,容易檢測(cè)其峰值點(diǎn)。
[!--empirenews.page--]
3 算法流程圖
算法過程如下:
(1)采集語音信號(hào)。人的語音信號(hào)頻率都在6 kHz以內(nèi),根據(jù)Nyqtfist采樣定理,fs=11 025 Hz。把采集得到的語音信號(hào)記為X;
(2)基音頻率變化范圍大,從老年男性的50 Hz到兒童和女性的450 Hz。因此使用小波變換進(jìn)行濾波時(shí),要把50~500 Hz的語音信號(hào)加強(qiáng),把高于500 Hz的語音信號(hào)減弱,以去除共振峰和高頻噪音的影響;
(3)同一個(gè)人在不同情態(tài)下發(fā)音的基音周期也不同,加之基音周期還受單詞發(fā)音音調(diào)的影響,因此基音檢測(cè)實(shí)際上是估計(jì)短時(shí)語音的平均周期。采用L點(diǎn)的矩形窗來截取信號(hào),進(jìn)行短時(shí)分析,一般取窗口的長(zhǎng)度為36 ms,幀重疊18 ms;
(4)利用自相關(guān)函數(shù)估計(jì)第i幀語音信號(hào)的基音
周期fpi。若fpi的頻率范圍超出了[60 Hz,500 Hz],則判斷該幀為清音幀,聲帶不振動(dòng),fpi,置為O Hz。
算法流程圖如圖4所示:
4 實(shí) 驗(yàn)
首先通過一個(gè)真實(shí)的語音數(shù)據(jù)來說明第3節(jié)算法的有效性,然后將其與傳統(tǒng)的自相關(guān)函數(shù)法的結(jié)果進(jìn)行比較。
在圖5中,圖5(a)為作者(男性)讀“馬到成功”的語音信號(hào)波形,fs=1l 025 Hz,用普通麥克風(fēng)在自然環(huán)境下錄制,時(shí)長(zhǎng)為2 s。選擇db4小波基,對(duì)原始語音信號(hào)進(jìn)行二進(jìn)小波變換,取小波變換后第三層的低頻部分信號(hào),該低頻信號(hào)如圖5(b)所示。用幀長(zhǎng)為36 ms的矩形窗把圖5(a)中原始信號(hào)分成165幀,并用自相關(guān)函數(shù)估計(jì)每一幀的基音頻率,基音頻率的變化曲線如圖5(c)所示。同樣地把圖5(b)中經(jīng)小波變換后所得的低頻語音信號(hào)分成165幀,然后用自相關(guān)函數(shù)估計(jì)每一幀的基音頻率,基音頻率的變化曲線如圖5(d)所示。[!--empirenews.page--]
從圖5(c)可以看到,用自相關(guān)函數(shù)法在A,B,C三幀判斷錯(cuò)誤,使基音頻率軌跡估計(jì)值偏離了正常的軌跡(通常偏離到正常值的2倍或1/2倍),這就是基音軌跡的“野點(diǎn)”。圖5(d)是文中提出的算法的計(jì)算結(jié)果,很好地去除了這些野點(diǎn),提高了檢測(cè)的準(zhǔn)確率。
5 結(jié) 語
自相關(guān)函數(shù)法是一種簡(jiǎn)單,計(jì)算速度快的基音頻率估計(jì)算法。但該方法易受噪音和共振峰的影響,為了提高自相關(guān)函數(shù)法檢測(cè)基音頻率的準(zhǔn)確性,在此使用小波變換對(duì)語音信號(hào)進(jìn)行預(yù)處理,一定程度上消除了高頻噪音和共振峰的影響,能夠準(zhǔn)確反映語音段中基音頻率的變化,得到比較真實(shí)的基音頻率曲線。
傳統(tǒng)的小波變換的基頻檢測(cè),通過對(duì)語音信號(hào)進(jìn)行3個(gè)連續(xù)尺度上的小波變換,比較相鄰兩尺度下的極值點(diǎn)位置是否一致,來確定聲門閉合時(shí)刻,進(jìn)而求得基音頻率。由于需要進(jìn)行多次小波變換及極值搜索和判定,計(jì)算量大,實(shí)時(shí)性不好。這里只需要在固定的尺度下做1次小波變換,然后用自相關(guān)函數(shù)法檢測(cè)基音頻率,計(jì)算量小,實(shí)時(shí)性較好。