国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于聚類分析與說話人識別的語音跟蹤

2020-04-23 11:18:34王俊影
計算機與現(xiàn)代化 2020年4期
關(guān)鍵詞:語譜時頻質(zhì)心

郝 敏,劉 航,李 揚,簡 單,王俊影

(廣東工業(yè)大學機電工程學院,廣東 廣州 510006)

0 引 言

現(xiàn)階段,語音交互技術(shù)例如語音合成、自動語音識別等在現(xiàn)實生活中得到了廣泛的應用,但在真實環(huán)境下會伴隨著如背景噪聲、多個說話人聲及混響等相關(guān)干擾因素,降低了說話人語音的聽感和可懂度,從而影響語音交互的實際效果。而語音跟蹤技術(shù),可解決從多個說話人干擾或者其他背景噪聲中獲得高保真、高純凈的目標說話人語音信號的問題[1]。

在公安刑偵監(jiān)聽領(lǐng)域,經(jīng)常需要將多個說話人的語音進行分離。由于刑偵監(jiān)聽的特殊性,多個說話人的語音信號將由同一拾音器收錄,因此無法通過多個不同方向的麥克風進行語音分離。另外,在刑偵監(jiān)聽過程中,輸入音頻中同一時間點說話的人數(shù)具有不確定性。

到目前為止已出現(xiàn)許多有價值的語音分離方法,大體可以分為3類:信號處理的方法[2]、基于計算聽覺場景分析的方法[3]和統(tǒng)計建模方法。其中統(tǒng)計建模類方法根據(jù)模型的深淺,可分為淺層模型和深層模型,值得關(guān)注的是,這3類語音分離方法僅依據(jù)領(lǐng)域與定義進行劃分,并不進行嚴格區(qū)分,許多高質(zhì)量的語音分離方法往往對這3類方法均有涉及。

2018年電子科技大學王義圓等人[4]采用麥克風陣列技術(shù),通過多個麥克風陣列組合對多個目標說話人的位置信息進行對準與捕捉。但是,多麥克風系統(tǒng)會衍生出更多潛在的問題,如多麥克風的非線性組合以及配置平穩(wěn)性問題。

2018年臺灣信息技術(shù)創(chuàng)新研究中心以視覺信息作為輔助信息[5]來增強語音分離與跟蹤系統(tǒng)的性能,然而這種方法同時需要語音和視覺信息,且實際應用中語音和圖像可能存在延時問題導致無法適配。

2018年日本NTT信息實驗室通過采用有效位編碼向量[6-7]或者目標說話人語音信息作為語音分離系統(tǒng)的額外輸入,此類方法不僅不是嚴格意義上的語音跟蹤,且無法實現(xiàn)端到端的語音跟蹤,與單獨的語音跟蹤算法相比,由于引入了目標說話人身份信息作為輸入,導致訓練以及測試的時間復雜度過高。

針對現(xiàn)有技術(shù)存在的問題,本文提出一種語音跟蹤方法[1,8-9]。這種方法以單聲道語音輸入為主,面向說話人無關(guān)的語音分離問題,提供基于深度聚類(Deep Clustering)的語音分離方法,并對Deep Clustering的實時性以及損失函數(shù)進行優(yōu)化。另外,本文在語音分離的基礎(chǔ)上,提供基于說話人識別(GMM-UBM)的語音跟蹤方法。

1 整體框架

基于聚類分析與說話人識別的語音跟蹤方法,按照流程順序包含5個處理步驟:語音預處理、端點檢測、說話人語音分離、特征提取和說話人語音跟蹤模型匹配,具體流程如圖1所示。

圖1 本文算法流程

1.1 語音預處理

語音預處理包含音頻采樣、量化、預加重、分幀加窗和短時傅里葉變換,文獻[5-6]對其進行了詳細的說明。

1.2 端點檢測

端點檢測[10-12]的目的是為了確定語音片段中說話人語音的開始與結(jié)束的時刻點,測試表明,人在正常談話時,有50%左右的語音片段是空語音段,因此去除空語音段可以使有效的語音信號和無用的空語音段得以分離,減少算法后續(xù)運算量,可以極大地提高語音應用的實時性,同時增強語音分離的效果。

