基于MATLAB語音信號檢測分析及處理_第1頁
基于MATLAB語音信號檢測分析及處理_第2頁
基于MATLAB語音信號檢測分析及處理_第3頁
基于MATLAB語音信號檢測分析及處理_第4頁
基于MATLAB語音信號檢測分析及處理_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 基于MATLAB的語音信號檢測分析及處理 第一章 緒論Matlab是矩陣實驗室(Matrix Laboratory)的簡稱,是美國MathWorks公司出品的商業(yè)數(shù)學軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,主要包括Matlab和Simulink兩大部分。1.1 Matlab簡介MATLAB是英文MATrix LABoratory(矩陣實驗室)的縮寫。早期的MATLAB是用FORTRAN語言編寫的,盡管功能十分簡單,但作為免費軟件,還是吸引了大批使用者。經(jīng)過幾年的校際流傳,在John Little。Cleve Moler和Steve Banger合作

2、,于1984年成立MathWorks公司,并正式推出MATLAB第一版版。從這時起,MATLAB的核心采用C語言編寫,功能越來越強大,除原有的數(shù)值計算功能外,還新增了圖形處理功能。MathWorks公司于1992年推出了具有劃時代意義的4.0版;1994年推出了4.2版擴充了4.0版的功能,尤其在圖形界面設計方面提供了新方法;1997年春5.0版問世,5.0版支持了更多的數(shù)據(jù)結(jié)構(gòu),使其成為一種更方便、更完善的編程語言;1999年初推出的MATLAB5.3版在很多方面又進一步改進了MATLAB語言的功能,隨之推出的全新版本的最優(yōu)化工具箱和Simulink3.0達到了很高水平;2000年10月,M

3、ATLAB6.0版問世,在操作頁面上有了很大改觀,為用戶的使用提供了很大方便,在計算機性能方面,速度變的更快,性能也更好,在圖形界面設計上更趨合理,與C語言接口及轉(zhuǎn)換的兼容性更強,與之配套的Simulink4.0版的新功能也特別引人注目;2001年6月推出的MATLAB6.1版及Simulink4.1版,功能已經(jīng)十分強大;2002年6月推出的MATLAB6.5版及Simulink5.0版,在計算方法、圖形功能、用戶界面設計、編程手段和工具等方面都有了重大改進;2004年,MathWorks公司推出了最新的MATLAB7.0版,其中集成了最新的MATLAB7編譯器、Simumlink6.0仿真軟

4、件以及很多工具箱。這一版本增加了很多新的功能和特性,內(nèi)容相當豐富。Matlab主要面對科學計算、可視化以及交互式程序設計的高科技計算環(huán)境。它將數(shù)值分析、矩陣計算、科學數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學研究、工程設計以及必須進行有效數(shù)值計算的眾多科學領(lǐng)域提供了一種全面的解決方案,代表了當今國際科學計算軟件的先進水平。Matlab的優(yōu)勢(1) 工作平臺編程環(huán)境十分友好(2)編程語言簡單易用(3)數(shù)據(jù)的計算處理能力十分強大(4)圖像處理能力強大(5)模塊集合工具箱應用廣泛(6)程序的接口和發(fā)布平臺很實用(7)可以開發(fā)用戶界面。Matlab 語

5、言的特點MATLAB語言被稱為第四代計算機語言,其利用豐富的函數(shù)資源,使程序員從繁瑣的程序代碼中解放出來,其最突出的特點就是簡潔。MATLAB用更直觀的、符合人們思維習慣的代碼,代替了C和FORTRAN語言的冗長代碼,給用戶帶來最直觀、最簡潔的程序開發(fā)環(huán)境,下面簡單介紹一下MATLAB的主要特點。語言簡潔緊湊,使用方便,庫函數(shù)十分豐富。MATLAB程序書寫的形式自由,利用豐富的庫函數(shù)避開了繁瑣的子程序編程任務,由于庫函數(shù)都是由本領(lǐng)域的專家編寫,所以不必擔心函數(shù)的可靠性。高效方便的矩陣和數(shù)組運算,MATLAB語言不需要定義數(shù)組的維數(shù),并給出了矩陣函數(shù)、特殊矩陣函數(shù)、特殊矩陣專門的庫函數(shù),使得在求

6、解信號處理、建模、系統(tǒng)識別、優(yōu)化和控制等領(lǐng)域的問題時,顯得大為簡潔、方便、高效,這是其他高級語言所不能的。MATLAB既具有結(jié)構(gòu)化的控制語句,又具有面向?qū)ο缶幊痰奶匦?。MATLAB語法限制不嚴格,程序設計自由度大,通過建立M后綴名文件的形式,與用戶已經(jīng)編好的FORTRAN、C語言成語混合編程,方便地調(diào)用有關(guān)的FORTRAN、C語言的子程序??梢浦残院芎茫旧喜蛔鲂薷木涂梢栽诟鞣N型號的計算機和操作系統(tǒng)上面運行。MATLAB的圖形功能強大。在C和FORTRAN語言里,繪圖都很不容易,但在MATLAB里,數(shù)據(jù)的可視化非常簡單。此外,MATLAB還具有較強的編輯圖形界面的能力。MATLAB擁有功能強

7、大的工具箱,主要用來擴充其符號計算功能、圖示建模仿真功能、文字處理功能以及與硬件實施交互功能。源程序的開放性強。除內(nèi)部函數(shù)以外,所有MATLAB的核心文件和工具箱文件都是可讀可改變的源文件,用戶可通過對源文件的修改以及加入自己的文件構(gòu)成新的工具箱。MATLAB軟件自1984年推向市場以來,歷經(jīng)十幾年的發(fā)展和競爭,現(xiàn)已成為國際公認的最優(yōu)秀的科技應用軟件。它功能強大、界面友好、語言自然、開放性強,很快成為應用學科計算機輔助分析、設計、仿真、教學乃至科技文字吹不可缺少的基礎軟件。1.2語音概述1.2.1語音簡介語音,即語言的聲音,是語言符號系統(tǒng)的載體。它由人的發(fā)音器官發(fā)出,負載著一定的語言意義,語言

