投入約150天。通常我們是怎樣開始項目的研究與開發?首先會先盡可能的把3年內的學術論文或比賽等SOTA都查到,然後分工閱讀找到相關的數據集和論文及相關實作;同時會找到目前已有相關產品的公司(含新創)及他們提交的專利,這部份通常再花約30天的時間;通常就是透過 Google patens、paper with codes、arxiv等等。

聲紋識別這塊在對岸查到非常多的新創公司,例如: 國音智能在我們研究開發過程就是一直被當做目標的新創公司。可以先看一下上方的DEMO影片效果;然後介紹相關實驗結果前,避免之後有人還陸續踩到我們踩過的坑;需注意的是上述很多數據集都是放在對岸像是百度雲盤等,百度是直接封鎖台灣的IP,所以你打不開是很正常的;另外像是voxcelab是切成7份,下載完再合起來也要花上不少時間,aishell、CMDS, TIMIT 比起來相對好處理就是。

簡單總結為:1. 幾種 vector 的抽取 (i-vector, d-vector, x-vector) 跟 2. 模型架構 (CNN, ResNet) 和調參,再來就是 3. 評分方式 (LDA, PLDA (Probabilistic Linear Discriminant Analysis)) 等等幾種組合;我們也使用了 kaldi 其中內附的功能,光是 kaldi 就又投入了不少時間和精力 ! 其實比起自然語言處理做聲紋識別,最小的坑莫過於雖然數據集不是很容易獲取,但是聲音是可以自行用程式加工做切割合併,然後因為場景限制,錄聲紋時的時長頗短,還得處理非註冊聲紋的處理,所以前前後後花了很多時間在將相關的數據搭配評分模式調整,也算是個大工程。

由左而右、由上而下:任意連續唸至少30秒文章做聲紋註冊,可用 M$ Azure、Google GCP、NVIDIA Nemo 做語音識別,再搭配Sincnet做聲紋跟閱讀理解

The VoxCeleb Speaker Recognition Challenge 2020 (VoxSRC-20)

聲紋識別原理:https://www.zhihu.com/question/30141460

深度學習在聲紋識別中的應用:https://yutouwd.github.io/posts/600d0d5d/ 

相關聲紋識別介紹匯整:http://xinguiz.com/category/#/声纹识别

CN-Celeb:中國明星聲紋數據集發布:https://mp.weixin.qq.com/s/f_oFRDuSAuqwbOAby07a5Q 

基於Kaldi和Pytorch,廈大語音實驗室推出聲紋識別開源工具ASV-Subtools:https://github.com/Snowdar/asv-subtools

騰訊朱雀實驗室最新研究成果入選全球安全頂會:聲音克隆風險需警惕:https://mp.weixin.qq.com/s/iGhVMy73E-bRJ6oB_4t-yQ

1. 應用場景

2. Features:

3. 鑑別方法好壞

4. 特徵擷取方法

5. 公開數據集:aishell 1, aishell 2, CMDS, TIMIT, voxcelab 1, voxcelab 2, CN-celab

常見特徵工程

GMM-JFA

iVector-based:Dehak, 2009

DNN-based

End-to-end:希望能直接輸入兩段語音來判斷是否來自同一人。

技術指標

速度:

Multi-Resolution Multi-Head Attention in Deep Speaker Embedding


AutoSpeech: Neural Architecture Search for Speaker Recognition

Robust Speaker Recognition Based on Single-Channel and Multi-Channel Speech Enhancement

VAE-based Regularization for Deep Speaker Embedding


Improving End-to-End Single-Channel Multi-Talker Speech Recognition