1.3 語音分離與跟蹤的效果評價

根據(jù)BSS-EVAL客觀評價準則[13],本文測量3個定量值:信偽比(Signal to Artifact Ratio, SAR)、信干比(Signal to Interference Ratio, SIR)、信失比(Signal to Distortion Ratio, SDR)。三者的數(shù)值越大,語音的綜合分離效果越好。

2 多個說話人語音分離

多個說話人語音分離是雞尾酒會問題中比較難的分支,特指所有信號由同一麥克風收錄,因此無法通過多個不同方向的麥克風解決雞尾酒會問題。多個說話人語音分離的設(shè)定也有很多種,簡而言之,就是從多個說話人同時發(fā)聲的一段音頻中,將不同的說話人區(qū)分開,以便對其中的某個語音內(nèi)容進行識別。

2.1 基于LSTM與聚類分析的說話人語音分離

采用時頻掩蔽的深度學習方法對于有監(jiān)督學習分離質(zhì)量通常較好,但在說話人未知的情況下,分離質(zhì)量會比較差。

本文采用了說話人無關(guān)的深度聚類[14]方法將說話人進行分離,將輸入中每個時頻單元采用長短期記憶網(wǎng)絡(LSTM)映射到K維嵌入向量的特征空間(embedding space),使屬于同一說話人或說話聲音相似的人的時頻單元距離減小從而可聚集一起,即可訓練出一個有區(qū)分度的K維embedding space,具體算法流程如圖2所示。

圖2 深度聚類算法流程

2.1.1 訓練階段

首先在訓練階段,采用雙向長短期記憶網(wǎng)絡(Bi-directional LSTM, BLSTM)結(jié)構(gòu)。

設(shè)X∈F×T為C個說話人Sc∈F×T混合的幅度譜,c=1,…,C,T和F分別表示信號的幀和頻率,BLSTM結(jié)構(gòu)通過函數(shù)表示為式(1):

(1)

(2)

其中,di=YYT,N表示常量。在訓練的時候為了去除噪聲段和靜默區(qū),需要采用端點檢測方法,小于設(shè)置的端點檢測閾值時頻帶在訓練階段被剔除。公式(2)可保證從一個訓練樣本到下一個訓練樣本中類別標簽的數(shù)量和排列保持不變,且使得同一說話人占主導地位的時頻單元之間距離最小,而不同的說話人時頻單元的距離最大,即可實現(xiàn)說話人分離。

2.1.2 測試階段

在測試階段采用K-means算法將經(jīng)過時頻轉(zhuǎn)換的時頻點映射到K維的embedding space聚類,聚類屬于無監(jiān)督學習,聚類的目的是找到每個樣本x潛在的類別y,并將同類別y的樣本與x放在一起。K-means設(shè)計目的是使各個樣本與所在簇的質(zhì)心的均值的誤差平方和(Sum of the Squared Error, SSE)達到最小,即是評價K-means算法最后聚類效果的標準,計算公式如下:

(3)

其中,K-means將SSE作為算法優(yōu)化的目標,具體過程可概括為如下5個步驟:

1)創(chuàng)建k個點作為k個簇的起始質(zhì)心,本文根據(jù)測試環(huán)境實際說話人數(shù)來選取。

2)分別計算剩下的元素到k個簇中心的相異度(距離),將這些元素分別規(guī)劃到相異度最低的簇,在語音中具體對應功率譜的時頻單元。

3)根據(jù)聚類結(jié)果,重新計算k個簇心各自的中心,計算方法即取簇中所有元素各自維度的算術(shù)平均值。

4)將元素重新按照新的質(zhì)心重新聚類。

5)重復步驟3和步驟4,直到結(jié)果收斂并輸出聚類結(jié)果集。

2.2 多個說話人語音分離模型改進

2.2.1 低延遲

當多個說話人語音分離的模型嵌入到助聽器或者人工耳蝸植入等應用設(shè)備時,降低延遲處理對于用戶體驗來說極為重要,據(jù)Agnew等人[15]的研究表明,當延遲在3~5 ms時用戶是可以感知到的,當超過10 ms時體驗感就變差。因此,在上述的深度聚類模型中主要考慮3個問題:

