1. 程式人生 > >小白聲紋識別(說話人識別)探索

小白聲紋識別(說話人識別)探索


序言:作為一名完全的聲紋識別小白,剛開始接觸,毫無頭緒,都不知道從何入手,在蒐集了一些資料,看過一些學習視訊,論文之後,記錄一下自己的摸索過程,同時將一些目前網路上的資源進行彙總。目前的我確實學習還是非常淺,如果有一些理解錯誤,會進行改正。


一、演算法縱覽

搞懂聲紋識別演算法整個的發展過程,才有利於進一步改進。瞭解了各種方法,才能選出最適合資料的演算法。看論文時也會減輕很多壓力。所以首先記錄一下我瞭解的一些演算法發展流程:

1. 最早的GMM-UBM i-vector

利用GMM高斯混合模型提取特徵i-vector;克服訓練資料不多的情況,引入UBM;將語音分為說話人空間和環境空間,解決環境帶來的通道,PLDA實現通道補償,將提取的i-vector更加純粹。

當然,獲取i-vector的方法不僅僅侷限在高斯混合模型,利用一起其它的機器學習方法進行補充一樣可以,甚至是DNN提取的特徵。

2. DNN入場

DNN的引入極大的降低了識別錯誤率。這時候的演算法,可以稱為embedding演算法,依然是提取特徵,不過這時候提取的是神經網路最後隱藏層的啟用單元了,作為embedding,代替i-vector來作為一段語音的特徵表示。

這時候出現了d-vector(深度神經網路最後一個隱藏層作為embeddings特徵)、x-vector(從TDNN網路中提取embeddings特徵)、j-vector模型(適用於文字相關說話人確認)

3. 端到端系統

無論是獲得i-vector,還是DNN提取出的embedding,都是從語音中提取出特徵再做分類或者確認。而端到端系統將這2段合到一個系統中,從輸入到輸出,一體化特徵訓練和分類打分。這和之前有了重大的不同。

目前我只看了百度論文《Deep Speaker:an End-to-End Neural Speaker Embeddin》中的的 Deep Sperker 端到端模型

二、資源彙總

1. 網上學習資料

知乎一篇科普文:AI老司機帶你認識聲音黑科技:聲紋識別。可以最快的瞭解下聲紋識別

百度技術學院語音技術視訊:語音技術實戰介紹 。 從語音技術整個體系看一下聲紋識別

李博士的知乎專欄:聲紋識別的應用實踐。全!寫的真的是全!

知乎聲紋識別大佬:Leon晉。看了他很多回答,很有益

同盾大學視訊:聲紋識別訓練營1 + 聲紋識別訓練營2

2. 目前使用論文學習及講解

- 關於d-vector:

《Deep Neural Network Embeddings for Text-Independent Speaker Verification》

《ROBUST DNN EMBEDDINGS FOR SPEAKER RECOGNITION》

- 關於端到端系統 Deep Speaker:

《Deep Speaker: an End-to-End Neural Speaker Embedding System》

3. 開源資源整理

- d-vector:

https://github.com/rajathkmp/speaker-verification

https://github.com/wangleiai/dVectorSpeakerRecognition

- E2E,Deep Speaker:

tensorflow實現:https://github.com/philipperemy/deep-speaker

pytorch實現:https://github.com/qqueing/DeepSpeaker-pytorch


未完待續。。。。。。資源進一步整理吧

、、、、