8、依靠語音實現(xiàn)它的社會功能。語音是人們交流思想和進行社會活動的最基本手段,因此我們要對語音信號進行處理分析,優(yōu)化人類通信交流。語音信號處理包括語音通信、語音增強、語音合成、語音識別和說話人識別等方面。語音信號的好壞、語音識別率的高低,都取決于語音信號處理的好壞。因此,語音信號處理是一項非常有意義的研究課程,而語音端點檢測是語音語音信號處理中非常重要的一步。語音端點檢測是語音分析、合成和識別中的一個重要環(huán)節(jié),目的是從包含語音的一段信號中找出語音的起始點及結(jié)束點,從而只存儲和處理有效語音信號。有效的端點檢測不僅可以減少數(shù)據(jù)的存和處理時間,而且能排除無聲段的噪聲干擾。端點檢測的困難在于無聲段或者語音段

9、前后人為呼吸等產(chǎn)生的雜音、語音開始處的弱摩擦音或弱爆破音以及終點處的鼻音,這些使得語音的端點比較模糊,需要綜合利用語音的各種信號特征,從而確保定位的精確性,避免包含噪音信號和丟失語音信號。近年來出現(xiàn)了很多種端點檢測的方法如短時能量、短時過零率、傳統(tǒng)的雙門限法、倒譜特征的檢測方法、譜熵的檢測方法法、分形法等。盡管語音端點檢測技術(shù)在安靜的環(huán)境中已經(jīng)達到了令人鼓舞的準確率,但是在實際應用時由于聲的引入和環(huán)境的改變通常會使系統(tǒng)性能顯著下降。研究表明,即使在安靜的環(huán)境中,語音識別系統(tǒng)一半以上的識別錯誤來自端點檢測器。因此,作為語音識別系統(tǒng)的第一步,端點檢測的關(guān)鍵性不容忽視,尤其是噪聲環(huán)境下語音的端點檢測

10、,實驗室的研究結(jié)果與復雜的實用環(huán)境下的語音端點檢測仍存在一定的差距,它的準確性很大程度上直接影響著后續(xù)的工作能否有效進行,如何準確地檢測出帶噪語音的端點至今仍是一個難題。1.2.2研究背景及意義語音是語言的聲學表現(xiàn)形式,語言是人類特有的功能,聲音是人類常用的信息交流工具,通過聲音傳遞信息是人類最重要、最有效、最準確、最方便、最自然的信息交換的方式。語音信號處理是一門涉及面很廣的交叉科學,包含計算機科學、語音學、語言學、聲學、生理學、心理學和數(shù)學等諸多領(lǐng)域的內(nèi)容。隨著現(xiàn)代科學的蓬勃發(fā)展,人類社會越來越顯示出信息社會的特點,猶如衣、食、住、行對于人類是必要的一樣,通信和信息交換也成為了人類社會存在

11、的必要條件,不但在人與人之間,而且在人與機器之間每時每刻都需要進行大量的信息交換。讓計算機聽懂人類的語言,是人類自計算機誕生以來夢寐以求的想法。語音技術(shù)的應用己經(jīng)成為一個具有競爭性的高新技術(shù)產(chǎn)業(yè),它正在直接與辦公、交通、金融、公安、商業(yè)、旅游等行業(yè)的語音咨詢與管理,工業(yè)生產(chǎn)部門的語聲控制,電話、電信系統(tǒng)的自動撥號、輔助控制與查詢以及醫(yī)療衛(wèi)生和福利事業(yè)的生活支援系統(tǒng)等各種實際應用領(lǐng)域相接軌,并且有望成為下一代操作系統(tǒng)和應用程序的用戶界面。語音處理內(nèi)容涉及到計算機科學、模式識別、信號處理、生理學、語音學、心理學等學科,還涉及到信號和信息處理系統(tǒng)、通信和電子系統(tǒng)等具體應用領(lǐng)域。語音信號處理與信息科學

12、中最活躍的前沿科學密切聯(lián)系,并且共同發(fā)展。例如,神經(jīng)網(wǎng)絡理論、模糊集理論、小波理論是當前熱門的研究領(lǐng)域,這些領(lǐng)域的研究常常把語音處理任務作為一個應用實例,而語音處理研究者也從這些領(lǐng)域的研究進展中找到突破口,使語音處理技術(shù)研究取得進展。經(jīng)過幾十年的努力,語音信號處理在語音識別、語音增強、語音編碼、說話人識別、說話人情感識別、語音合成等方面取得了巨大的進步,然而,一旦這些技術(shù)應用在實際環(huán)境中,由于環(huán)境噪聲、信道等方面的影響,性能急劇下降,因為在實際環(huán)境中沒有完全純凈的語音信號,一般都會伴有噪聲或其它干擾。語音檢測的任務就是判斷待處理信號是語音還是非語音,從輸入信號中找到語音部分的起止點。語音檢測是

13、語音識別、語音增強以及語音編碼等中的一個重要環(huán)節(jié)。有效的語音檢測技術(shù)不僅能減少系統(tǒng)的處理時間、提高系統(tǒng)的處理實時性,而且能排除無聲段的噪聲干擾,從而使后續(xù)工作的性能得以較大提高。第二章 語音信號處理2.1 語音信號特點語音信號是隨時間變化的一維信號,由一連串的音組成,各個音的排列有一定的規(guī)則。語音具有聲學特征的物理性質(zhì),聲音質(zhì)量與它的頻率范圍有關(guān),語音信號的頻率一般是在200Hz3500Hz范圍內(nèi),隨著帶寬的增加,信號的自然度將逐步得到改善。語音信號本身的冗余度是較大的,少數(shù)輔音清晰度下降并不明顯影響語句的可懂度,比如通常的模擬電話帶寬只有3KHz4KHz。語音信號的特性是隨時間變化的,所以是