1)基于前后時序依賴的BLSTM等深層神經(jīng)網(wǎng)絡結(jié)構(gòu)的時間復雜度過高,無法適用于低延遲應用。

2)基于快速傅里葉變換的信號處理系統(tǒng),一大部分時間用于語音信號的時頻分解,因此窗函數(shù)的幀長取值(一般為20~40 ms)需要根據(jù)延遲占比做調(diào)整。

3)采用聚類K-means算法在確定質(zhì)心過程中時間過長,考慮固定一個時間段T確定質(zhì)心,緩存質(zhì)心的坐標,剩余的時頻點根據(jù)緩存的質(zhì)心計算2點之間的距離,從而確定類別,使K-means算法時長縮短。參數(shù)比較如表1所示。

表1 深度聚類傳統(tǒng)版與低延遲版模型參數(shù)

2.2.2 損失函數(shù)優(yōu)化

基于深度聚類的語音分離方法分離質(zhì)量很大一部分在于經(jīng)深度神經(jīng)網(wǎng)絡映射的高維特征空間能否具有很好的區(qū)分性,以分辨不同的說話人語音特征點。若存在一種較優(yōu)的距離度量方法便能使混合語音的頻譜更容易在映射的高維特征空間分類,引入正則項則是較優(yōu)的方法。正則化是對學習算法的修改,旨在減少泛化誤差而不是訓練誤差,可通過式(4)表示:

(4)

其中,V和I分別表示特征空間矩陣和單位矩陣,‖·‖F(xiàn)表示矩陣的范數(shù),VVT∈K×K,將特征空間矩陣的對角線元素強制為1,而非對角元素強制為0,使特征空間矩陣正交化,將式(4)進行化簡可得式(5):

(5)

因此結(jié)合深度聚類的損失函數(shù)的總損失函數(shù)可用如下公式表示:

(6)

基于特征空間懲罰系數(shù)的正則化經(jīng)過訓練后可以得到一種泛化能力更強的特征空間。

3 GMM-UBM說話人識別模型

基于GMM-UBM的語音跟蹤模型具體的處理流程如下:

1)在聲紋識別注冊階段,對預分離的語音片段中包含的說話人進行語音錄制并導入語音庫中,打上姓名標簽,擴大訓練數(shù)據(jù)量[16]。

2)對語音庫中每個姓名標簽下的語音記錄進行信號預處理,操作包括預加重、分幀加窗以及端點檢測。

3)提取說話人的美爾頻率倒譜系數(shù)(MFCC)參數(shù)以及MFCC的一階偏導、二階偏導,并將這3個特征按比例進行組合,組成GMM-UBM模型的輸入[17]。

4)對每個說話人模型的潛在變量進行估計,采用EM算法,構(gòu)建聲紋識別模型。

5)對預分離的語音片段也按步驟2處理,再轉(zhuǎn)化為功率譜,作為說話人語音分離模型的輸入。

6)經(jīng)過說話人語音分離模型得到多個說話人的語音的時頻掩蔽,并通過混合信號與時頻掩蔽做內(nèi)積運算得到多個說話人語音功率譜。

7)對多個說話人語音波形進行預處理,再按步驟3處理,得到GMM-UBM模型的測試輸入。

8)將步驟7中的結(jié)果輸入到構(gòu)建的聲紋識別模型中進行打分決策。

9)按照系統(tǒng)的輸入,經(jīng)處理后輸出分離的說話人語音。

3.1 構(gòu)建GMM-UBM說話人模型

(7)

然后考慮求模型參數(shù)λ的極大似然估計,經(jīng)過log函數(shù)轉(zhuǎn)化為式(8):

(8)

一般用期望最大化算法(Expectation Maximization, EM)對GMM模型參數(shù)進行估計。

3.2 基于EM算法的參數(shù)估計

EM算法是由文獻[19-20]提出的可迭代收斂算法,其思想是利用杰森不等式找到當前λ的L(λ|X)的最新下界,然后更新模型參數(shù)λ使L(λ|X)不斷逼近極大值的過程。為此引入輔助函數(shù)Q,Q函數(shù)定義如下:

