在聲紋識別領域中,我們假設訓練資料語音由i個說話人的語音組成,其中每個說話人有j段自己不同的語音。那麼,我們定義第i個說話人的第j條語音為xij。然後,根據因子分析,我們定義xij的生成模型為:
這個模型可以看成兩個部分:等號右邊前兩項只跟說話人有關而跟說話人的具體某一條語音無關,稱為訊號部分,這描述了說話人類間的差異;等號右邊後兩項描述了同一說話人的不同語音之間的差異,稱為噪音部分。這樣,我們用了這樣兩個假想變數來描述一條語音的資料結構。
我們注意到等號右邊的中間兩項分別是乙個矩陣和乙個向量的表示形式,這便是因子分析的又一核心部分。這兩個矩陣f和g包含了各自假想變數空間中的基本因子,這些因子可以看做是各自空間的特徵向量。比如,f的每一列就相當於類間空間的特徵向量,g的每一列相當於類內空間的特徵向量。而兩個向量可以看做是分別在各自空間的特徵表示,比如hi就可以看做是xij在說話人空間中的特徵表示。在識別打分階段,如果兩條語音的hi特徵相同的似然度越大,那麼這兩條語音就更確定地屬於同乙個說話人。
容易理解,plda的模型引數乙個有4個,分別是資料均值miu,空間特徵矩陣f和g,雜訊協方差sigma。模型的訓練過程採用經典的em演算法迭代求解。為什麼用em呢?因為模型含有隱變數。
在測試階段,我們不再像lda那樣去基於consine距離來計算得分,而是去計算兩條語音是否由說話人空間中的特徵hi生成,或者由hi生成的似然程度,而不用去管類內空間的差異。在這裡,我們使用對數似然比來計算得分。如下圖所示:
公式中,如果有兩條測試語音,這兩條語音來自同一空間的假設為hs,來自不同的空間的假設為hd,那麼通過計算對數似然比,就能衡量兩條語音的相似程度。得分越高,則兩條語音屬於同一說話人的可能性越大。
由於我們只關心區分不同的說話人的類間特徵而不用去管同乙個說話人的類內特徵,所以其實沒有必要向上面一樣對類內空間g引數進行求解。於是,我們可以得到乙個簡化版本的plda,如下如:
聲紋識別調研
聲紋 voiceprint 是用電聲學儀器顯示的攜帶言語資訊的聲波頻譜。現代科學研究表明,聲紋不僅具有特定性,而且有相對穩定性的特點。成年以後,人的聲音可保持長期相對穩定不變。實驗證明,無論講話者是故意模仿他人聲音和語氣,還是耳語輕聲講話,即使模仿得惟妙惟肖,其聲紋卻始終不相同。聲紋識別的主要任務包...
d vector聲紋識別基礎
dnn訓練好後,提取每一幀語音的filterbank energy 特徵作為dnn輸入,從last hidden layer提取activations,l2正則化,然後將其累加起來,得到的向量就被稱為d vector。如果乙個人有多條enroll語音,那麼所有這些d vectors做平均,就是這個人...
聲紋識別概述(2)聲紋識別原理和過程
多看 聲紋識別技術簡介 化繁為簡的藝術,深入淺出了解聲紋識別。1 困難在哪?不同的人說話語音波形不同,但是相同的人用不同的語調或者在不同的身體狀態下說話其語音波形也不同,還有相同的人說不同的內容波形也不同 那要如何區分出是兩個不同人的語音?2 為什麼可識別?語音具備了乙個良好的性質,稱為短時平穩,在...