14、一種典型的非穩(wěn)態(tài)信號。但是,從另一方面來看,由于語音的形成過程與發(fā)音器官的運動密切相關(guān),這種物理運動比起聲音振動速度來講要緩慢得多,因此,語音信號常??杉俣槎虝r平穩(wěn)的。研究表明,在5ms-40ms的范圍內(nèi),語音信號的頻譜特性和一些物理特征參數(shù)基本保持不變。這樣,我們就可以將平穩(wěn)過程的處理方法和理論引入到語音信號的短時處理中。因此,“短時分析技術(shù)”貫穿于語音分析的全過程。語音信號的基本組成單位是音素。音素可分成“濁音”和“清音”兩大類。如果將不存在語音而只有背景噪聲的情況稱為“無聲”。那么音素可以分成“無聲”、“濁音”、“清音”三類。一個音節(jié)由元音和輔音構(gòu)成。元音在音節(jié)中占主要部分。所有元音都

15、是濁音。在漢語普通話中,每個音節(jié)都是由“輔音一元音”構(gòu)成的。  在信號處理中,語音按其激勵形式的不同可分為2 類: (1)濁音  當氣流通過聲門時,如果聲帶的張力剛好使聲帶發(fā)生張弛振蕩式的振蕩,產(chǎn)生一股準周期的氣流,這一氣流激勵聲道就產(chǎn)生了濁音。這種語音信號是1 種激勵信號,它是由規(guī)則的全程激勵產(chǎn)生的,其時域波形具有準周期性,語音頻率集中在比較低的頻率范圍內(nèi),短時能量較高,由于語音信號中的高頻成分有高的過零率而低頻有低的過零率,因此濁音的過零率低。通常,濁音信號可以由周期激勵通過線性濾波器合成。 (2)清音  當氣流通過聲門

16、時,如果聲帶不振動,而在某處收縮,迫使氣流高速通過這一收縮部分而產(chǎn)生湍流,就得到清音。清音是由不規(guī)則的激勵產(chǎn)生的,發(fā)清音時聲帶不振動,其時域波形不具有周期性, 自相關(guān)函數(shù)沒有很強的自相關(guān)周期峰,其語音頻率集中在較高的范圍內(nèi),短時能量較低,因而過零率較高。通常,清音信號可由白噪聲通過線性濾波器合成。  2.1.1 語音信號的“短時譜”  對于非平穩(wěn)信號,它是非周期的,頻譜隨時間連續(xù)變化,因此由傅里葉變換得到的頻譜無法獲知其在各個時刻的頻譜特性。如果利用加窗的方法從語音流中取出其中一個短段,再進行傅里葉變換,就可以得到該語音的短時譜。  2.1.2

17、 基音周期  濁音信號的周期稱為基音周期,它是聲帶振動頻率的倒數(shù),基音周期的估計稱為基音檢測?;魴z測是語音處理中的一項重要技術(shù),它在有調(diào)語音辨意、低速率語音編碼、說話人識別等方面起著非常關(guān)鍵的作用。但在實現(xiàn)過程中,由于聲門激勵波形不是一個完全的周期脈沖串,再加上聲道影響去除不易、基音周期定位困難、背景噪聲影響強烈等一系列因素,基音檢測面臨著很大的困難。現(xiàn)在已有很多性能優(yōu)越的基音檢測算法,自相關(guān)基因檢測算法就是一種基于語音時域分析理論較好的算法,在這里基于聲音文件比較穩(wěn)定的基礎上,使用觀察法獲取基音周期。2.2 語音信號預處理為了消除因為人類發(fā)聲器官本身和因一些采集語音信號

18、的設備等所引起的混疊、高次諧波失真現(xiàn)象,在對語音信號進行分析和處理之前,必須對其進行預處理。語音信號的預處理應盡可能地保證處理后得到的信號更均勻、平滑,且能提高語音的質(zhì)量。2.2.1預加重在進行語音信號數(shù)字處理時,為了獲取一段語音信號的時域波形,首先要將語音信號轉(zhuǎn)換成電信號,再用A/D轉(zhuǎn)換器將其變換為離散的數(shù)字化采樣信號。己經(jīng)數(shù)字化的語音信號將依次進入一個數(shù)據(jù)區(qū)。由于語音信號的平均功率受聲門激勵和口鼻輻射影響,高頻端大約在800Hz以上按6dB/倍頻程跌落,即6dB/oct(2倍頻)或20dB/dec(10倍頻),所以求語音信號頻譜時,頻率越高相應的成分越小,高頻部分的頻譜比低頻部分的難求,為

19、此要在預處理中進行預加重處理。目的是提升高頻部分,使信號變得平坦,保持在低頻到高頻的整個頻帶中,能用同樣的信噪比求頻譜,而且預加重零點與輻射零點將抵消聲門波的影響,使語音信號中只包含聲道部分,以便于頻譜分析或聲道參數(shù)分析。圖2.1表明了語音預處理的過程采樣量化預加重加窗分幀算法處理語音圖2.1 語音信號的預處理預加重一般是在語音信號數(shù)字化之后,用具有6dB/倍頻程的提升高頻特性的預加重數(shù)字濾波器來實現(xiàn),它一般是一階的數(shù)字濾波器: (2-1)式中的取值接近于1。有時要恢復原信號,需要從做過預加重的信號頻譜來求實際的頻譜時,要對測量值進行去加重處理,即加上6dB/倍頻程的下降的頻率特性來還原成原來

