基音检测 matlab,基于MATLAB基音检测分析.doc
基于MATLAB基音檢測(cè)分析
基于MATLAB基音檢測(cè)分析
摘要:基音檢測(cè)作為語(yǔ)音信號(hào)處理的重要手段,被廣泛地應(yīng)用于語(yǔ)音的合成、編碼及識(shí)別等一系列語(yǔ)音信號(hào)處理技術(shù)問(wèn)題。基音檢測(cè)的準(zhǔn)確性對(duì)于要求極高的語(yǔ)音識(shí)別、合成、分析、壓縮編碼等等都有重要的意義。該文用自相關(guān)函數(shù)法、平均幅度差函數(shù)法和倒譜法這三種常用的基音檢測(cè)方法,運(yùn)用MATLAB編程實(shí)現(xiàn),對(duì)語(yǔ)音信號(hào)的基音周期軌跡圖進(jìn)行了比較分析,并由此得出和倒譜法進(jìn)行語(yǔ)音信號(hào)基音的檢測(cè)更為精確。
關(guān)鍵詞:基音檢測(cè);MATLAB;自相關(guān)函數(shù)法;平均幅度差函數(shù)法;倒譜法
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)18-4293-03
1 概述
語(yǔ)音是人類相互之間進(jìn)行信息交流的基本手段和重要載體,隨著現(xiàn)代通信科學(xué)技術(shù)的迅速發(fā)展,尤其是計(jì)算機(jī)的日趨普及,對(duì)語(yǔ)音信號(hào)的處理發(fā)揮著越來(lái)越重要的作用。漢語(yǔ)中的聲調(diào)對(duì)于語(yǔ)音的理解很重要,同時(shí)相同的漢語(yǔ)在不同的語(yǔ)氣或詞義下均有不同的聲調(diào)[1]。因此,基音檢測(cè)的準(zhǔn)確性對(duì)于漢語(yǔ)語(yǔ)音信號(hào)的識(shí)別極為重要。
根據(jù)聲帶的震動(dòng)情況,我們一般將語(yǔ)音信號(hào)分為清音和濁音兩種[2]。清音和普通的白噪聲相似,尚未發(fā)現(xiàn)明顯的規(guī)律性;而濁音就是俗稱的有聲語(yǔ)言,攜帶著語(yǔ)音的大部分能量,并且具有明顯的周期性。當(dāng)人們?cè)诎l(fā)出濁音的時(shí)候,氣流往往會(huì)通過(guò)聲門(mén)迫使聲帶產(chǎn)生規(guī)律性的震動(dòng),我們稱之為激勵(lì)脈沖串。通過(guò)聲帶震動(dòng)產(chǎn)生的頻率被定義為:基音頻率,同樣地,就有了基音周期[3]。通常所指的基音檢測(cè)實(shí)際上就是一種對(duì)基音周期的估計(jì),結(jié)果是希望能夠找出與聲帶的振動(dòng)頻率相一致或較為吻合的軌跡曲線。
語(yǔ)音信號(hào)的處理包括四大類,分別為:語(yǔ)音合成、語(yǔ)音識(shí)別、語(yǔ)音編碼以及語(yǔ)音識(shí)別 [2]。其中,準(zhǔn)確提取語(yǔ)言信號(hào)參數(shù)對(duì)于整個(gè)的語(yǔ)音信號(hào)處理是至關(guān)重要的。只有當(dāng)某些可以表示語(yǔ)音信號(hào)本質(zhì)特征的參數(shù)被準(zhǔn)確地提出,這些參數(shù)才可以被利用進(jìn)行有效的語(yǔ)音合成,語(yǔ)音識(shí)別以及語(yǔ)音的壓縮解碼處理,其中語(yǔ)音周期提取的準(zhǔn)確性會(huì)直接影響到語(yǔ)音合成的真實(shí)性,因此在眾多參數(shù)中就會(huì)顯得尤為重要[4]。
2 研究方法
2.1 自相關(guān)函數(shù)法(ACF函數(shù)法)
當(dāng)采用ACF函數(shù)算法進(jìn)行基音檢測(cè)時(shí),主要是利用了短時(shí)自相關(guān)函數(shù)能夠取到最大值這一性質(zhì)。使用此方法時(shí),可以利用一個(gè)窗函數(shù),使窗本身不動(dòng),而語(yǔ)音信號(hào)移動(dòng)。窗口的長(zhǎng)度[N]大于等于兩倍的基音周期,當(dāng)[N]越大,函數(shù)波形的細(xì)節(jié)會(huì)顯示地越清晰,更加有利于基音的檢測(cè),然而會(huì)有繁重的計(jì)算量。
這一算法適用于在噪聲環(huán)境下基音的提取。通過(guò)上面的性質(zhì)可以知道,自相關(guān)函數(shù)都是在基音周期處出現(xiàn)峰值,并且標(biāo)出出很強(qiáng)的規(guī)律性。在一般情況下,基波分量不是最強(qiáng)的分量,并且多變的諧波使得語(yǔ)音信號(hào)的波形變得較為復(fù)雜,對(duì)于基音檢測(cè)是一大難題,經(jīng)常發(fā)生的基頻估計(jì)結(jié)果往往是:二次倍頻或二次分頻的實(shí)際基音頻率。同時(shí),還有一些清濁混雜的情況,使得基音檢測(cè)成為目前的一大難題。
2.2 平均幅度差函數(shù)法(AMDF函數(shù)法
得到語(yǔ)音信號(hào)基音周期的具體過(guò)程是:首先對(duì)語(yǔ)音信號(hào)的序列進(jìn)行z變換,然后對(duì)其取模再取對(duì)數(shù),最后再進(jìn)行逆z變換。根據(jù)語(yǔ)音信號(hào)的產(chǎn)生及瞬時(shí)平穩(wěn)的特性可以得知:聲道濾波器頻譜與聲源頻譜的乘積就得到了短時(shí)譜的語(yǔ)音信號(hào)。對(duì)于濁音信號(hào)而言,脈沖激勵(lì)源的周期性表現(xiàn)為快速變化的周期性細(xì)致結(jié)構(gòu)[8]。語(yǔ)音信號(hào)倒譜的取得是:首先對(duì)語(yǔ)音信號(hào)的短時(shí)譜取對(duì)數(shù),然后再進(jìn)行反傅里葉變換,因此,濁音信號(hào)的倒譜會(huì)出現(xiàn)周期性的沖激,就可以從倒譜波形中提取出相對(duì)應(yīng)的基音周期。
3 基于MATLAB基音檢測(cè)
本文所采用的語(yǔ)音文件為:在windows附件中的錄音機(jī)功能錄制2-3秒 “啊”的四個(gè)音調(diào),采樣頻率為11.025KHz,位數(shù)為16位,聲道為單聲道。
從已得到的語(yǔ)音信號(hào)中選取一段較理想的樣本,取樣點(diǎn)數(shù)應(yīng)為幀長(zhǎng)的整數(shù)倍。對(duì)語(yǔ)音信號(hào)的采樣,通過(guò)軟件MATLAB對(duì)語(yǔ)音文件的計(jì)算得知其語(yǔ)音長(zhǎng)度為2.5秒,若采樣頻率為11KHz,共計(jì)27500個(gè)采樣點(diǎn)。采樣模塊從采樣頻率為11KHz的語(yǔ)音信號(hào)中截取11000個(gè)樣點(diǎn)進(jìn)行分析,取幀長(zhǎng)為20ms,即每幀為220個(gè)樣點(diǎn)值,共分為50幀。運(yùn)用matlab編寫(xiě)程序得出以下結(jié)果:
圖1是原始語(yǔ)音信號(hào)的波形,圖2是采樣信號(hào)的波形,從原始語(yǔ)音信號(hào)中截取11000個(gè)樣點(diǎn)進(jìn)行分析.
圖3是用ACF函數(shù)法得到的基音軌跡圖,這一算法適用于在噪聲環(huán)境下基音的提取。由圖中可知,信號(hào)在是在基音周期處出現(xiàn)峰值,并且標(biāo)出出很強(qiáng)的規(guī)律性。
圖4是用AMDF函數(shù)法得到的基因軌跡圖,平均幅度差函數(shù)法只需進(jìn)行加減法和取絕對(duì)值等簡(jiǎn)單的計(jì)算,算法簡(jiǎn)單,運(yùn)算量比自相關(guān)函數(shù)法大大減少,容易在計(jì)算機(jī)實(shí)現(xiàn)。
圖5是運(yùn)用倒譜法得到的基音檢測(cè)軌跡圖.倒譜法對(duì)于干凈語(yǔ)
總結(jié)
以上是生活随笔為你收集整理的基音检测 matlab,基于MATLAB基音检测分析.doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 远程桌面与本计算机共享文件,如何开启远程
- 下一篇: 双目标定与矫正 matlab