Q(λ,λj)=Ei[logP(X,Zij|λ)|X,λj]

(9)

其中,Q函數(shù)與L(λ|X)具有相同的增減性,為使L(λ|X)盡可能增大,可化簡λ的表達式如下:

(10)

式(10)即為EM算法的原型。

3.3 說話人自適應MAP

在采用EM算法訓練獲取到一個穩(wěn)定的說話人無關(guān)UBM模型后,接著采用最大后驗準則(Maximum A Posteriori, MAP)[21]將UBM與目標說話人語音特征混合計算,生成關(guān)于目標說話人的GMM。假設(shè)給定目標的語音特征向量X=(x1,x2,…,xT),說話人自適應具體步驟如下:

1)計算目標語音特征向量中的每個向量在第i個高斯分布條件下的概率,可得:

(11)

2)首先根據(jù)步驟1的處理結(jié)果,求得說話人目標的權(quán)重系數(shù)、均值以及方差:

(12)

(13)

(14)

然后根據(jù)上述的說話人目標的權(quán)重系數(shù)、均值以及方差更新說話人的GMM模型:

(15)

(16)

(17)

(18)

其中,τ為一個經(jīng)驗值,表示UBM模型與說話人GMM模型的關(guān)聯(lián)程度,本文取值為16。

3.4 目標說話人辨認

在說話人確認階段,根據(jù)上述的說話人特征自適應獲取到目標說話人的GMM,采用最大后驗概率對目標說話人進行辨認,其公式如下:

(19)

(20)

4 實驗設(shè)計與結(jié)果分析

本實驗的操作系統(tǒng)環(huán)境為Ubuntu14.04,使用Python2.7以及Tensorflow1.1-gpu進行編程,實驗部分采用TIMIT語料庫作為實驗數(shù)據(jù)集,TIMIT包含男聲與女聲在內(nèi)的630個英文wav錄音文件,其中每個人說10個給定的句子,說話時長平均為3~4 s,即短時語音。語音的采樣率為16 kHz,而低延遲版的語音采樣率為提升實時性,舍棄了部分采樣的信息,降低采樣率為8 kHz,窗函數(shù)為漢明窗,采樣點數(shù)(FFT)為256,有效采樣點數(shù)為129,每個點對應不同的頻率值。

4.1 深度聚類多說話人語音分離實驗

在深度聚類的多個說話人語音分離實驗中,訓練數(shù)據(jù)集隨機地由363個不同的說話人中抽取2個說話人進行組合。驗證數(shù)據(jù)集由不同于訓練集的77個不同的說話人隨機混合組成,測試環(huán)境的說話人與訓練環(huán)境的說話人完全不同。為了防止過擬合,通過監(jiān)控驗證集,當在驗證集進行訓練的損失值不再下降時,便停止訓練。語譜圖上的端點檢測(VAD)閾值設(shè)置為40 dB,排除額外的噪聲和空語音時頻點,減少深度聚類模型訓練中不必要的計算量。

為了檢驗本文提出的基于深度聚類對多個說話人語音分離的效果,本節(jié)實驗部分在神經(jīng)網(wǎng)絡結(jié)構(gòu)以及不同的損失函數(shù)下,比較了多個說話人語音分離模型的分離性能,所有的神經(jīng)網(wǎng)絡層數(shù)均為3層,600個隱藏神經(jīng)單元與上述的采用深度聚類的方法保持一致,且輸入的數(shù)據(jù)均為同一訓練集。主要對比分析前饋神經(jīng)網(wǎng)絡、LSTM以及不同的損失函數(shù)下的雙說話人語音分離。

圖3和圖4為采用前饋神經(jīng)網(wǎng)絡訓練,并以理想時頻掩蔽做為計算目標,預訓練100次的語譜圖對比。

圖3 說話人語譜圖1

圖4 FNN分離的說話人語譜圖

圖3表示未分離的語譜圖,圖4表示使用前饋神經(jīng)網(wǎng)絡(FNN)分離出來的語譜圖。2幅圖形狀存在相似性,均無法有效地形成說話人頻帶,存在很多的噪點。

