ASR 做的其實就是以下這件事,
$$ \Pr(\text{words|sounds}) = \frac{\Pr(\text{sounds|words})}{\Pr(\text{sounds})} $$
當中我們視 $\Pr(\text{sounds})$ 為 uniform distribution ,不管它。
\
$\Pr(\text{words})$ 由 Language Model 負責,評估產生的
transcription 之合理性 (e.g 電腦聽聲音 vs 點老天呻吟)\
$\Pr(\text{sounds|words})$ 則是 Acoustic Model, 也就是前一講中用 Viterbi 所算的 Likelihood 。
我覺得自己之前做的投影片真的蠻好的XD (自己講),因此這一講中,只會偏重在原本寫的比較簡略的 Learning Problem , Evaluation 及 Decoding Problem 僅會附上程式碼及做定義。
在能夠將聲音訊號轉為數值向量給 machine 處理後,我們要怎麼判斷這串 vector 是 mapping 到哪一段文字呢? \
在進入 continuous ASR 前,讓我們先來想一想怎麼辨識一個 word ?想法是針對這個 word 建一個 model ,給定一段聲音訊號, output 該訊號 map 到此
word 的機率為多少。
上一回介紹了 LPC ,來做為我們抽取 feature 的一個方法,今天要來談談目前最常被使用的 feature - MFCC 。
語音辨識的基本架構中,第一步便是要把聲音訊號轉成可被紀錄的數位形式以供 machine 處理。科學家們從人類究竟是如何發出特定聲音作為出發點,去找出訊號當中哪些是屬於那個聲音 unique 的 feature,並移除那些無關的資訊 (e.g noise) ,並利用這些 extract 出來的 feature 來作為辨識的基本元素。
隨著變成菸酒生的日子逐漸逼近,最近開始重追尤達大師數位語音的連載,希望在進 Speech Lab 之前,將這些知識掌握地更加純熟,這個系列主要會雜揉以前在台大所修的 數位語音處理概論 以及在 KTH 所修的 Speech and Speaker Recognition 之相關內容。