基於GMM的語音識別python實現

2021-09-01 06:32:27 字數 776 閱讀 5664

用錄音寶錄下3到5個人的譜音每乙個,每個人10s到20s,建立gmm聲紋識別模板,設定場景–聲紋模板內的所有人交替討論乙個話題,大約2分鐘,用gmm模型分割識別講話人的身份。並統計時間。

思路:通過提取音訊原本的語音特徵形成乙個集(聚類)以後,對後來的資料進行概率判斷,類似於之前的大作業使用的annoy庫中kmeans實現,kmeans利用的是距離,而gmm這裡使用的是概率,前者中的k和gmm中ncomponent也是類似的。

程式流程如下圖所示:

程式結果:

在sapmle資料夾中放入樣本檔案,修改main 中的files對應的檔名和對應的name(上一行), 並且在資料夾下 放入被測試檔案,修改betestfile檔案,就可以執行了

總結:在這個實驗過程中,訓練的時間佔比並不是很大,佔大頭的是gmm 的打分過程,這個過程中,需要對每一段音訊,都分別打分並比較,是乙個o(n2)的過程,這個過程應該可以進行優化形成log(n)的比較過程,思路與annoy建樹類似,通過對產生的gmm模型進行聚類,然後輸入被測試資料的gmm,進行比較。

在測試的過程中,發現錄音的環境還是很重要的,其中有兩個錄音樣本的質量不好,導致判別出錯。乙個錄音樣本,離麥克風比較遠,聲音比較小,另乙個就是第乙個測試結果出錯的那個樣本,環境音很雜。

有點不足的地方:這次的實驗樣本有點少,並不能充分的說明程式的正確性。

歡迎star/拍磚

基於語音的情緒識別系統(Python)

源 連線 emotion recognition using speech 原鏈結是給的原始的版本,我在 win10 上執行會報錯,比如下邊的的 pyauto 無法安裝的問題。我已經將相應的安裝包上傳到 gitee 上了。碼雲位址 語音情緒識別 在 emotion recognition using...

GMM混合高斯模型的EM演算法及Python實現

1.演算法理論p x kk 1 kn x k k n x k k 1 2 d k exp 12 xi k t 1k xi k kk 1 k 1 用極大似然法處理問題 輸入 i 1 n 最小化 e k,k,k ni 1 log p xi ni 1l og kk 1 1 2 d k e xp 12 x ...

基於語音識別的提醒鬧鐘專案總結

周老師叫我做乙個語音識別的提醒小鬧鐘,功能很簡單 要有qq登入,說出幾點提醒我幹什麼這句話,分離出時間和事件,設定鬧鐘提醒。同時 qq號,提醒時間,提醒事件 要上傳到伺服器的資料庫裡。功能不難,但是學了不少東西,也做了3週多。有幾點需要記錄 1 新增.so檔案時候,必須在build.gradle裡的...