圖5和圖6為采用LSTM進行訓練,并以理想時頻掩蔽作為計算目標,預訓練100次語譜圖對比。

圖5 說話人語譜圖2

圖6 LSTM分離的說話人語譜圖

圖6為采用LSTM得到的語譜圖,相比于使用前饋神經(jīng)網(wǎng)絡,圖片中的黑白間隔更大、噪點更少,有效地形成了說話人頻帶,其分離的語音質(zhì)量比采用前饋神經(jīng)網(wǎng)絡的效果更好。

4.2 深度聚類低延遲與損失函數(shù)優(yōu)化

在低延遲的深度聚類實驗仿真中,按2.2.1節(jié)參數(shù)進行調(diào)參修改,包括降低語音信息采樣率為8 kHz、采用固定一個時間段T確定質(zhì)心、緩存質(zhì)心的坐標以縮短K-means聚類時間等。值得注意的是,在確定質(zhì)心的過程中應該隨機抽取,盡量均勻類別并隨機抽取不同說話人的語音數(shù)據(jù)為先,因為初始數(shù)據(jù)分布越均勻,質(zhì)心坐標則描述越精確。最后得到低延遲深度聚類模型,如圖7所示,圖中表示在K-means聚類中緩存不同時間步長的質(zhì)心,在SDR、SIR以及SAR上評估低延遲深度聚類的語音分離性能。其中,最低的緩存時間為100 ms,且緩存時長為300 ms時可達到5.2 dB,當緩存時長超過300 ms并不會有顯著的語音分離質(zhì)量提升。

圖7 深度聚類模型的分離指標估計

BLSTM相比于LSTM,embedding維度K=40,在其他參數(shù)保持不變的情況下,訓練的時間復雜度更高,所以低延遲版本中將采用LSTM網(wǎng)絡結(jié)構(gòu),如表2所示,采用BLSTM的語音分離質(zhì)量明顯高于窗長為8 ms與32 ms的LSTM,因為BLSTM更能挖掘語音上下文的相關(guān)性,提高語音的分離質(zhì)量,而采用1.5 s的緩存時長的低延遲版本中,在降低采樣率的同時,SDR僅下降2.3 dB。

表2 深度聚類分離指標估計

為分析引入正則項以及不同性別組合下的語音分離質(zhì)量,將原語音數(shù)據(jù)集按等比例數(shù)據(jù)構(gòu)造3份混合語音數(shù)據(jù)集,具體采用男聲與女聲、男聲與男聲、女聲與女聲3種規(guī)則混合原語音數(shù)據(jù),并經(jīng)過特征提取序列化為.pkl文件。除深度聚類中embedding空間維度K外,其他參數(shù)保持不變,計算SDR語音的評價指標,結(jié)果如表3所示。

表3 深度聚類引入正則項語音分離SDR評估

從表3可知,男聲和女聲的混合語音分離質(zhì)量要明顯高于其他語音混合的效果,因為男性與女性語音特征相對更容易區(qū)分,具有不同的發(fā)音時長以及頻率分布。而加入對embedding特征空間的正則項后,可提升語音的分離質(zhì)量,特別是在男聲與女聲的語音分離上,但正則項對相同性別的混合語音分離并不明顯,甚至略微有降低,在embedding的特征空間維度K=20時,引入正則項并不能提升語音的分離質(zhì)量。

4.3 GMM-UBM說話人識別實驗

在GMM-UBM的說話人辨認仿真實驗中,從TIMIT庫中抽取100個說話人的全部語音(1000個語音段)用于UBM預訓練,在多目標說話人模型的訓練中,使用不同于UBM預訓練的部分語音段用于訓練各自的說話人模型,其中提取的MFCC的特征維度為13,分別取每人各5、7、9段語音用于訓練。實驗結(jié)果如圖8所示。

圖8 不同高斯混合模型階數(shù)下的識別率