20、的特性。2.2.2加窗分幀語音信號檢測首先要進行分幀處理,然后依次判斷每一幀是否為語音的端點。如果采用較小的窗長,則計算量增加,語音識別的速度會降低。我們可以在語音靜音段時,采用較長的窗 ;在語音和靜音的過渡段時采用較小的窗 ,可以確切判斷語音的起始點 ;一旦確定語音的起點,就改用常規(guī)窗長。在進行了預加重后,接下來就要對語音信號進行加窗分幀處理。將語音信號劃分為許多短時的語音段,每個短時的語音段稱為一個分析幀。另外,由于不同語音信號的基音周期不同,為了兼顧男聲和女聲的最高和最低基音頻率,且能準確地描述語音能量自身的實際變化規(guī)律,通常將窗寬選為10ms20ms。圖2.2 幀長和幀移如圖2.2所示

21、分幀一般采用交疊分段的方法,這是為了使幀與幀之間能平滑過渡,保持其連續(xù)性。前一幀和后一幀的交疊部分稱為幀移,幀移與幀長的比值一般取為00.5之間。分幀是用可移動的有限窗口長度進行加權(quán)實現(xiàn)的,即用窗函數(shù)乘以語音信號s(n),從而形成加窗的語音信號: (2-2)由于窗函數(shù)一般取為S(n)中間大兩頭小的光滑函數(shù),這樣的沖激響應所對應的濾波器具有低通特性,其帶寬和頻率取決于窗函數(shù)的選取。用得最多的三種窗函數(shù)是矩形窗、漢明窗(Hamming)和漢寧窗(Hanning),它們的定義如下:矩形窗: (2-3)漢明窗: (2-4) 漢寧窗: (2-5)式中N為窗長,窗函數(shù)的選取(形狀和長度)對于短時分析參數(shù)的

22、特性影響很大,為此應該選擇合適的窗口,使其短時參數(shù)能更好地反映語音信號的特性變化。以上這些窗函數(shù)的幅度頻率響應都具有低通特性,它們的主瓣寬度和旁瓣高度如表1-1所示。表1-1 1s長的各種窗的主瓣寬度和旁瓣高度矩形漢明漢寧主瓣寬度0.81Hz1.19Hz1.87Hz旁瓣寬度-13dB-43dB-32dB從表中可知:矩形窗的主瓣寬度最小,但其旁瓣高度最高;漢明窗的主瓣最寬,而旁瓣高度最低。矩形窗的旁瓣太高,會產(chǎn)生嚴重的泄漏現(xiàn)象。漢明窗旁瓣最低,可以有效地克服泄漏現(xiàn)象,具有更平滑的低通特性,因此,一般在語音信號預處理中,都選用漢明窗來進行語音分幀處理。2.3 語音信號分析語音信號處理包括語音識別、

23、語音合成、語音編碼、說話人識別等方面,但是其前提和基礎是對語音信號進行分析。只有將語音信號分析成表示其本質(zhì)特性的參數(shù),才有可能利用這些參數(shù)進行高效的語音通信,以及建立用于識別的模板或知識庫。而且,語音識別率的高低,語音合成的音質(zhì)好壞,都取決于對語音信號分析的準確性和精度。2.3.1短時時域分析語音信號本身就是時域信號,因此,時域分析方法是應用最為廣泛的一種方法,這種方法直接利用語音信號的時域波形。時域分析通常用于最基本的參數(shù)分析以及用于語音的分割、預處理等。語音信號的時域參數(shù)有短時能量、短時平均幅度、短時過零率、短時自相關(guān)函數(shù)等,這些是語音信號中一組最基本的短時參數(shù),在各種語音信號數(shù)字處理技術(shù)

24、中都有重要應用。進行語音信號分析時,最先接觸到且最直觀的就是它的時域波形。時域分析通常用于最基本的參數(shù)分析,語音的分割、預處理和大分類。這種分析方法的特點是表示語音信號比較直觀、物理意義明確;實現(xiàn)起來比較簡單、運算量少;可得到語音的一些重要參數(shù);可采用示波器等通用設備進行觀測。取樣之后要對信號進行量化,而量化過程不可避免地會產(chǎn)生量化誤差,即量化后的信號值與原信號之間的差值。2.3.2頻域分析語音信號頻域分析,主要是對一些頻域的參數(shù)進行分析,常用的一些頻域參數(shù)有頻譜、功率譜、倒譜等等,最常用的頻域分析方法有傅立葉變換法、線性預測法等。1、傅立葉變換法傅里葉頻譜變換是語音信號頻域分析中廣泛使用的方

25、法,是分析線性系統(tǒng)和平穩(wěn)信號穩(wěn)態(tài)特性強有力的手段,對分幀加窗后的語音信號,進行傅里葉變換和逆傅里葉變換,可以相應的得到頻譜,功率譜,倒譜距離,嫡等特征。由于語音信號的特性是隨著時間緩慢變化,所以采用短時傅里葉變換,相應的求得特征為短時頻域特征,這里的窗函數(shù)都使用漢明窗。(1)短時頻譜和短時功率譜設信號經(jīng)過傅里葉變換后在頻域記為,則與的關(guān)系見公式1-6。 (2-6)語音的頻譜為的幅度,則有 (2-7)語音的短時功率譜的是幅度的平方,所以短時功率譜的計算方法為 (2-8)(2)倒譜距離語音信號的倒譜分析是通過同態(tài)處理來實現(xiàn)的。同態(tài)信號處理也稱為同態(tài)濾波,就是將非線性問題轉(zhuǎn)化為線性問題的處理方法。由

