首頁>Club>
語音識別系統是如何摒棄人與人之間說同一句話因音色不同所導致頻率不同,從而完全將語音轉成文字內容的?
20
回覆列表
  • 1 # 奔跑的茄子v01

    裝逼開始:

    聲學引數包括:1、聲學運算(加、混合、按位運算等)2、引數變換(平移、縮放等)3、聲波閾值(適應閾值、簡單閾值等)4、聲波平滑(卷積、平均等)5、濾波(中值濾波、雙邊濾波、梯度等)6、手打好累,裝逼結束。

    總結:獲取語音資料,轉換為波形,透過運算、濾波、等手段得到成想要的波形,輸入。

  • 2 # 影片製作那些事兒

    最基本的語音模型(acoustic model)是高斯混合模型(Gaussian mixture models,GMM)。對於每一個母音或子音,用一個高斯混合分佈來描述它對應的MFCC向量的分佈。當分佈的component數足夠多時,GMM可以逼近任意分佈。對於人和人的音色不同這個事實,最簡單的應對方法就是視而不見。這樣,我們在訓練語音識別系統時,會使用許多不同人的聲音作為訓練資料。這稱為說話人無關訓練(speaker independent training,簡稱SI training)。這樣訓練出來的模型中,每個音的GMM會涵蓋所有人的特徵向量,所以在測試時,對於一個新的說話人,我們也可以期望這個GMM能夠涵蓋他的特徵向量。這就是為什麼語音識別系統對於不同的說話人都能給出恰當的識別結果。當然,SI training中模型的利用效率是比較低的——每個音的GMM都要去努力適應所有人的聲音,也就不能專注於當前說話人的特點了。於是人們發明了說話人相關訓練(speaker dependent training,簡稱SD training),即對於每個人的每個音,都訓練一個GMM來擬合數據。在測試時,對於每個說話人,使用他自己的模型來識別。由於此時使用的GMM都是專門用他的資料來訓練的,所以識別效果要比SI training的系統好得多。不過,SD training也有幾個缺陷,有一些甚至是致命的:1) 訓練時,每個說話人都要錄製大量的資料,累;2) 各個說話人的訓練資料都是獨立使用的,它們之間的共同點沒有得到發掘;3) 測試時,需要知道說話人是誰,或者再使用一個說話人識別系統識別出說話人是誰,才能據此選擇模型;4) 測試時,如果碰到訓練時沒有遇到的說話人,就跪了。實際的語音識別系統一般是透過說話人適應(speaker adaptation),把SI training和SD training的好處結合起來的。具體地說,訓練時進行的是SI training;在測試時,對輸入的特徵向量或者已經訓練好的語音模型進行變換,使二者互相適應。最簡單的變換方法,就是把輸入的特徵向量或者GMM的均值向量平移,使得GMM對這些特徵向量的似然值達到最大。比說話人適應更進一步的是說話人適應訓練(speaker adaptive training,簡稱SAT)。這是把訓練的一部分推遲到測試時再做。在測試時,先使用SI training得到的語音模型識別輸入的語音訊號,得到文字;再把這一組語音和文字加入到訓練資料中,重新訓練語音模型。當然,識別出來的文字可能是有錯誤的,但是這些錯誤造成的害處小於使用同一說話人的語音進行訓練得到的好處。說話人適應和說話人適應訓練的具體做法有很多,近年來很火的神經網路(neural networks)也被應用於其中。隨著技術的複雜化,已經很難直觀地講清楚它們為什麼會有效了,但事實上有效就是王道。

  • 中秋節和大豐收的關聯?
  • 傑德這車到底開起來怎麼樣,我只想聽車主的真實用車感受?