根據(jù)模型復雜度與UBM模型性能的相關(guān)性可知,當UBM中單個高斯分布數(shù)量越多,即UBM模型的階數(shù)越多,UBM模型在充分訓練的情況下,就能覆蓋目標說話人所有的音域特征,通過MAP自適應調(diào)整為目標說話人模型的識別性能更好。但當階數(shù)達到一定量級后,性能提升愈不明顯,如圖8所示,分別用1、2、4、8、16、32、64個高斯分布密度個數(shù)用于測試。從實驗結(jié)果可知,在高斯混合模型階數(shù)較低的時候,隨著階數(shù)的增加,GMM-UBM模型識別率越高,但當達到32階后,識別率趨于平穩(wěn)且訓練時長顯著增大,因為更高階數(shù)的模型需要時序更長的語音數(shù)據(jù)才能精確刻畫目標說話人的語音特征,階數(shù)更高的GMM中的單個高斯分布在同等數(shù)據(jù)的情況下反而由于訓練不夠充分,導致GMM-UBM模型精確度不夠、魯棒性不足。值得注意的是,GMM-UBM在短時語音(約3 s測試語音)的識別率仍能達到84%的識別率,且與復雜的深層模型相比,計算量低,實時性比較好。

同時在本次實驗中,為分析使用聚類分析方法分離語音后進行識別的準確率,設(shè)計了比對試驗。即測試語音為3 s,比對的訓練目標說話人數(shù)為37,說話人模型階數(shù)均為32,訓練語音分別約為3 s、6 s、12 s、16 s的情況下的實驗效果,如表4所示。

表4 GMM-UBM識別率

從表4可知,在GMM-UBM模型其他參數(shù)均保持一致的前提下,隨著訓練語音數(shù)據(jù)的增加,識別率顯著提高,因為訓練語音數(shù)據(jù)越長,涵蓋的說話人的音域特征越廣,說話人辨認系統(tǒng)匹配目標說話人的效率越高。另外,語音分離后再進行識別,識別率明顯提高,因為語音分離后,語音的信偽比、信干比以及信失比均有所提高,從而導致語音中的特征參數(shù)更突出,識別效果更顯著。

5 結(jié)束語

本文提出了基于聚類分析與說話人識別的語音跟蹤算法。算法首先使用改進的聚類分析方法進行語音分離,具體包括在K-means聚類中對質(zhì)心進行緩存并降低采樣率以及在embedding特征空間引入正則項。其次,算法采用GMM-UBM說話人模型進行語音跟蹤。

本文實驗部分首先對說話人語音分離部分進行仿真,包括混合語音數(shù)據(jù)的構(gòu)造,如男聲與女聲混合語音的分離效果對比等。實驗結(jié)果表明改進的聚類分析方法可以有效提高算法的實時性及語音分離質(zhì)量。然后對說話人識別進行仿真,仿真結(jié)果顯示使用GMM-UBM模型在3 s語音的測試中具有84%的識別率。

猜你喜歡
語譜時頻質(zhì)心
重型半掛汽車質(zhì)量與質(zhì)心位置估計
基于GNSS測量的天宮二號質(zhì)心確定
HR-DCGAN方法的帕金森聲紋樣本擴充及識別研究
基于時頻域特征的場景音頻研究
語譜圖二次傅里葉變換特定人二字漢語詞匯識別
面向語音情感識別的語譜圖特征提取算法
基于時頻分析的逆合成孔徑雷達成像技術(shù)
對采樣數(shù)據(jù)序列進行時頻分解法的改進
一種海洋測高衛(wèi)星質(zhì)心在軌估計算法
航天器工程(2014年5期)2014-03-11 16:35:53
雙線性時頻分布交叉項提取及損傷識別應用
同江市| 沾益县| 孟连| 西城区| 安西县| 北海市| 盱眙县| 苗栗市| 崇明县| 贵德县| 和顺县| 江门市| 玉溪市| 介休市| 原平市| 额济纳旗| 枞阳县| 塔河县| 惠安县| 黑河市| 天气| 毕节市| 乳山市| 上蔡县| 确山县| 涿鹿县| 南木林县| 孟津县| 容城县| 营山县| 正镶白旗| 新兴县| 侯马市| 孟津县| 西城区| 鄂伦春自治旗| 承德县| 惠安县| 扶沟县| 农安县| 东乌珠穆沁旗|