目前語音識別技術能否很好地識別音色的不同?能簡單說說如何實現嗎?

時間 2021-06-04 04:36:58

1樓:王贇 Maigo

題主說的識別音色的技術,術語叫做「說話人識別」(speaker recognition),因為音色差別的最典型體現就是不同人說話的音色不同。「說話人識別」與「語音識別」不是同一項技術,前者是識別說話人的身份,而後者是識別語音的內容。

2023年以前流行的說話人識別技術,是把每乙個說話人建模成乙個高斯混合模型(GMM)。取乙個人的所有訓練語音,分幀提取MFCC向量,並把這些向量擬合成乙個多維GMM,這就是說話人模型了。在測試時,提取測試語音的MFCC向量,並計算它們在各個說話人模型下的似然值,取最大者。

上面的技術有兩點缺陷:一是每個人的訓練資料量可能不夠;二是計算GMM似然值比較慢(因為需要計算GMM的每個分量)。解決這兩個問題的方法是:

先利用所有人的語音訓練乙個大的GMM,稱為universal background model(UBM),然後用每個人的訓練語音來修改(adapt)這個UBM以得到每個人的模型。在這個過程中,訓練資料量大的GMM分量被修改的幅度就較大,訓練資料量小的GMM分量就接近於UBM中的分量,解決了問題一。同時,每個GMM的各個分量都是與UBM的各個分量一一對應的。

在計算似然值的時候,可以先計算UBM的似然值,挑出對結果貢獻最大的幾個分量,然後對於每個說話人模型,只累加這幾個分量的貢獻,以此提高效率。

上述GMM-UBM模型是乙個generative model。在實際中,人們發現discriminative model往往效果更好。於是就有了下面的做法:

對每條訓練語音(而不是每個人的所有訓練語音)用GMM-UBM方法計算得到乙個GMM,再把這個GMM各分量均值拿出來,串成乙個非常長的向量,稱為supervector。例如,如果每個GMM有1000個分量,MFCC取20個係數,那麼supervector就是20000維的。用這些supervector作為資料,說話人身份作為標籤,可以訓練支援向量機(SVM),作為discriminative model的SVM的效果,要好於GMM-UBM模型。

supervector維數太高,訓練比較慢。人們常用有監督的降維方法來降低supervector的維數。2011~2023年左右,joint factor analysis(JFA)是比較流行的方法;2023年以後,則逐漸被更簡潔的i-vector所取代。

最近幾年,隨著神經網路的流行,人們也開始用神經網路取代SVM了。

語音識別,人臉識別 這種技術有啥意義呢?

dengyajun 現在這個社會有很多場景都需要對我們單獨的個體身份進行識別,以便更準確有效的辦理事務,而且社會的發展也越來越不會讓人渾水摸魚。而語音識別 人臉識別是從指紋識別這種接觸式識別公升級到更高階的非接觸生物識別,讓你在進行身份識別的過程中有愉快的體驗。首先,世界上和你的臉長的像 聲音也很像...

語音識別的技術原理是什麼?

李紹榆 在開始語音識別之前,有時需要把首尾端的靜音切除,降低對後續步驟造成的干擾。技術原理,這個靜音切除的操作一般稱為VAD,需要用到訊號處理的一些技術。要對聲音進行分析,需要對聲音分幀。 利爾達 語音識別系統構建過程整體上包括兩大部分 訓練和識別。訓練是指對預先收集好的語音進行訊號處理和知識挖掘,...

多語言混合語音識別的技術難點有哪些?

瑪格麗特Summer 本來想在知乎搜尋 混合語言語音識別技術 的解答,發現有關內容太少了。看到這個問題,基於我目前遇到的問題順便回答一下吧。以下是我個人觀點,如有問題請各位專業人士指正啦。難點1.不同語言的音素集合存在差異,尤其是不同語系,差異更大,比如中文和英文。如果想要支援多語言,在訓練聲學模型...