語音識別基礎


首先我們要知道語音的產生過程

由肺產生向外的氣流,完全放松時聲帶張開,就是平時的呼吸。如果聲帶一張一合(振動)形成周期性的脈沖氣流。這個脈沖氣流的周期稱之為——基音周期(題主所言因音色不同導致的頻率不同,事實上音色的大多是泛頻上的差異,建立在基頻之上,這個基頻就是基音周期了,泛頻可以忽略)。當然啦,這只是在發濁音(b,d,v...)時才會有,當發出清音(p,t,f...)時聲帶不振動,但是會處於緊綳狀態,當氣流涌出時會在聲帶產生湍流。清音和濁音是音素的兩大類。接下來脈沖氣流/湍流到達聲道,由聲道對氣流進行調制,形成不同的音素。多個音素組成一個音節(就漢語而言是[聲母]+韻母)。如果沒學過信號系統那就想像一下平舌音和翹舌音,z和zh發聲時肺和喉的狀態都一樣,只是舌頭動作不一樣,發出的聲音也就不一樣了,這就算是簡單的調制。從而聲音的波形會發生一些變化。這個波形,就是以后分析所需要的數據。

作者:索瑞

頻譜包絡 Spectral envelope

頻譜包絡是將不同頻率的振幅最高點連結起來形成的曲線,就叫頻譜包絡線。頻譜是許多不同頻率的集合,形成一個很寬的頻率范圍,不同的頻率其振幅可能不同。計算頻譜包絡的方法也有很多,包括頻譜幀的低通濾波法,或計算時域包絡使用的RMS時窗分析法。

只有周期信號的頻譜有包絡線,這是因為周期信號的頻譜是離散的,而非周期信號沒有包絡線,這是因為非周期信號的頻譜是連續的。

包絡

在數學上,“包絡”(envelope)是指一系列的直線(或曲線)包圍出一個形狀的情形。例如直線組成一個圈,然而實際上我們並沒有“畫”這個圓,這時就把這個圓稱作是包絡線。

語音頻譜包絡

語音頻譜包絡,即spectrum-envelope of voice。語音是一個復雜的多頻信號,各個頻率成分具有不同的幅度。將它們按頻率的大小加以排列時,其頂端所練成的曲線,成為語音頻譜包絡。包絡線的形狀是隨所發的聲音而變化的。聲帶振動產生的聲波通過由口腔、鼻腔等構成的聲道時將產生共振。共振的結果會使頻譜的某些區域得到加強。因此,頻譜包絡線的形狀因人而異。但一般說來,它具有若干個峰和谷。其中,前三個共振峰包含語言的大部分信息,它們的頻率和幅度隨所發的聲音而變化。
語音頻譜包絡與語音信號的語義信息和個性信息都密切相關。提取語音頻譜包絡即是從語音頻譜中分離出諧振包絡曲線,即聲道系統傳遞函數。該聲道系統傳遞函數可通過通過倒譜系數、共振峰頻率或者LPC系數等參數進行表示,這些參數在語音編碼、語音識別、語音轉換和語音合成等領域都有重要的作用。

提取方法

  • 時域提取方法
  • 頻域提取方法
  • 子帶划分提取方法

聲波的時域曲線

時域曲線是有正有負的曲線,就像聲帶的震動、像彈簧的震動,y軸表示的是相對於0位置的偏移量,所以有負值很正常。

一般來說,每一個音節會對應着一個三角形,因為一般地每個音節含有一個元音,而元音比輔音聽起來響亮。但例外也是有的,比如:1) 像/s/這樣的音,持續時間比較長,也會形成一個三角形;2) 爆破音(尤其是送氣爆破音,如/p/)可能會在瞬時聚集大量能量,在波形的包絡上就體現為一個脈沖。

音不是一個單獨的頻率,而是由許多頻率的簡諧振動疊加而成的。第一個峰叫基音,其余的峰叫泛音。第一個峰的頻率(也是相鄰峰的間隔)叫作基頻(fundamental frequency),也叫音高(pitch),常記作。有時說“一個音的頻率”,就是特指基頻。基頻的倒數叫基音周期。你再看看上面元音/æ/的波形的周期,大約是0.009 s,跟基頻108 Hz吻合。頻譜上每個峰的高度是不一樣的,這些峰的高度之比決定了音色(timbre)。不過對於語音來說,一般沒有必要精確地描寫每個峰的高度,而是用“共振峰”(formant)來描述音色。共振峰指的是包絡的峰。在我這個圖中,忽略精細結構,可以看到0~1000 Hz形成一個比較寬的峰,1800 Hz附近形成一個比較窄的峰。共振峰的頻率一般用、等等來表示。
作者:王贇 Maigo

表示聲音的三種圖象

  • 頻譜圖
  • 時譜圖
  • 語譜圖
    語譜圖是一個三維圖,第三維數值可以用顏色的深淺來表示,橫軸表示時間,縱軸表示頻率,Z軸表示當前時間當前頻率上的能量。語譜圖又叫時頻域圖,因為它綜合了時譜圖和頻譜圖。

