魏春雨,孫 蒙,賈 沖
(陸軍工程大學 指揮控制工程學院,江蘇 南京 210007)
近年來,隨著說話人識別技術在精確度和魯棒性方面不斷進步,其在金融、安防、軍事和娛樂消費等領域獲得了廣泛應用。然而,說話人匿名技術的出現(xiàn)對說話人識別的安全應用構(gòu)成了嚴重威脅,提高說話人識別的可靠性變得異常迫切。
在司法取證領域,由于語音很容易被改變,目前基于聲紋的證據(jù)并不具有與簽名文件、指紋和DNA相同的法律效力,但說話人識別作為一種身份認證的輔助方法仍然可以在案件的調(diào)查階段發(fā)揮重要作用。在類似電信詐騙的作案場景中,犯罪嫌疑人沒有留下除語音之外的其他線索,通過僅有的電話錄音進行可靠的說話人識別變得至關重要。為了隱藏自己的身份,逃避依據(jù)聲紋開展的身份追蹤,多數(shù)罪犯在撥打詐騙電話或發(fā)出恐怖威脅時,都會對自己的聲音進行匿名化處理[1],如何準確識別經(jīng)過匿名的語音成為了人們?nèi)找骊P注的課題。
說話人匿名的目標是隱藏語音信號中的個人身份信息,同時盡可能保持語音內(nèi)容的可理解性不受影響[2]。一些專業(yè)的語音處理軟件,如SoundTouch、Audition、Audacity、GoldWave等,通過使用不同的變調(diào)算法對語音進行更改,可以很方便地隱匿說話人的年齡、性別、身份等生物特征信息[3]。隨著移動互聯(lián)網(wǎng)的迅速發(fā)展,QQ變聲器、安卓變聲應用、各類直播平臺的變聲設備等可以將錄音實時轉(zhuǎn)換成具有不同變聲效果的語音,這些變聲器在實現(xiàn)音調(diào)變換的同時也改變了包括音色在內(nèi)的其他聲音特性。變聲匿名語音的基頻、元音共振峰頻率、發(fā)音速率等聲學特征發(fā)生了顯著改變,不僅會嚴重干擾人耳的聽覺辨識,還會大幅降低說話人識別的性能[4]。
說話人重識別是指在與訓練數(shù)據(jù)不匹配的條件下,對具有不同講話場景、噪聲環(huán)境以及經(jīng)過變換處理的語音開展的說話人識別任務[5-7]。以往對變聲匿名的研究,多集中在匿名語音的檢測[8-10],關注的主要問題是語音是否經(jīng)過了變聲處理和語音基頻的變化程度,一定程度上減少了變聲匿名語音的輸入危害,但卻不能從根本上解決由語音匿名造成的說話人識別精度下降的問題。因此,針對匿名語音進行還原,在語音變聲匿名背景下進行說話人重識別研究變得非常重要,對于提高說話人識別在用戶安全訪問、案件調(diào)查取證等場景的可靠性具有重要意義。由于語音變聲匿名過程中聲學特性的變化大致遵循線性規(guī)律[11],因此從變聲匿名語音中恢復出原始語音具有理論的可行性。
在針對變聲匿名語音的說話人重識別算法設計方面,鄭等[12]提出了基于i-vector相似度的匿名語音還原方案,他們利用SoundTouch軟件對變聲匿名語音進行遍歷基頻變換因子的預還原,將預還原的聲音與注冊說話人的真實語音進行對比,把其中說話人識別分數(shù)最高,即預還原語音與真實語音的同一人相似度最高的一條語音作為還原后的語音。該方法在判別匿名語音基頻變換因子的同時實現(xiàn)了語音的還原,并在針對變聲匿名語音的說話人確認任務中取得了較低的等錯誤率。然而,這種方法在還原階段使用與匿名階段相同的變聲工具,這在實際的匿名語音還原場景中是不現(xiàn)實的。
張等[11]通過對變聲匿名語音的聲學特性進行分析,發(fā)現(xiàn)經(jīng)過變聲器處理的語音,基頻和共振峰均與原始語音存在一定的線性關系。張等[13]研究發(fā)現(xiàn)經(jīng)過逆變聲恢復的匿名語音的F1共振峰頻率與原始語音仍存在差異。Zhang等[14]通過對SoundTouch音頻編輯軟件處理的語音進行研究,發(fā)現(xiàn)共振峰參數(shù)的變化遵循線性規(guī)律。Helianti等[15]的研究表明,經(jīng)過變聲器變聲的語音,基頻和共振峰同時發(fā)生了改變,而Lutsenko等[1]的研究表明,一些變聲器在改變語音基頻之后為了使聲音聽起來更自然,會對語音共振峰進行額外的校正。
以上的研究結(jié)果表明,經(jīng)過變聲匿名的語音,共振峰和基頻均會發(fā)生較顯著的變化?;谀骋环N變聲工具的基頻逆變換還原方法,對不同類型變聲軟件和一些真實變聲器材的有效性沒有得到驗證?,F(xiàn)有的基于基頻逆變換的變聲匿名語音還原方法具有以下兩個方面的不足:
(1)不同變聲工具所采用的變聲算法不同,使得變聲匿名語音的種類具有多樣性。當不知曉實際變聲工具的類型時,即使準確執(zhí)行了與變聲過程相反的基頻逆變換,恢復得到的語音頻譜特征與原始語音仍存在差異。
(2)不同類型變聲器所追求的變聲效果不同,導致對語音共振峰的改變有所區(qū)別,僅依靠基頻逆變換的還原方法,不能完全恢復語音共振峰體現(xiàn)的聲音音色特性。
對說話人識別來說,共振峰代表語音所攜帶的聲道信息,是與基頻所代表的聲門特性同等重要的說話人個性特征。因此,在基頻還原的基礎上對共振峰進行修復,可以提高變聲匿名語音還原方法的魯棒性。
該文引入McAdams系數(shù)[16]對變聲匿名語音頻譜包絡進行調(diào)整,通過對說話人識別中兩個重要的聲學特征即基頻和共振峰開展聯(lián)合修復,進一步提高了變聲匿名語音還原方法對不同變聲工具的魯棒性。
說話人識別是一種基于語音的生物特征識別技術。前沿的說話人識別技術使用說話人嵌入(Speaker Embedding)將說話人的聲學特性表示為固定維度的向量。典型的說話人嵌入是基于高斯混合模型(Gaussian Mixed Model,GMM)的i-vector和基于深度神經(jīng)網(wǎng)絡的x-vector。
圖1顯示了說話人識別的一般體系結(jié)構(gòu),包括三個階段:訓練、注冊和識別階段。在訓練階段,使用大量的來自不同說話人的語音訓練背景模型,學習與說話人無關的語音特征分布。在注冊階段,背景模型將每個注冊說話人的語音映射到注冊嵌入,作為注冊說話人的唯一身份標識。在識別階段,給定未知說話人的語音,從背景模型中提取語音嵌入進行評分。評分模塊測量注冊嵌入和測試語音嵌入之間的相似度,根據(jù)相似度分數(shù)給出識別結(jié)果。
圖1 說話人識別體系結(jié)構(gòu)
說話人確認作為說話人識別中的典型任務,根據(jù)預設閾值驗證輸入語音是否由唯一注冊的說話者發(fā)出,該任務可以被用來確認嫌疑人聲稱的語音所代表的身份是否屬實。
語音變聲匿名的典型原理是通過各種方法拉伸或壓縮頻譜來提高或降低音調(diào)。在語音學中,音高最多可以提高或降低12個半音,即音高是用12個半音來衡量。因此,通常將音高的半音變化量作為基頻變換因子。假設語音的基頻為p0,基頻變換因子為β半音,修改后的語音的基頻為p,則有:
p=2β/12p0
(1)
如果β為正,則音調(diào)升高,頻譜展寬。否則,頻譜被壓縮,音調(diào)降低。使用基頻變換因子+β來表示音調(diào)升高的匿名,使用-β來表示具有β半音的音調(diào)降低的匿名。
對變聲匿名語音的基頻進行還原,文獻[12]介紹了一種基于i-vector的變聲匿名語音還原方法。與文獻[12]不同,該文使用當前說話人識別領域最先進的基于x-vector的說話人識別模型。相比i-vector模型,x-vector模型具有更高的準確率和更好的魯棒性。
該文使用基頻變換因子β來度量變聲匿名語音基頻的變化程度,通過遍歷基頻變換因子的理論取值,逐一改變待測語音的基頻,得到多條具有不同基頻改變程度的還原語音。當基頻還原過程中的基頻變換因子與語音實際匿名過程中的取值互為相反數(shù),此時對應的還原語音與原始語音具有最高的聲紋相似度。對每一條預還原語言和原始注冊語音的x-vector余弦相似度進行評分,相似度分數(shù)最高的預還原語音即為基頻被準確還原的語音。
利用McAdams系數(shù)進行語音共振峰位置調(diào)整,源于在音樂信號處理領域中比較流行的一種聲音加法合成技術[17],該技術通過重新合成多個余弦波來產(chǎn)生音色:
(2)
其中,k是諧波指數(shù),rk(t)是幅值,φk是相位,t是時間,α是McAdams系數(shù)。函數(shù)是將諧波余弦信號與逆傅里葉級數(shù)相結(jié)合,每個諧波都有一定的幅度和一定的相移。McAdams系數(shù)用于調(diào)整各次諧波的頻率,進而改變聲音的音色。通過改變McAdams系數(shù)調(diào)整頻譜包絡,對語音中的共振峰位置進行變換。共振峰位置的改變程度由McAdams系數(shù)控制,原理見圖2。
圖2 基于McAdams系數(shù)的語音共振峰調(diào)整
首先,使用線性預測編碼(Linear Predictive Coding,LPC)[18]對每一幀進行源濾波器分析。源或殘差被用作稍后的再合成,而濾波器系數(shù)被用來導出極點位置集。實值極點位置(具有零值虛部)保持不變,而復數(shù)極點(具有非零虛部)根據(jù)圖2中指示的方法進行移位。通過公式(2)對正實軸和從z平面的原點到復極點的向量之間的夾角進行操作。該角度對應于頻率,單位圓的上半部分(π弧度)對應于采樣頻率。對復極點位置根據(jù)φα進行移位,會導致極點位置的順時針或逆時針變化。對于φ角小于1弧度的極點,φα的位移α<1是逆時針方向,而α>1的值則引起順時針方向的位移。φ角大于1弧度時會朝相反的方向移動。對于實驗所涉及到的16 kHz采樣音頻數(shù)據(jù),φ=1弧度的值對應于大約2.5 kHz的頻率,在這個頻率兩側(cè)共振峰位置移動具有相反的方向,位移的大小取決于φα和φ=1弧度之間的間距,間距越大,位移越大。
將原始實值極點和修改后的新極點集合轉(zhuǎn)換回LPC系數(shù),并與來自原始語音信號的殘差組合,用于在時域中重新合成語音幀。然后,通過重疊相加(Overlap and Add,OLA)技術[19]組合每個根據(jù)上述過程處理的語音幀,以產(chǎn)生最終的語音信號。
經(jīng)過McAdams系數(shù)調(diào)整的聲音頻譜包絡的變化情況見圖3。圖中顯示了發(fā)元音“a”時的5條包絡曲線,包括當α∈{0.85,0.95,1.05,1.15}時共振峰移位后的頻譜。每個極點和峰值大致對應于一個語音共振峰,可以看到隨著系數(shù)值的變化,頻譜包絡中相應的峰值也出現(xiàn)了明顯的移動。
圖3 語音頻譜包絡移位情況
在利用McAdams系數(shù)對語音共振峰進行修復的過程中,遍歷McAdams系數(shù)在指定范圍內(nèi)的取值,得到多條共振峰預還原語音,然后利用說話人識別模型對每一條共振峰預還原語音和注冊語音的相似度進行打分,相似度分數(shù)最高的預還原語音即為最終得到的共振峰修復語音,原理圖見圖4。
圖4 基于McAdams系數(shù)的變聲匿名語音共振峰修復原理
由于使用的變聲算法不同,即使是在基頻變換因子相同的情況下,不同變聲工具對語音頻譜包絡的改變也是不同的。在實際的變聲匿名還原場景中,用于變聲的設備類型未知,還原的難度進一步增大。即使是使用相同的變聲工具對匿名語音進行基頻逆變換,變換后得到的語音頻譜結(jié)構(gòu)與原始語音也并不完全一致。
人類的發(fā)聲器官在工作時,首先通過聲帶的震動產(chǎn)生聲音基頻。隨后,聲音經(jīng)過口腔進行傳播,不同人口腔生理結(jié)構(gòu)的差異會形成不同的共振峰頻率,而聲音的基頻在口腔傳播過程中沒有改變。也就是說,不同人聲音共振峰的差異受聲帶振動和聲道的共同影響,而基頻只與聲帶振動有關。語音基頻的變化會自然引起語音共振峰的改變,而從公式(2)中可以看出,基于McAdams系數(shù)的共振峰調(diào)整并不會帶來語音基頻的改變。
因此,在具體的變聲匿名語音還原過程中,在2.2基頻逆變換還原方法基礎之上,利用2.3中介紹的McAdams系數(shù)對語音共振峰進行參數(shù)化調(diào)整,對實施基頻預還原后語音的共振峰進行修復。選擇先基頻、再共振峰的修復順序,以避免在同時還原或先共振峰、再基頻的修復過程中,對基頻的調(diào)整會伴隨語音共振峰的改變,進而影響最終對變聲匿名語音的還原效果。相比文獻[12]的還原方法,文中方法先后對變聲匿名語音的基頻和共振峰進行修復,更好地實現(xiàn)了對語音變聲匿名逆變換過程的近似。變聲匿名語音基頻、共振峰聯(lián)合還原的原理見圖5。
圖5 變聲匿名語音基頻和共振峰聯(lián)合還原框架
在基頻還原階段,基頻變換因子在理論取值范圍內(nèi)進行遍歷,包括+3~+11和-3~-11共18個參數(shù),這些參數(shù)包含了變聲匿名語音基頻的實際變化范圍。對于在共振峰修復過程中McAdams系數(shù)的取值范圍,由于不同變聲匿名語音的共振峰差異波動較大,且較小的McAdams系數(shù)改變也會帶來共振峰較大的偏移量。因此,在McAdams系數(shù)取值過程中,首先在長度為0.1的0.95~1.05的范圍內(nèi)以0.01的間隔對McAdams系數(shù)進行取值,共有11個參數(shù)。通過遍歷這11個參數(shù)對語音的共振峰進行調(diào)整。對于在第一輪的遍歷調(diào)整中找出的與原始語音相似度分數(shù)最高的語音,如果其McAdams系數(shù)的取值不為0.95或1.05,即不在取值范圍的邊界,則這條語音就作為最終的還原語音。若找出的相似度分數(shù)最高的語音McAdams系數(shù)取到了邊界值,就在該邊界值的一側(cè)長度為0.1的范圍內(nèi),以0.01為間隔再次對McAdams系數(shù)進行取值。例如,若在首次修復時McAdams系數(shù)取值為0.95,則對0.85~0.95范圍內(nèi)的11個參數(shù)值進行遍歷,以對基頻預還原語音進行共振峰修復,直到McAdams系數(shù)沒有取到區(qū)間邊界值為止。
聯(lián)合還原具體步驟如下:
(1)使用測試說話人的正常語音在預訓練的x-vector說話人識別模型進行注冊,得到測試說話人的真實語音特征。
(2)利用2.2的方法對變聲匿名語音的基頻進行還原,得到與原始語音基頻特征最相似的預還原語音。
(3)對得到的基頻預還原語音,在0.95~1.05的范圍內(nèi)取值McAdams系數(shù),調(diào)整語音共振峰位置,對應每一條基頻預還原語音得到11個待測的共振峰修復語音。
(4)利用說話人識別模型分別提取每一個共振峰修復語音和注冊語音的x-vector,進行相似度打分,找出得分最高的共振峰修復語音。
(5)如步驟(4)中找出的聲紋相似度分數(shù)最高的共振峰修復語音對應的McAdams系數(shù)沒有取到邊界值,則這條語音作為最終的還原語音。否則,在上一次取邊界值的一側(cè)長度為0.1的范圍內(nèi),以0.01為間隔,再次取值11個參數(shù)對步驟(2)中得到的基頻還原語音共振峰進行遍歷調(diào)整。
3.1.1 變聲匿名器材設置
為了驗證文中變聲匿名語音還原方法的有效性,使用四種音頻編輯軟件和三種真實的商用變聲器對語音進行匿名。四種音頻編輯軟件包括SoundTouch、Audition、Audacity、GoldWave,這四種音頻編輯軟件都可以按照設定對語音進行不同程度的基頻變換,變換的程度以半音為單位,對應不同的基頻變換因子。實驗中使用SoundTouch軟件進行基頻預還原,所有音頻編輯軟件生成的匿名語音均為16 kHz采樣、16 bit、單聲道、PCM-WAV格式。
三種真實變聲器包括一款直播用硬件變聲設備、QQ變音APP和基于Windows平臺的變聲精靈。其中硬件變聲設備具有四檔不同的變聲模式,包括音調(diào)變高和變低各兩種不同程度的變聲設置。變聲精靈具有“男聲變女聲”“男聲變女孩”“女聲變男聲”三種變聲模式。QQ變音包括“蘿莉音”“大叔音”“驚悚”“搞怪”“空靈”五種變聲模式。實驗中將變聲器匿名的錄音均轉(zhuǎn)換為16 kHz采樣、16 bit、單聲道、PCM-WAV格式。
3.1.2 數(shù)據(jù)集
為了公平比較,在四種音頻編輯軟件的匿名還原實驗中,利用與文獻[12]相同的方式選取VoxCeleb1[20]數(shù)據(jù)集的語音進行注冊和匿名還原測試。VoxCeleb1數(shù)據(jù)集取自YouTube網(wǎng)站的英文語音。語音中含有各種真實場景噪聲,在每一段語音中隨機出現(xiàn)的噪聲包括環(huán)境噪聲、周圍人的話音、交談中的笑聲、多段話音的混疊、錄音設備產(chǎn)生的噪聲和回聲等,說話場景包括明星采訪、公開演說、真人訪談、運動賽事解說等。
在針對真實變聲器材進行的匿名還原實驗中,為了貼近真實的中文變聲錄音場景,選取CN-Celeb[21]數(shù)據(jù)集中的中文語音作為與測試說話人不匹配的混淆語音在說話人識別模型中進行注冊。CN-Celeb中文語音數(shù)據(jù)集包括娛樂節(jié)目、訪問、唱歌、戲劇、電影、視頻博客、現(xiàn)場直播、演講、戲劇、朗誦和廣告共11種語音場景,相比VoxCeleb1數(shù)據(jù)集,CN-Celeb數(shù)據(jù)集含噪語音場景更加多樣。
3.1.3 說話人識別系統(tǒng)設置
說話人識別系統(tǒng)使用在語音識別平臺Kaldi預訓練的基于TDNN的x-vector模型[22],該開源模型的訓練數(shù)據(jù)集為Voxceleb1。在說話人確認任務下進行了匿名還原實驗,驗證待測的變聲匿名語音是否來自于注冊說話人。
在四種音頻編輯軟件匿名語音還原實驗中,在VoxCeleb1數(shù)據(jù)集中隨機選取400名說話人,每個說話人各11條語音,其中10條語音在x-vector說話人識別模型上進行注冊,1條語音用作匿名還原測試。每一條測試語音都利用這四種音頻編輯軟件進行不同程度的音調(diào)變換,產(chǎn)生基頻變換因子為+3~+11和-3~-11的18組匿名語音。
在真實變聲器匿名還原實驗中,為了貼近中文語音匿名還原場景,在CN-Celeb數(shù)據(jù)集中隨機選擇100名中文說話人的各10條語音在說話人識別模型上進行注冊。在實驗室錄制3名說話人的各12條語音,其中2條語音在說話人識別模型上注冊,其余10條語音在三種變聲器的不同變聲設置下進行匿名處理,得到具有不同變聲效果的匿名語音。
在實驗中使用等錯誤率(Equal Error Rate,EER)來評估還原語音的說話人確認效果。錯誤接受率(False Acceptance Rate,FAR)定義為錯誤接受的數(shù)量除以錯誤樣本的總數(shù),而錯誤拒絕率(False Rejection Rate,FRR)定義為錯誤拒絕數(shù)量除以正確樣本的總數(shù)。當閾值變化時,FRR和FAR變化的趨勢相反,FRR與FAR相等時的錯誤率即為EER。EER越低,說話人識別的效果越好。
3.3.1 四種音頻編輯軟件匿名的還原效果
為了驗證提出的變聲匿名語音還原方法在說話人確認任務中的效果,在四種音頻編輯軟件變聲條件下,對比了文中方法和文獻[12]的方法對VoxCeleb1匿名語音還原后的說話人確認等錯誤率,結(jié)果見圖6。從圖中可以看出,相比文獻[12]的方法,文中方法在絕大多數(shù)基頻變換因子下的說話人確認等錯誤率均有所降低。在音調(diào)變低和變高兩種情況下,當語音匿名與基頻預還原使用相同的音頻編輯軟件SoundTouch時,等錯誤率平均降低0.1和0.25百分點,使用GoldWave匿名時平均降低0.17和0.31百分點,使用Audition匿名時平均降低0.13和0.20百分點,使用Audacity匿名時平均降低0.26和0.35百分點。實驗結(jié)果表明,文中方法對不同音頻編輯軟件的魯棒性較好,在未知變聲軟件型號的匿名語音黑盒還原情境下,具有比基線方法更好的說話人重識別效果。
圖6 不同變聲軟件匿名還原后的等錯誤率
當變聲匿名語音的基頻變換因子為-5和+5時,從測試語音中隨機選取一條原始語音和其對應的變聲匿名語音、基頻預還原語音以及經(jīng)過共振峰修復的語音,畫出它們的頻譜包絡曲線,見圖7和圖8。
圖7 基頻變換因子為-5時的語音頻譜包絡對比
圖8 基頻變換因子為+5時的語音頻譜包絡對比
可以發(fā)現(xiàn),文獻[12]的方法還原之后的語音與原始語音的頻譜包絡擬合度仍然不高,特別是在高頻部分的差異更加明顯,在利用文中方法對共振峰進行修復后,語音頻譜包絡與原始語音更加接近。
3.3.2 真實變聲器匿名的還原效果
對采用變聲精靈、QQ變音、硬件變聲設備三種變聲器材匿名的語音進行還原,說話人確認的效果見圖9。
圖9 說話人確認等錯誤率對比
從圖中可以看出,相比文獻[12]的還原方法,利用文中方法還原后說話人確認等錯誤率更低。硬件變聲設備的降幅最小,從3.5%下降到3.33%,變聲精靈匿名還原之后的等錯誤率在三種變聲器材中最低,從0.57%下降到0.16%。QQ變音的等錯誤率降低幅度最大,從5%下降到1.81%,分析原因可能是在QQ變音的變聲效果中,對聲音音色的改動更大,語音共振峰位置出現(xiàn)較大的變化,使得文中方法獲得了更加顯著的效果。
實驗結(jié)果表明,文中方法在真實商用變聲器匿名條件下同樣具有更好的說話人重識別效果。
針對現(xiàn)有變聲匿名說話人重識別方法僅修復語音基頻,對未知變聲軟件的黑盒匿名以及在真實變聲器匿名條件下的語音還原效果尚不明確等問題,提出了一種基于基頻和共振峰聯(lián)合還原的變聲匿名說話人重識別方法。在基頻逆變換語音還原的基礎上,利用McAdams系數(shù)對語音的共振峰位置進行調(diào)整,結(jié)合基于x-vector的說話人識別模型給出的相似度得分,得到與原始語音聲學特征最為接近的還原語音。實驗結(jié)果表明,在黑盒變聲匿名條件下,該方法對四種變聲軟件、三種真實變聲器材匿名的語音具有比基線方法更好的重識別效果。