26、于語音信號可視為聲門激勵信號和聲道沖擊響應的卷積,可以對語音信號進行解卷。倒譜能很好表示語音的特征,在強噪聲環(huán)境下,可通過倒譜系數(shù)求得倒譜距離,使用倒譜距離來作為端點檢測的特征。信號的倒譜也可以定義為信號的能量譜密度函數(shù)S(叻的對數(shù)的傅里葉級數(shù)展開式的系數(shù), (2-9)即為倒譜系數(shù),通過倒譜系數(shù)求得倒譜距離幾為 (2-10)(3)熵熵(用表示)是物質(zhì)的復雜程度的一種反映。熵代表的信息量,的概率分布越模糊,越難判斷, 則的熵為 (2-11)2、線性預測法線性預測分析的基本思想是:由于語音樣點之間存在相關(guān)性,所以可以用過去的樣點值來預測現(xiàn)在或未來的樣點值,即一個語音的抽樣能夠用過去若干個語音抽樣或

27、它們的線性組合來逼近。通過使實際語音抽樣和線性預測抽樣之間的誤差在某個準則下達到最小值來決定唯一的一組預測系數(shù)。而這組預測系數(shù)就反映了語音信號的特征,可以作為語音信號特征參數(shù)用與語音識別、語音合成等。將線性預測應用與語音信號處理,不僅是因為它的預測功能,而且更重要的是因為它能提供一個非常好的聲道模型及模型參數(shù)估計方法。線性預測的基本原理和語音信號數(shù)字模型密切相關(guān)。第三章 語音信號檢測3.1清音濁音檢測3.1.1信號采集該設計以本人的聲音為分析樣本??傻贸雎曇舻牟蓸宇l率為11025Hz,且聲音是單通道的。利用sound函數(shù),可清晰地聽到讀音為:“電子信息”的音頻信號。采集數(shù)據(jù)并畫出波形圖如下所示

28、,fs 為采樣頻率,x為采樣數(shù)據(jù),接下來對采樣數(shù)據(jù)作傅里葉變換y=fft(x)并畫出頻譜圖如圖1所示,程序如下:fs=11025; %抽樣頻率x=wavread('yin.wav');sound(x1,11025); %讀取語音信號“電子信息”figure(1)subplot(211)plot(x) %做原始語音信號的時域圖形title('原始語音信號波形');xlabel('樣點數(shù)'); %x軸的名字是“樣點數(shù)”ylabel('幅值 '); %y軸名字是“幅值”grid on; N=128;n=0:N-1;y=fft(x); %

29、對x進行傅里葉變換mag=abs(y); %求幅值f=(0:length(y)-1)'*fs/length(y); %進行對應的頻率轉(zhuǎn)換figure(1)subplot(212)plot(f,mag); %做原始語音信號的頻譜圖xlabel('頻率(Hz)'); ylabel('幅值');title('原始信號頻譜圖');grid on;圖1 原始語音信號波形及頻譜圖由頻譜圖可清楚地看到樣本聲音主要以低頻為主。人的語音信號頻率一般集中在200 kHz到4.5 kHz之間,從聲音頻譜的包絡來看,樣本聲音的能量集中在0.1(11025Hz)以

30、內(nèi),0.4以外的高頻部分很少。所以信號寬度近似取為1.1kHz,由采樣定理可得。3.1.2短時能量和短時平均幅度能量是語音的一個重要特性,由于語音信號的能量隨時間變化,清音和濁音之間的能量差別相當顯著,清音的能量較小,濁音的能量較大。因此對語音的短時能量進行分析,可以描述語音的這種特征變化情況。短時能量定義為: (3-1)其中,W(n)是窗函數(shù),N是窗長。特殊地,當采用矩形窗時,可簡化為: (3-2)由此表明,窗口加權(quán)短時平均能量En 相當于將“語音平方”信號通過一個單位函數(shù)響應為h( n) 的線性濾波器的輸出。本次語音信號的短時平均能量和短時平均幅度如下圖2所示及程序如下:N=240;Y=w

31、avread('yin.wav');L=length(Y); LL=length(Y)/N; figure(2)Em=zeros(1,(LL-1)*240); for ii=1:(LL-1)*240, temp=Y(ii:ii+240); Em(ii)=sum(temp.*temp); endjj=1:(LL-1)*240; subplot(211)plot(jj, Em,'b'); %繪制短時平均能量曲線xlabel('幀數(shù)');ylabel('短時能量');title('短時平均能量');grid on;%短時

32、平均幅度Mn=sum(abs(Y)/NMn=zeros(1,(LL-1)*240);for ii=1:(LL-1)*240, temp=Y(ii:ii+240); Mn(ii)=sum(abs(temp)/N;endfigure(2)jj=1:(LL-1)*240; subplot(212)plot(jj, Mn,'b'); %繪制短時平均幅度曲線xlabel('幀數(shù)');ylabel('短時平均幅度');title('短時平均幅度');grid on; 圖2 短時平均能量和短時平均幅度由上圖發(fā)現(xiàn),語音濁音段的短時平均能量遠遠大于

33、清音段的短時平均能量。因此,短時平均能量En 的計算給出了區(qū)分清音段與濁音段的依據(jù),即En (濁) > En (清)。根據(jù)En 由高到低的跳變可定出濁音變?yōu)榍逡粽Z音的時刻, En 由低向高的跳變可定出清音變?yōu)闈嵋粽Z音的時刻,而只有濁音才有基音周期,清音的基音周期為零。故清濁音判斷是基音檢測的第一步。該算法中窗口選擇漢明窗,選擇漢明窗的理由是窗函數(shù)的選取原則為窗函數(shù)截取后的x ( n) 盡量是中間大兩頭小的光滑函數(shù),沖激響應對應的濾波器具有低通特性。從漢明窗的構(gòu)成及頻率響應特性上看, 漢明窗具有這種特性, 而矩形窗及漢寧窗則稍遜之。漢明窗雖然主瓣最高(帶寬大) ,但旁瓣最低(通帶外的衰減大

34、) , 可以有效地克服泄露現(xiàn)象,具有更好的低通特性。故選擇漢明窗而不選擇別的窗函數(shù),能使短時平均能量En 更能反映語音信號的幅度變化。短時能量函數(shù)的應用:1)可用于區(qū)分清音段與濁音段。En值大對應于濁音段,En值小對應于清音段。2)可用于區(qū)分濁音變?yōu)榍逡艋蚯逡糇優(yōu)闈嵋舻臅r間(根據(jù)En值的變化趨勢)。3)對高信噪比的語音信號,也可以用來區(qū)分有無語音(語音信號的開始點或終止點)。無信號(或僅有噪聲能量)時,En值很小,有語音信號時,能量顯著增大。3.1.3 短時過零率過零率可以反映信號的頻譜特性。對于連續(xù)語音信號,可以考察其時域波形通過時間軸的情況。對于離散時間信號,如果相鄰兩個樣點的正負號相異時

35、,我們稱之為“過零”,即此時信號的時間波形穿過了零電平的橫軸。由此可以計算過零數(shù),過零數(shù)就是樣本改變符號的次數(shù),統(tǒng)計單位時間內(nèi)樣點值改變符號的次數(shù)就可以得到平均過零率。短時過零分析通常用在端點檢測,特別是用來估計清音的起始位置和結(jié)束位置。短時平均過零率定義為: (3-3) 在矩形窗條件下,可以簡化為 (3-4)短時過零率可以粗略估計語音的頻譜特性。由語音的產(chǎn)生模型可知,發(fā)濁音時,聲帶振動,盡管聲道有多個共振峰,但由于聲門波引起了頻譜的高頻衰落,因此濁音能量集中于3KZ以下。而清音由于聲帶不振動,聲道的某些部位阻塞氣流產(chǎn)生類白噪聲,多數(shù)能量集中在較高頻率上。高頻率對應著高過零率,低頻率對應著低過

36、零率,那么過零率與語音的清濁音就存在著對應關(guān)系。.音頻為“電子信息”的短時過零率的波形圖如下圖3所示及程序如下:Zn=zeros(1,(LL-1)*240);for ii=2:(LL-1)*240, temp1=sign(Y(ii:ii+240); temp=sign(Y(ii-1:ii+240-1); Zn(ii)=sum(abs(temp1-temp);endfigure(3)jj=1:(LL-1)*240;plot(jj, Zn,'b'); %繪制短時過零率函數(shù)曲線xlabel('幀數(shù)');ylabel('短時過零率');title(

37、9;短時過零率');grid on;圖3 短時平均過零率分析可知:清音的短時能量較低,過零率高,濁音的短時能量較高,過零率低。清音的過零率為0.5左右,濁音的過零率為0.1左右,兩但者分布之間有相互交疊的區(qū)域,所以單純依賴于平均過零率來準確判斷清濁音是不可能的,在實際應用中往往是采用語音的多個特征參數(shù)進行綜合判決。短時過零率的應用:1)區(qū)別清音和濁音。清音的過零率高,濁音的過零率低。此外,清音和濁音的兩種過零分布都與高斯分布曲線比較吻合。2)從背景噪聲中找出語音信號。語音處理領(lǐng)域中的一個基本問題是,如何將一串連續(xù)的語音信號進行適當?shù)姆指?,以確定每個單詞語音的信號,亦即找出每個單詞的開始

38、和終止位置。3)在孤立詞的語音識別中,可利用能量和過零作為有話無話的鑒別。3.2語音信號端點檢測3.2.1基于短時能量和短時過零率的雙門限端點檢測原理雙門限法是利用短時能量和過零率的乘積進行檢測的。在基于短時能量和過零率的雙門限端點檢測算法中首先為短時能量和過零率分別確定兩個門限,一個為較低的門限,對信號的變化比較敏感,另一個是較高的門限。當?shù)烷T限被超過時,很有可能是由于很小的噪聲所引起的,未必是語音的開始,當高門限被超過并且在接下來的時間段內(nèi)一直超過低門限時,則意味著語音信號的開始。該算法的原理簡述如下:對上述兩種特征作一個統(tǒng)計估計,得到兩個門限值,利用短時能量檢測濁音,短時過零率檢測清音,

39、兩者配合從而確定語音的端點。由于采集的聲音信號中最初的短時段多為無聲或背景噪聲,這樣就可以利用已知為“靜態(tài)”的最初幾幀(一般取10幀)信號計算其過零率閥值zcr及高、低能量閥值amp2(低能量閥)和amp1 (高能量閥)。過零率公式: (3-5)計算amp2和amp1時,首先計算最初10幀信號中每幀的短時平均能量或平均幅度,最大值記為max,最小值記為min。本文在計算短時能量之前,先經(jīng)過一個濾波器,高通濾波器,此為預加重濾波器,目的在于濾除低頻干擾 ,尤其是50Hz或60Hz的工頻干擾,將對于語言識別更為有用的高頻部分的頻率進行提升,在計算短時能量之前應用該濾波器,還可以起到消除直流漂移、抑

40、制隨機噪聲和提升清音部分能量的效果。其關(guān)鍵代碼為amp=sum(abs(enframe(filter(1-0.98,1,x),FrameLen,FrameInc),2)。文中能量門限調(diào)整代碼為: amp1=min(amp1,max(amp)/4); amp2=min(amp2,max(amp)/8);根據(jù)語音信號的實際情況對門限值進行調(diào)整,以便更好的對語音端點進行檢測。其端點檢測的流程如下所述:開始進行端點檢測之前,首先為短時能量和過過零率分別確定兩個門限amp1、amp2、zcr1、zcr2, 其中amp2、zcr2分別為短時能量和過零率比較低的門限,其數(shù)值比較小,對信號的變化比較敏感,很容

41、易就會超過。另外amp1、zcr1是比較高的門限,數(shù)值比較大,信號必須達到一定的強度,該門限才可能被超過。低們限被超過未必就是語音信號的開始,有可能是時間很短的噪聲引起的。高門限被超過則可以基本確信是由于語音信號引起的。整個語音信號的端點檢測可以分為四段:靜音、過度段、語音段、結(jié)束。程序中使用一個變量status來表示當前所處的狀態(tài)。在靜音段,如果能量或過零率超越了低門限,就應該開始標記起始點,進入過渡段。在過渡段中,由于參數(shù)的數(shù)值比較小,不能確信是否處于真正的語音段,因此只要個參數(shù)的數(shù)值都回落到低門限以下,就可以確信進入語音段落。而如果在過渡段中兩個參數(shù)中的任一個超過了高門限,就可以確信進入

42、語音段了。一些突發(fā)性的噪聲也可以引起短時能量或過零率的數(shù)值很高,但是往往不能維持足夠的長的時間,如門窗的開關(guān)、物體的碰撞等引起的噪聲。這些都可以通過設定最短時間門限來判別。當前狀態(tài)處于語音時,如果兩個參數(shù)的值下降低到低門限以下,而且總的記時長度小于最短時間門限,則認為這是一段噪音,繼續(xù)掃描以后的語音數(shù)據(jù),否則就標記好結(jié)束端點,并返回。3.2.2 雙門限語音端點檢測實驗分析1、實驗環(huán)境及參數(shù)設置雙門限語音端點檢測是在MATLAB軟件環(huán)境下進行仿真實驗。文中語音信號樣本是在實驗室安靜環(huán)境下采用麥克風進行錄音,以wav格式存儲為較純凈的語音樣本。實驗所加的噪聲為偽隨機加性高斯白噪聲,實驗中對較純凈語

43、音樣本進行加噪,形成不同SNR的帶噪語音樣本,然后分別對較純凈的語音樣本和加噪后的語音樣本進行語音端點檢測,并對它們的檢測結(jié)果進行比較。在語音端點檢測之前首先要對被測的語音信號進行預處理等,包括分幀加窗等。文中加Hmmaing窗,通過特性為(1-0.94)的濾波器預加重。對其他參數(shù)進行設置,如設置語音幀長度,幀移長度,F(xiàn)FT取512,門限閥值設置等。2、性能準則在各種各樣的信號處理系統(tǒng)中,噪聲信號相對于有用信號而言,所造成的都是干擾和破壞作用,但是噪聲卻是普遍存在的。噪聲信號一般分為加性噪聲和非加性噪聲加性噪聲一般被分為沖激噪聲、周期性噪聲、寬帶噪聲、相同聲道情況下其他語音信號的干擾噪聲等等。

44、(1)高斯噪聲高斯噪聲是指概率密度函數(shù)服從高斯分布的一類噪聲。高斯分布,也稱正態(tài)分布,記為N(,),其中和為分布的參數(shù),分別為高斯分布的期望和方差特別當=0,=1時,X的分布為標準正態(tài)分布。(2)信噪比信噪比是指信號的有用成份與噪聲功率之比,稱為信號噪聲比,簡稱信噪比,常常用分貝數(shù)表示。信噪比越高表明它產(chǎn)生的雜音越少。其公式為: 其中 S、N分別表示原始信號功率與噪聲信號功率. 而波形信號計算式為: 其中I為原始語音信號,In為帶噪聲信號;p1為原始信號功率,p2為噪聲信號功率。文中采用的端點檢測通過在較純凈語音信號中加入加性高斯噪聲,然后對其進行語音端點檢測,改變信噪比值,觀察在高信噪比和低

45、信噪比條件下雙門限語音端點檢測結(jié)果,通過實驗仿真圖比較和分析噪聲對各算法語音端點檢測結(jié)果的影響。 3、分析基于短時能量和短時過零率的雙門限語音端點檢測算法是結(jié)合短時能量和過零率各自優(yōu)點來進行檢測,雙門限端點檢測圖中紅色豎線用來表示語音起點線,綠色豎線表示語音終點線,其檢測的實驗仿真圖如圖3.7所示:function snr=SNR(I,In)p1=1/length(I)*norm(I)2;p2=1/length(I)*norm(In - I)2;snr=10*log(p1/p2);end tmp1=enframe(x(l:length(x)-l),F(xiàn)rameLen,F(xiàn)ramelne);tmp2

46、=enframe(x(2:length(x),F(xiàn)rameLen,F(xiàn)ramelne);signs=(tmp1.*tmp2)<0;diffs=(tmp1-tmp2)>0.02;zcr=sum(signs.*diffs,2);圖4 “端點檢測”原始語音信號雙門限語音端點檢測波形圖 圖5 SNR=62.7下雙門限語音端點檢測波形圖圖6 SNR=22.7下雙門限語音端點檢測波形圖上圖4為較純凈的原始語音信號采用雙門限進行語音端點檢測的仿真圖,從圖中檢測結(jié)果可以看出第一和第四個語音段的起始點和終止點都很好,第二個語音段的終止點和第三個語音段的起始點被漏判,而且第四個語音段末尾又誤判成語音信號。

47、上圖5為高信噪比SNR=62.7時雙門限語音端點檢測的仿真圖,從圖中檢測結(jié)果可以觀察其檢測效果與較純凈的原始語音信號檢測效果差不多。上圖6為低信噪比條件下雙門限語音端點檢測的仿真圖,從圖中檢測結(jié)果可以看出信噪比SNR=22.7時雙門限檢測法完全無法檢測出語音信號的起始點和終止點。從以上仿真圖4、圖5和圖6可以看出傳統(tǒng)的雙門限語音端點檢測法在較純凈的語音信號和高信噪比(SNR=62.7)條件下其端點檢測效果較之低信噪比(SNR=22.7)條件下檢測效果較好。由此可見這種方法在較純語音信號和高信噪比時,能較好檢測出語音信號的端點,但是隨著信噪比的下降,其檢測結(jié)果率明顯變差,特別是在噪聲很大時,完全

48、不能檢測出語音端點,說明該檢測方法容易受噪聲影響,不適合用于大噪聲環(huán)境檢測。3.3 基于倒譜特征的語音端點檢測3.3.1倒譜特征倒譜能很好表示語音的特征,因此在大多數(shù)語音識別系統(tǒng)中選擇倒譜系數(shù)作為輸入特征矢量。在噪聲環(huán)境下短時能量與其它特征參數(shù)都不能很好地區(qū)分語音段與非語音段,因此可采用倒譜系數(shù)來作為端點檢測的參數(shù),運用倒譜特征來檢測語音端點也是目前語音識別系統(tǒng)中比較典型的方法之一。3.3.2倒譜距離設信號s(n),其倒譜變換為c(n)。信號倒譜的一種定義是信號的能量信號倒譜的一種定義是信號能量譜密度函數(shù)的對數(shù)的傅里葉反變換,或者可以將信號的倒譜看成是的傅里葉級數(shù)展開,即 (3-6)式中,為倒

49、譜系數(shù),且 = 是實數(shù),可由下式計算 (3-7) 3.3.3基于倒譜距離的端點檢測算法原理如何很好地提取語音信號聲道特性的譜包絡,并用少量參數(shù)表示出來,在語音識別、語音合成和語音編碼中都是最重要的問題。按照語音產(chǎn)生模型的理論,語音信號是由激勵信號與聲道響應相卷積產(chǎn)生的,要想提取反映聲道特性的譜包絡,就必須通過解卷積去掉激勵信號。由同態(tài)解卷積所導出的倒譜分析方法,只需十幾個倒譜系數(shù)就能相當好地描述語音信號的聲道特性,所以采用倒譜參數(shù)取代傳統(tǒng)的時域參數(shù)作為語音端點檢測的判決參量。根據(jù)Parseval定理,對于兩個不同信號和其倒譜差異的均方值可用倒譜距離表示: = (3-8) 式中為倒譜距離,和分別

50、是對應于譜密度函數(shù)和 的倒譜系數(shù)。 信號與其倒譜是一一對應的變換,因此倒譜的均方距離可以反映兩個信號(比如語音與背景噪聲)譜的區(qū)別,倒譜距離可以作為端點檢測的判決參數(shù),屬于相似距離范疇。1、倒譜系數(shù)的計算本文選用LPC倒譜特征,根據(jù)線性預測系數(shù)推出倒譜,利用了線性預測中聲道系統(tǒng)函數(shù)的最小相位特性,避免了復對數(shù)中相位卷繞的繁瑣處理。LPC倒譜特征求出的頻譜包絡能更好地重現(xiàn)譜的峰值,而且運算量小,在實時語音識別中采用LPC 倒譜作為特征向量較好。LPC倒譜特征取合適的階數(shù)(832)后可較好地表征聲道特性,但它是按實際頻率尺度的倒譜系數(shù)。LPC美爾倒譜系數(shù)算法效率較高,既考慮了聲道激勵,又兼顧人耳聽

51、覺,理論上具有一定的可行性。(1)線性預測系數(shù)LPC通過用LPC線性預測法分析語音時得到的有關(guān)語音相鄰樣值間某些相關(guān)特性的參數(shù)組。線性預測分析基于如下的基本概念,即一語音樣本值能用過去若干語音樣值的線性組合來近似估計。按在某分析幀(短時)內(nèi)實際的各語音樣本與各預測得到的樣本間差值的平方和最小準則,可以決定唯一的一組預測系數(shù),即LPC(語音短時自相關(guān)系數(shù))。(2)LPC倒譜LPC系數(shù)可用來估計語音信號的倒譜也是語音信號短時倒譜分析處理方法。線性預測分析推定的聲道模型系統(tǒng)函數(shù)為語音信號的倒譜指的是信號能量譜密度函數(shù)的對數(shù)的傅立葉變換用測量倒譜距離的方法來判斷每一幀信號是語音信號還是噪聲信號,根據(jù)每

52、一幀信號與噪聲的倒譜距離的軌跡就可以進行語音端點檢測。LPC倒譜(LPCC)由于利用了線性預測中聲道系統(tǒng)函數(shù)的最小相位特性,避免了相位卷積,數(shù)的復雜;且LPC譜的運算量小,僅是用FFT求倒譜時運算量的一半,于實時應用。在MATLAB中采用迭代算法計算LPC參數(shù)的程序如下:function lpcc=lpc2lpcc(lpc)%計算LPCCMCC倒譜參數(shù)n_lpc=8;n_lpcc=12;lpcc1=zeros(n_lpcc,1);lpcc1(1)=lpc(1);%當n<n_lpc時,采用下述算法來計算Lpcc倒譜for n=2:n_lpc lpcc1(n)=lpc(n); for l=1

53、:n-1 lpcc1(n)=lpcc1(n)+lpc(l)*lpcc1(n-l)*(n-l)/n; endendlpcc1=-lpcc1;MC=zeros(k,m);for i=1:k MC(i,m)=lpc(m); for j=(m-1):-1:1 if i=1%對于階數(shù)為1,2要特殊處理 MC(1,j)=lpcc1(j)+a*MC(1,j+1); end if i=2 MC(2,j)=(1-a2)*MC(1,j+1)+a*MC(2,j+1); end endendlpcc=MC(:,1);圖7 原始語音信號倒譜法語音端點檢測波形圖2、倒譜距離的檢測算法步驟在倒譜距離檢測的算法中,首先需計算出的每一幀的LPC系數(shù)、噪聲倒譜系數(shù)估計值等,然后由每幀信號的倒譜系數(shù)和噪聲倒譜系數(shù)估計值通過公計算出倒譜值,然后才能對語音信號進行端點檢測,其檢測算法思路如下:(1) 預處理。對 8Hz采樣信號進行預加重處理,然后分幀加窗,幀長取30msS(240個采樣點),幀移10ms,對每一幀信號加240點hamm

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論