與其它方向的聯系

語音是一維時域信號,圖像是二維空域信號。
語音處理一維序列,圖像處理二維序列。
語音識別之后得到的是拼音,這就跟輸入法有點像了。

語音識別與圖像識別的區別:1)語音識別分很多種:命令識別,離散/連續語音識別,特定人/非特定人+離散/連續+語音識別2)命令、離散識別,有些方法 跟 圖像識別 還有些像,連續語音識別差得就很多了連續語音識別常用識別方法:GMM/DNN/CNN+HMM,HMM用來處理時間維度上的關系,GMM/DNN/CNN用來做聲學建模,解碼還需要用到語言模型(Language Model);非特定人,跟transfer learning還有點關系。總之:語音識別要比圖像識別復雜得多,圖像識別的基本套路就是“特征提取+訓練分類器(神經網絡把這倆統一了)”,語音識別還需要處理時間維度上信息的變化。寫了這么多,才發現你是做語音的。。。那我再說點圖像吧:圖像的特征提取有SIFT、HOG、Fisher kernel等基本是手動設置提取方式,,然后輸入到分類器來訓練分類器參數;神經網絡一類的算法(Deep learning)把特征提取與分類器放在一個模型里統一特征提取+分類器,特征提取不再是手動設定,而是學習得到(可以一想象下,CNN的卷積操作)。如果做個類比的話:語音識別≈圖像標注(image labeling≈detection+classification).

最基本的語音模型(acoustic model)

是高斯混合模型(Gaussian mixture models,GMM)。對於每一個元音或輔音,用一個高斯混合分布來描述它對應的MFCC向量的分布。當分布的component數足夠多時,GMM可以逼近任意分布。

MFCC原理

作者:王贇 Maigo
鏈接:https://www.zhihu.com/question/27268668/answer/38253151
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

  1. Take the Fourier transform of (a windowed excerpt of) a signal.這一步其實說了兩件事:一是把語音信號分幀,二是對每幀做傅里葉變換。要分幀是因為語音信號是快速變化的,而傅里葉變換適用於分析平穩的信號。在語音識別中,一般把幀長取為20~50ms,這樣一幀內既有足夠多的周期,又不會變化太劇烈。每幀信號通常要與一個平滑的窗函數相乘,讓幀兩端平滑地衰減到零,這樣可以降低傅里葉變換后旁瓣的強度,取得更高質量的頻譜。幀和幀之間的時間差(稱為“幀移”)常常取為10ms,這樣幀與幀之間會有重疊,否則,由於幀與幀連接處的信號會因為加窗而被弱化,這部分的信息就丟失了。傅里葉變換是逐幀進行的,為的是取得每一幀的頻譜。一般只保留幅度譜,丟棄相位譜。
  2. Map the powers of the spectrum obtained above onto the mel scale, using triangular overlapping windows.這一步做的事情,是把頻譜與下圖中每個三角形相乘並積分,求出頻譜在每一個三角形下的能量。
    這一步有如下幾個效果:這一步有如下幾個效果:1) 傅里葉變換得到的序列很長(一般為幾百到幾千個點),把它變換成每個三角形下的能量,可以減少數據量(一般取40個三角形);2) 頻譜有包絡和精細結構,分別對應音色與音高。對於語音識別來講,音色是主要的有用信息,音高一般沒有用。在每個三角形內積分,就可以消除精細結構,只保留音色的信息。當然,對於有聲調的語言來說,音高也是有用的,所以在MFCC特征之外,還會使用其它特征刻畫音高。3) 三角形是低頻密、高頻疏的,這可以模仿人耳在低頻處分辨率高的特性。
  3. Take the logs of the powers at each of the mel frequencies.這一步就是取上一步結果的對數。簡單點理解,它是對縱軸的放縮,可以放大低能量處的能量差異;更深層次地,這是在模仿倒譜(cepstrum)的計算步驟。倒譜又是另一個話題,此處不展開講了。
  4. Take the discrete cosine transform of the list of mel log powers, as if it were a signal.求倒譜時這一步仍然用的是傅里葉變換。計算MFCC時使用的離散余弦變換(discrete cosine transform,DCT)是傅里葉變換的一個變種,好處是結果是實數,沒有虛部。DCT還有一個特點是,對於一般的語音信號,這一步的結果的前幾個系數特別大,后面的系數比較小,可以忽略。上面說了一般取40個三角形,所以DCT的結果也是40個點;實際中,一般僅保留前1220個,這就進一步壓縮了數據。上面整個過程的結果,就把一幀語音信號用一個1220維向量簡潔地表示了出來;一整段語音信號,就被表示為這種向量的一個序列。語音識別中下面要做的事情,就是對這些向量及它們的序列進行建模了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM