楊 帥,喬 凱,陳 健,王林元,閆 鑌
(中國人民解放軍戰(zhàn)略支援部隊信息工程大學(xué),鄭州 450001)
語音作為人類接受外界信息的重要來源,在日常交流活動中扮演了不可替代的角色. 特別是近些年來隨著電話、電腦、智能手機等信息設(shè)備的普及,人們對于豐富多彩的語音服務(wù)例如語音通話、語音助手、短視頻配音等需求量越來越大. 隨著網(wǎng)絡(luò)語音資源的爆發(fā)式產(chǎn)出和算力水平的顯著躍升,人工智能在語音處理技術(shù)方面大放異彩,有效地滿足了社會需求; 但同時,一些不法分子利用現(xiàn)代語音技術(shù)進行電信詐騙或其他違法活動,引起了人們的擔(dān)憂和廣泛關(guān)注.
語音偽造技術(shù)一般包含文本到語音(text-to-speech,TTS)和語音轉(zhuǎn)換(voice conversion,VC)兩種形式. 文本到語音是指從文本中生成自然語音[1],通常不具有欺騙性,常被用于手機中的語音助理、導(dǎo)航語音以及智能音響等. 語音轉(zhuǎn)換是指將源人物語音的特定信息轉(zhuǎn)換為目標(biāo)人物語音,同時保證其他屬性不改變[2]. 語音轉(zhuǎn)換常涉及頻譜和韻律兩個方面的轉(zhuǎn)換,并且依賴大量的目標(biāo)語音數(shù)據(jù). 將TTS 和VC 結(jié)合,可以從文字中生成具有某人聲音特點的語音,具有極強的欺騙性.
語音偽造技術(shù)的發(fā)展?jié)M足現(xiàn)實應(yīng)用需求的同時,也帶來很多潛在的威脅. 個性化語音生成增強了軟件對用戶的吸引力,如美團的提示音、高德地圖的導(dǎo)航語音; 短視頻平臺的文字朗讀功能方便了用戶短視頻的制作; 延續(xù)風(fēng)格的影視配音作品可以帶給觀眾懷舊的體驗. 另一方面,偽造語音具有破解微信、支付寶等聲紋識別模塊的能力,放大了泄露隱私、損失財產(chǎn)等風(fēng)險,給不法分子騙取財物提供可乘之機. 因此,如何有效的檢測偽造語音成為語音處理技術(shù)發(fā)展道路上不得不直面的難題.
本文組織結(jié)構(gòu)如下: 第2 節(jié)介紹了經(jīng)典的語音合成系統(tǒng),并對文本到語音和語音轉(zhuǎn)換兩項技術(shù)進行了系統(tǒng)的梳理; 第3 節(jié)對目前流行的語音鑒偽技術(shù)進行了分類歸納; 第4 節(jié)分析了目前語音偽造和鑒偽領(lǐng)域的挑戰(zhàn),并對未來的發(fā)展方向進行展望.
語音合成技術(shù)是利用電子計算機或其他裝置模擬人說話的技術(shù),主要包括文本到語音和語音轉(zhuǎn)換兩種技術(shù)路線. 語音偽造則是語音合成的一個應(yīng)用方向,一方面語音偽造生成結(jié)果形式與語音合成一致,另一方面語音偽造有更明確的應(yīng)用目標(biāo)和需求導(dǎo)向. 因此語音合成系統(tǒng)是語音偽造技術(shù)的基礎(chǔ),理解語音合成的基本過程對深入研究語音偽造大有裨益.
本節(jié)主要結(jié)構(gòu)如圖1 所示,首先對語音合成系統(tǒng)的一般劃分進行介紹,進而對文本到語音和語音轉(zhuǎn)換兩類語音偽造技術(shù)進行梳理.
圖1 本節(jié)結(jié)構(gòu)梳理
如圖2 所示,經(jīng)典的語音合成系統(tǒng)一般由3 個模塊構(gòu)成,依次為特征分析提取、聲學(xué)模型和聲碼器. 將原始語音輸入到特征分析提取模塊中提取出源特征,經(jīng)聲學(xué)模型處理得到對應(yīng)的目標(biāo)語音特征后通過聲碼器得到音頻輸出.
圖2 語音合成流程
具體介紹3 個模塊的功能. 特征分析提取模塊可以根據(jù)任務(wù)需求提取原始輸入的特征,例如短時傅里葉變換幅度譜、基頻和梅爾倒譜[3]等. 聲學(xué)模型是整個系統(tǒng)中的關(guān)鍵部分,將原始的聲學(xué)特征轉(zhuǎn)化為目標(biāo)的聲學(xué)特征,主要由統(tǒng)計學(xué)模型和深度學(xué)習(xí)模型來構(gòu)建. 早期的統(tǒng)計學(xué)方法主要基于矢量量化和頻譜映射的模型[4]、聯(lián)合概率密度的高斯混合模型[5]和隱馬爾科夫模型[6,7]. 近年來聲學(xué)模型中的深度學(xué)習(xí)模塊使用呈現(xiàn)多樣化、普遍化的趨勢,典型的方法有深度神經(jīng)網(wǎng)絡(luò)、卷積網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)、長短時記憶網(wǎng)絡(luò)、注意力機制[8]等,并且單個模型中往往會使用多種不同的模塊來增強模型的學(xué)習(xí)和表達能力. 聲碼器的作用是將聲學(xué)特征重新恢復(fù)成語音信號,不同的聲學(xué)特征采用不同的聲碼器進行處理. 傳統(tǒng)的聲碼器假設(shè)語音的生成是信號源對濾波器系統(tǒng)激勵產(chǎn)生的結(jié)果[9],近期基于深度學(xué)習(xí)的聲碼器[10–12]突破了傳統(tǒng)的規(guī)則假設(shè),在龐大語音數(shù)據(jù)的驅(qū)動下能夠?qū)W習(xí)到更好的語音恢復(fù)能力.
文本到語音從語音合成系統(tǒng)的角度來看輸入和輸出分別對應(yīng)文本和語音. 首先要對文本進行包括文本規(guī)范化、形態(tài)分析、句法分析、音素化、韻律生成等多個步驟[13]的自然語言預(yù)處理過程. 其中文本規(guī)范化是指糾正文本中的錯誤,并將縮寫、縮略詞等轉(zhuǎn)化為完整文本; 形態(tài)分析是指將句子分割為多個單詞; 句法分析是指根據(jù)分詞和詞義對語句構(gòu)造進行拆分; 音素化是指根據(jù)單詞到發(fā)音的字典進行確定; 韻律生成是進一步確定音素的音調(diào)變化、時長、重音、節(jié)奏等特征. 進行自然語言處理之后,需進一步進行數(shù)字信息處理. 數(shù)字信息處理方法以基于規(guī)則的方法、基于統(tǒng)計的方法和基于深度學(xué)習(xí)的方法為代表,下面進行具體介紹.
2.2.1 基于規(guī)則的方法
基于規(guī)則的合成方法主要通過模擬聲學(xué)物理過程來建立發(fā)聲模型,主要包括發(fā)音合成、共振峰合成. 發(fā)音合成是通過對人類聲道發(fā)音過程的模擬來實現(xiàn)語音的合成. 為實現(xiàn)聲道模型效果,需要指定發(fā)音動作和對應(yīng)此動作的發(fā)聲器官變量變化,例如嘴唇閉合的姿勢需要下巴、下唇和上唇的協(xié)同配合[14]. 發(fā)音合成的難點在于無法對人類聲道進行完全模擬,因此合成的質(zhì)量欠佳,但在解釋性和靈活性方面具有一定優(yōu)勢. 共振峰合成是基于源和濾波器模型的一種文本到語音聲音合成方法,包含級聯(lián)型、并聯(lián)型和混合型3 種常用模型. 共振峰是指聲音中能夠反映人類聲道特征的能量集中頻段,因此對共振峰進行合成即可實現(xiàn)對人類聲音的模擬,大概20 多個不同的共振峰即可實現(xiàn)較好的人聲恢復(fù)[15]. 該技術(shù)的優(yōu)點在于可以在內(nèi)存和計算速率不高的平臺實現(xiàn),而缺點在于合成聲音的自然性不足.
2.2.2 基于數(shù)據(jù)的方法
基于數(shù)據(jù)的方法一般需要在提前構(gòu)建的語音數(shù)據(jù)庫支持下進行,可分為拼接合成和單元選擇合成兩類.拼接合成通過串聯(lián)提前準(zhǔn)備的音頻單元來生成語音,這些語音單元可分為音素、半音節(jié)、單音節(jié)、雙音節(jié)或者三音節(jié). 單元長度越長,同樣的一句話中連接節(jié)點越少,合成語音的效果越自然,但同時內(nèi)存的占用越大[16]. 并且在拼接之前需要根據(jù)語義對語音單元的韻律進行變化,從而提高合成語音的真實度. 單元選擇合成方法比拼接合成的數(shù)據(jù)庫更加復(fù)雜,因為其對相同語音單元不同韻律的數(shù)據(jù)也進行了存儲,因此占用內(nèi)存更大.
基于數(shù)據(jù)的方法直接對真實語音進行操作,從而其合成語音比基于規(guī)則的方法結(jié)果清晰度更高; 但其數(shù)據(jù)庫的構(gòu)建需要巨大的儲存空間,原始數(shù)據(jù)的標(biāo)記也是一項非常繁瑣的任務(wù),因此該方法實用性不足.
2.2.3 基于統(tǒng)計的方法
基于統(tǒng)計的方法主要使用隱馬爾可夫模型、高斯混合模型作為基本框架,從而利用數(shù)據(jù)中的統(tǒng)計規(guī)律生成語音. 典型的基于馬爾可夫模型的方法[17]對上下文相關(guān)的頻譜和激勵參數(shù)進行建模,并使用期望最大化進行最大似然估計,最后通過激勵生成模塊和合成濾波器模塊產(chǎn)生語音波形. 基于高斯混合模型的方法[18]在發(fā)音、頻譜參數(shù)向量以及動態(tài)參數(shù)等的聯(lián)合概率空間內(nèi)進行建模,并結(jié)合最小均方誤差或者最大似然估計實現(xiàn)音素到語音的映射. 與基于數(shù)據(jù)的方法相比,基于統(tǒng)計的方法不用建立復(fù)雜龐大的數(shù)據(jù)庫,并且可通過自適應(yīng)、插值和特征聲音對合成語音的特征進行改變[19]; 但此方法的合成質(zhì)量距離真實語音還有差距.
2.2.4 基于深度學(xué)習(xí)的方法
深度學(xué)習(xí)主要由感知機、卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、長短時記憶網(wǎng)絡(luò)等深度網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)建,在特定的數(shù)據(jù)集上通過針對性的訓(xùn)練策略來完成某種學(xué)習(xí)任務(wù). 早期深度學(xué)習(xí)與文本到語音技術(shù)的結(jié)合主要通過將深度學(xué)習(xí)作為傳統(tǒng)語音合成的流程中一部分來體現(xiàn),也被稱為非端到端的深度學(xué)習(xí)TTS. 例如Zen 等人[20]利用深度神經(jīng)網(wǎng)絡(luò)替代上下文相關(guān)隱馬爾可夫模型中的決策樹聚類模塊,有效改善了原模型無法表達復(fù)雜的上下文依賴的問題; Kang 等人[21]使用深度信念網(wǎng)絡(luò)對頻譜和基頻等語音參數(shù)直接進行建模,取得了比傳統(tǒng)隱馬爾科夫模型保真度更好的效果; Fan 等人[22]采用帶有雙向長短時記憶模塊的遞歸神經(jīng)網(wǎng)絡(luò)來計算語音的時間相關(guān)信息,從而完成參數(shù)化TTS 合成,提升了語音合成的質(zhì)量和穩(wěn)定性.
隨著大型語音數(shù)據(jù)集不斷提出、網(wǎng)絡(luò)結(jié)構(gòu)的不斷優(yōu)化和計算能力的不斷提升,更多的研究重點集中到了端對端的TTS 系統(tǒng)上來. 端對端系統(tǒng)沒有諸如高斯過程此類的假設(shè),也沒有任何關(guān)于音頻的先驗知識,因此可以直接看做量化信號的非線性因果濾波器. 這種系統(tǒng)的好處在于模型可以更直接的收斂到數(shù)據(jù)的本質(zhì),而不會出現(xiàn)不當(dāng)?shù)募僭O(shè)導(dǎo)致生成語音細節(jié)過度損失的情況. 但同時這種模型的設(shè)計也是十分困難的,模型的好壞決定了收斂的難度和輸出的質(zhì)量. WaveNet[10]是一種直接生成音頻的網(wǎng)絡(luò)模型,能夠基于來自輸入文本的語言特征生成對應(yīng)的語音. 如圖3 所示,WaveNet首先將輸入經(jīng)過一層因果卷積,以保證模型不會違反建模數(shù)據(jù)的順序; 之后經(jīng)多層殘差模塊,殘差模塊中的空洞卷積使用幾層即可保證指數(shù)級的感受野; 每層殘差模塊的輸出和連接到兩層ReLU 函數(shù),最后通過Softmax 層計算當(dāng)前音頻的量化值. WaveNet 高效的生成了超越以往模型的自然語音,但受到感受野大小的影響,仍存在長期依賴的問題.
圖3 WaveNet 網(wǎng)絡(luò)結(jié)構(gòu)
同樣引人注目的工作是百度提出的DeepVoice 系列算法[23–25]. DeepVoice 按照傳統(tǒng)TTS 的流程用深度學(xué)習(xí)的方法構(gòu)建了分離相鄰音素的分割模型、字素到音素的變換模型、音素時間長度估計模型、基頻預(yù)測模型和音頻合成模型5 個基本模塊,可以實現(xiàn)實時的文字到語音轉(zhuǎn)換. DeepVoice2 是一種文本到語音的增強技術(shù),可以從不到半個小時的語音數(shù)據(jù)中學(xué)習(xí)到針對目標(biāo)人物的高質(zhì)量音頻合成能力. DeepVoice3 包括編碼器、解碼器和轉(zhuǎn)換器3 個主要結(jié)構(gòu),其核心在于完全卷積和注意力機制. 其中編碼器是全卷積結(jié)構(gòu),能夠?qū)⑽谋揪幋a成(key,value)組合向量; 解碼器以完全卷積的結(jié)構(gòu)將文本編碼解碼為對應(yīng)于輸出音頻的梅爾對數(shù)幅度譜; 轉(zhuǎn)換器將解碼出的聲學(xué)特征表示為最終的聲碼器參數(shù). 第3 代模型避免了端對端模型中的常見錯誤模式,取得了更加逼真的語音效果.
谷歌公司提出的Tacotron 文本到語音合成系統(tǒng)[26,27]也是該領(lǐng)域的一個重要算法分支. Tacotron 是一種和DeepVoice3 類似的編解碼結(jié)構(gòu),以字符為輸入生成線性光譜圖,最后轉(zhuǎn)化為語音波形. 該模型不需要音素對齊,只需給定文本和對應(yīng)的音頻,因此大容量樣本庫的構(gòu)建并不困難. Tacotron2 對Tacotron 結(jié)構(gòu)進行精簡,并采用WaveNet 聲碼器替代Griffin-Lim 從而提高了語音質(zhì)量. Tacotron2 由編碼器、解碼器以及聲碼器組成,其中編碼器包括字符嵌入模塊、3 層卷積和一個雙向長短時記憶網(wǎng)絡(luò),能夠?qū)⑽谋巨D(zhuǎn)為編碼特征; 解碼器由局部敏感注意力模塊、兩層長短時網(wǎng)絡(luò)、兩個線性投影模塊和一個五層卷積的Post-Net 組成,將編碼特征轉(zhuǎn)化為梅爾頻譜; 最后的聲碼器改進自WaveNet,更加適合將12.5 毫秒幀跳的梅爾譜圖特征轉(zhuǎn)化為時域波形.
語音轉(zhuǎn)換是將語音中話者語音特點進行變換的技術(shù),一方面用于生成具有特定人物語音特征的聲音,另一方面可以解決文本到語音技術(shù)中存在的合成效果不夠自然的問題. 語音轉(zhuǎn)換涉及多項語音處理技術(shù)[28],其中語音分析是指將原始語音信號分解成某種形式的中間表達形式; 頻譜轉(zhuǎn)換是指對頻譜中的幅度譜、對數(shù)譜、倒譜等基本參數(shù)進行映射和轉(zhuǎn)換,是目前受到廣泛關(guān)注和重點解決的問題[29]; 韻律轉(zhuǎn)換主要通過對基頻包絡(luò)進行操作,進而實現(xiàn)話者的節(jié)奏、情感和情緒的轉(zhuǎn)換; 語音編碼和話者表征是將語音中的某類信息進行編碼和壓縮,從而便于表示和減少數(shù)據(jù)量.
早期的語音轉(zhuǎn)換技術(shù)一般通過統(tǒng)計方法建立模型,近年來深度學(xué)習(xí)方法在本領(lǐng)域做出很多新的貢獻. 本節(jié)將從統(tǒng)計建模方法和深度學(xué)習(xí)方法兩個角度進行梳理,并根據(jù)是否使用并行訓(xùn)練數(shù)據(jù)進一步劃分.
2.3.1 基于統(tǒng)計建模的語音轉(zhuǎn)換
在語音轉(zhuǎn)換中,統(tǒng)計建模的方法主要有碼書映射、高斯混合模型、頻率扭曲、單元選擇算法、INCA算法和話者建模算法等. 其中高斯混合模型、碼書映射、頻率扭曲需要并行訓(xùn)練數(shù)據(jù)的支持,即訓(xùn)練數(shù)據(jù)集中要有不同人物說的相同語音; 而單元選擇算法、INCA算法和話者建模算法則可以用非并行數(shù)據(jù)進行訓(xùn)練.
碼書映射的方法將話者的語音個性表示為碼本中的碼向量,因此語音轉(zhuǎn)換的問題即可表示為找到兩個碼本之間的映射函數(shù). Abe 等人[4]通過實現(xiàn)矢量量化和頻譜映射對音頻進行變換,在模型構(gòu)建階段得到頻譜參數(shù)、功率值和音調(diào)頻率的映射碼本,并在source碼本和target 碼本之間進行映射. Matsumoto 等人[30]通過對典型頻譜的估計說話人向量進行內(nèi)插,從而最小化模糊目標(biāo)函數(shù),有效降低了矢量量化的量化誤差.
基于高斯混合模型的方法[31]不是對特定的聲學(xué)特征進行操作,而是對整個頻譜包絡(luò)進行轉(zhuǎn)換. 此方法首先通過動態(tài)時間扭曲對源話者和目標(biāo)話者語音進行對齊,之后用高斯混合模型參數(shù)進行描述并用最小二乘優(yōu)化求解. 此方法結(jié)合高斯混合模型作為矢量量化方法的拓展,起到了改善語音質(zhì)量的效果,但存在過渡平滑的問題. Toda 等人[5]提出了使用動態(tài)的特征統(tǒng)計和考慮全局方差特性顯著地緩解了過渡平滑效應(yīng); Takamichi 等人[32]提出使用基于調(diào)制頻譜修正的濾波器來減輕高斯混合模型中的過平滑問題.
基于高斯混合模型的方法通常無法保留語音的細節(jié),從而出現(xiàn)語音模糊效應(yīng). 這是因為此方法利用了平均的聲學(xué)特征但缺少細節(jié)的保留,而直接改變原始頻譜的頻譜扭曲方法可以較好地解決此類問題. 基于頻譜扭曲的語音轉(zhuǎn)換方法主要通過放大或縮小頻率區(qū)間來調(diào)整波峰的位置和頻譜寬度,通過放大或縮減波峰高度來調(diào)節(jié)能量大小,最終完成原始語言到目標(biāo)語音的變換[29]. Valbret 等人[33]最早提出使用線性多元回歸和動態(tài)頻率扭曲的方法,系統(tǒng)被分為如圖4 所示的3 個階段. 第1 階段,語音波形被分解為平緩的源信號和全局包絡(luò)信號兩個分量; 第2 階段,使用Time-Domain-PSOLA 算法改變韻律,使用動態(tài)頻率扭曲來改變頻譜包絡(luò); 第3 階段將修改后的兩個分量轉(zhuǎn)換為最終音頻.此方法較好地保留了頻譜的結(jié)構(gòu)信息,但其轉(zhuǎn)換后的保真度存在明顯的差距. 為改善此問題,很多相關(guān)研究提出一些更加復(fù)雜的頻譜扭曲技術(shù),例如Sündermann等人[34]提出了單參數(shù)扭曲函數(shù)和多參數(shù)分段線性函數(shù)的處理方法,Tian 等人[35]結(jié)合頻率扭曲和基于樣本的轉(zhuǎn)換方法以保持轉(zhuǎn)換后的細節(jié).
圖4 基于頻譜扭曲的語音轉(zhuǎn)換系統(tǒng)
在語音轉(zhuǎn)換的實際應(yīng)用中一般很難找到大量并行的數(shù)據(jù),因而模型訓(xùn)練的難度也會大大提升. 如果能把語音分解成足夠細小的顆粒,那么在數(shù)據(jù)量足夠的情況下,即便是兩個人的非并行數(shù)據(jù),也能找到對應(yīng)的細小顆粒. Duxans 等人[36]采用單元選擇技術(shù)構(gòu)建偽并行樣本數(shù)據(jù)庫,進而結(jié)合并行轉(zhuǎn)換方法對語音進行轉(zhuǎn)換.此方法的問題在于數(shù)據(jù)庫的構(gòu)建較為困難.
INCA 算法[37]結(jié)合了最近鄰搜索和轉(zhuǎn)換步驟,在目標(biāo)聲學(xué)空間和源聲學(xué)空間中分別找到對應(yīng)的最近鄰向量,進一步迭代構(gòu)造中間樣本和目標(biāo)樣本的對準(zhǔn)數(shù)據(jù)集. Stylianou 等人[38]在高斯混合模型的基礎(chǔ)上實現(xiàn)了INCA 算法,實驗結(jié)果表明此方法與使用相當(dāng)數(shù)據(jù)量的并行樣本效果基本類似.
基于話者建模的轉(zhuǎn)換方法是一種首先利用文本無關(guān)的語音數(shù)據(jù)建立源人物和目標(biāo)任務(wù)的發(fā)音模型,然后再進行語音轉(zhuǎn)換的技術(shù). Wu 等人[39]將語音向量分解為語音成分和說話人特征成分,并對說話人空間采用混合因子分析器[40]進行因子分析,從而細化語音轉(zhuǎn)換中JD-GMM 的協(xié)方差. 此方法大大降低了訓(xùn)練樣本的需求量,并且方法性能在主觀和客觀指標(biāo)上都優(yōu)于傳統(tǒng)JD-GMM 方法.
2.3.2 基于深度學(xué)習(xí)的語音轉(zhuǎn)換
基于統(tǒng)計建模的語音轉(zhuǎn)化方法往往面臨著模型泛化能力不足的問題,從而致使轉(zhuǎn)換后的語音缺失細節(jié)、真實度不足. 深度學(xué)習(xí)的優(yōu)勢在于能夠擬合任何復(fù)雜的函數(shù),因此可以更好地學(xué)習(xí)語音特點這一類的高級語義. 在數(shù)據(jù)量足夠大的情況下,深度學(xué)習(xí)的優(yōu)勢更加突出,因此語音訓(xùn)練數(shù)據(jù)的準(zhǔn)備也是十分重要的問題.
(1)基于并行數(shù)據(jù)的方法
早期的深度學(xué)習(xí)模型大多只能在并行訓(xùn)練數(shù)據(jù)的支撐下完成語音轉(zhuǎn)換任務(wù). Xie 等人[41]用神經(jīng)網(wǎng)絡(luò)將基音和譜特征直接進行轉(zhuǎn)換,提高了語音合成的質(zhì)量.Chen 等人[42]提出使用深度神經(jīng)網(wǎng)絡(luò)對玻爾茲曼機進行生成性訓(xùn)練,并模擬源話者和目標(biāo)話者的頻譜包絡(luò)分布,較好地改善了生成語音中平滑效應(yīng)帶來的問題.一些基于LSTM 的工作[43,44]建模了語音幀之間的時間相關(guān)性,增強了轉(zhuǎn)換語音的連續(xù)性和自然性.
(2)基于編解碼器結(jié)構(gòu)的方法
并行數(shù)據(jù)雖然易于使用,但制作數(shù)據(jù)庫難度較大,不利于徹底發(fā)揮深度學(xué)習(xí)強大的學(xué)習(xí)能力. 并且上一段提到的方法都是一對一的語音轉(zhuǎn)換,若目標(biāo)改變還需要重新制作數(shù)據(jù)集、訓(xùn)練新的模型,因此靈活性和操作性明顯不足. 借鑒計算機視覺中的思想,說話人的轉(zhuǎn)換可以看做語音風(fēng)格的轉(zhuǎn)換,也就可以借鑒風(fēng)格遷移中的非監(jiān)督訓(xùn)練方法. Hsu 等人[45]提出利用自動編碼器分提取與說話人無關(guān)的信息,并串聯(lián)一個熱向量代表目標(biāo)說話人,再經(jīng)解碼器實現(xiàn)具有目標(biāo)話者特征的音頻輸出. 此方法顯式的引入了說話人的身份,但該模型沒有應(yīng)對未知說話人語音轉(zhuǎn)換的能力. Chou 等人[46]提出了一種通過實例規(guī)范化分離說話人和說話內(nèi)容的語音轉(zhuǎn)換方法,僅需一組實例語音就可以執(zhí)行. 如圖5所示,整個模型包括對應(yīng)目標(biāo)話者的話者編碼器、對應(yīng)源話者的內(nèi)容編碼器和綜合兩路信息的解碼器. 其中話者編碼器用來對說話人的聲音特征進行提取,內(nèi)容編碼器負責(zé)將除源說話人身份特征的內(nèi)容提取出,解碼器綜合兩路信息并合成轉(zhuǎn)換后的語音. 該模型的優(yōu)點在于提供了一個真正的多對多模型,減輕了數(shù)據(jù)和訓(xùn)練上的要求. 但此方法轉(zhuǎn)換后的效果欠佳,模型和訓(xùn)練策略都可進一步改進.
圖5 實例規(guī)范化語音轉(zhuǎn)換流程
上述方法遵循逐幀轉(zhuǎn)換的框架,因此不能實現(xiàn)序列到序列建模持續(xù)修改的優(yōu)點. 文獻[47]構(gòu)造了語音序列的識別編碼器和基于神經(jīng)網(wǎng)絡(luò)的話者編碼器,能夠?qū)⒙曇籼卣鬓D(zhuǎn)換為解糾纏的語言內(nèi)容和話者特征表示; 同時建立了序列到序列的解碼器,從編碼器的輸出中重新獲取聲學(xué)特征,并進一步通過WaveNet 聲碼器進行波形重構(gòu). 此方法性能接近最先進的并行訓(xùn)練模型,并且在2018 年語音轉(zhuǎn)換挑戰(zhàn)競賽[48]中取得冠軍.
(3)基于風(fēng)格遷移的方法
除了編解碼器結(jié)構(gòu),計算機視覺中的CycleGAN[49]也常被用到風(fēng)格轉(zhuǎn)換的領(lǐng)域中. CycleGAN 能夠在訓(xùn)練樣本不匹配時實現(xiàn)兩類樣本之間的風(fēng)格遷移,其核心點在于循環(huán)一致性損失和對抗損失. 循環(huán)一致性損失限制了X域的樣本變換到Y(jié)域后再經(jīng)Y域到X域的變換也要符合X域的分布,從而使轉(zhuǎn)換后的樣本在獲得其他域風(fēng)格的同時仍保留原始的必要特征. 對抗損失則促進判別器的鑒別能力和生成器的生成能力同步提高,進而提高風(fēng)格遷移的效果. Kaneko 等人[50]在原始CycleGAN 的基礎(chǔ)上提出CycleGAN-VC,引入門控卷積神經(jīng)網(wǎng)絡(luò)和身份映射損失,在非并行數(shù)據(jù)下的效果與基于并行數(shù)據(jù)的傳統(tǒng)方法效果相當(dāng). 為彌補轉(zhuǎn)換語音在自然度和真實性方面的不足,CycleGANVC2[51]通過引入兩步對抗損失、2-1-2 維卷積網(wǎng)絡(luò)和PatchGAN,進一步提升了模型的性能.
針對CycleGAN-VC 不能實現(xiàn)many-to-many 轉(zhuǎn)換的缺點,StarGAN-VC[52]通過擴展CycleGAN-VC 條件設(shè)置變量實現(xiàn)了單一生成器下非并行多域語音轉(zhuǎn)換. 但StarGAN-VC 生成語音的質(zhì)量僅僅能達到和CycleGANVC 相當(dāng)?shù)乃?與真實語音之間還存在人耳可以分辨的差別. 為了解決這一問題,StarGAN-VC2[53]從損失函數(shù)和網(wǎng)絡(luò)架構(gòu)兩個角度進行反思,并進一步提出更先進的方法. 其中在損失函數(shù)方面,StarGAN-VC2 提出源-目標(biāo)條件對抗損失函數(shù),促使所有轉(zhuǎn)換后的數(shù)據(jù)在源和目標(biāo)方面都接近真實數(shù)據(jù); 在網(wǎng)絡(luò)架構(gòu)方面,此方法引入一種基于調(diào)制的條件方法,從而以領(lǐng)域相關(guān)的方式實現(xiàn)聲學(xué)調(diào)制的轉(zhuǎn)換.
上述風(fēng)格遷移的方法可以實現(xiàn)說話人身份的改變,但對于情緒的控制并沒有涉及,這使得轉(zhuǎn)換語音的情感缺失. 為更好地實現(xiàn)語音情緒操縱,Zhou 等人[54]提出一種采用非配對數(shù)據(jù)進行訓(xùn)練的語音情感轉(zhuǎn)換方法.如圖6 所示,該方法運行時首先使用WORLD 聲碼器從源語音中提取頻譜特征Sp、基頻F0 和非周期Ap;通過對F0 進行連續(xù)小波變換(continuous wavelet transform,CWT)分析得到10 尺度的F0 特征; 將F0 和梅爾譜系數(shù)(Mel-cepstral coefficients,MCEPs)分別輸入到對應(yīng)訓(xùn)練好的CycleGAN 模型中進行頻譜和韻律轉(zhuǎn)換; 最后利用CWT 合成逼近法重構(gòu)F0,并由WORLD聲碼器重新構(gòu)造轉(zhuǎn)換后的語音.
圖6 文獻[54]工作流程
隨著語音處理技術(shù)不斷提升,偽造語音的身影在社會生活中出現(xiàn)的更加頻繁. 一方面語音提醒、語音解鎖、短視頻配音等自動化語音技術(shù)方便了人們的生活,滿足了大眾追求美好生活的需要. 另一方面,語音技術(shù)的不當(dāng)使用甚至濫用影響了人們的正常生活,更有甚者給社會和國家造成惡劣影響,成為不得不關(guān)注的安全隱患. 例如不法分子暗中收集手機用戶的語音數(shù)據(jù),并偽造聲紋破解移動支付的密碼進而對錢財進行竊取; 結(jié)合深度視覺偽造技術(shù),對他人聲譽形象進行破壞,一些針對各國重要人物的語音偽造甚至?xí)鹫趾蜕鐣膭邮? 在此背景下,如何實現(xiàn)合成語音的有效識別成為語音技術(shù)廣泛應(yīng)用不得不面臨的重要問題.
最原始的語音鑒偽方法是直接讓聽眾判斷,然后計算平均意見分數(shù)(mean opinion score,MOS)[55],從而對音頻的真實度和相似程度進行評判. 此種方法簡單有效,在科研學(xué)術(shù)中常被用作算法評價的重要依據(jù),但同時存在花費大量精力、主觀評價成分多的不足. 近年來深度學(xué)習(xí)在語音偽造領(lǐng)域的興起促進了語音合成往質(zhì)量高、速度快的方向發(fā)展,我們需要更客觀、準(zhǔn)確、有效的鑒偽方法來應(yīng)對該領(lǐng)域的新變化. 目前主流的語音鑒偽技術(shù)主要包括基于特征的語音鑒偽和基于數(shù)據(jù)的語音鑒偽.
基于特征的語音鑒偽一般分為2 步,第1 步通過人工構(gòu)建或者神經(jīng)網(wǎng)絡(luò)提取的方式獲取特征,第2 步將特征輸入分類器進行下一步的判別. Patel 等人[56]提出基于耳蝸濾波器倒譜系數(shù)和瞬時頻率變化構(gòu)造幀級特征,再借助高斯混合模型進行判別,以此捕獲跨幀的特征變化. Villalba 等人[57]使用基于深度神經(jīng)網(wǎng)絡(luò)的頻譜對數(shù)濾波器組和相對相移特征作為分類器的輸入,并使用神經(jīng)網(wǎng)絡(luò)進行特征降維后通過支持向量機進一步分類. 上述2 種方法逐幀的提取特征,無法在時間維度建立數(shù)據(jù)之間的聯(lián)系,因此無法應(yīng)對更復(fù)雜的偽造情況.
Gomez-Alanis 等人[58]提出一種集成輕量級卷積神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)架構(gòu)LC-GRNN,從而同時實現(xiàn)提取幀級特征和學(xué)習(xí)時間相關(guān)性. 如圖7 所示,對于一段語音的頻譜圖,該方法按照幀長和幀間隔逐幀提取語音內(nèi)容,并輸入到輕量級門控循環(huán)單元細胞LC-GRU 中,在最后一個時間幀之后的最后一層輸入到全連接層進行判決. 實驗表明,該方法的檢測效果優(yōu)于未考慮時間相關(guān)性的鑒偽模型.
圖7 LC-GRNN 工作流程
基于特征的語音鑒偽往往利用人工構(gòu)造的聲學(xué)特征,對于某項單一的檢測任務(wù)能達到要求. 但隨著語音偽造技術(shù)的不斷更迭,互聯(lián)網(wǎng)上各種復(fù)雜的語音情況此起彼伏,對語音鑒偽的廣泛性和集約性提出了更高的要求. 僅僅靠提取單個或幾個語音特征再進行分類的做法不足以徹底挖掘龐大復(fù)雜數(shù)據(jù)的潛力,更多研究的重點轉(zhuǎn)移到了基于數(shù)據(jù)的語音鑒偽.
Jung 等人[59]采用端到端的深度神經(jīng)網(wǎng)絡(luò)代替手工提取聲學(xué)特征的過程,同時將高分辨率的功率譜密度和頻譜圖輸入到網(wǎng)絡(luò)中進行處理,在沒有專業(yè)知識的輔助的情況下有效完成了檢測任務(wù). Zeinali 等人[60]融合了具有單通道對數(shù)頻譜圖特征的VGG 網(wǎng)絡(luò)和兩個不同dropout 概率的SincNet,雖然能夠在訓(xùn)練集上有很好的表現(xiàn),但泛化能力不足,無法檢測訓(xùn)練時看不到的攻擊. 考慮基于語音合成和語音轉(zhuǎn)換的麥克風(fēng)級攻擊和再現(xiàn)攻擊,Monteiro 等人[61]引入改進后的輕量級卷積神經(jīng)網(wǎng)絡(luò)和注意力層,從而應(yīng)對不同的輸入長度和某些重點部分. 該工作表明訓(xùn)練數(shù)據(jù)有限時使用輕型模型會導(dǎo)致性能的下降,并觀察到語音輸入形式對不同類型的攻擊檢測效果有相當(dāng)大的影響. Chettri等人[62]建立了包含卷積神經(jīng)網(wǎng)絡(luò)、卷積循環(huán)網(wǎng)絡(luò)、Wave-U-Net、支持向量機以及高斯混合模型的集成模型,在訓(xùn)練和驗證期間存在攻擊類型不同的情況下仍然有著不錯的鑒偽效果. 該研究表明,集成的方法有利于提高語音鑒偽模型的魯棒性.
盡管深度學(xué)習(xí)的不斷突破和創(chuàng)新給語音偽造和鑒偽領(lǐng)域已經(jīng)帶來了巨大的進步,但這些領(lǐng)域仍存在諸多亟待克服的困難. 對于語音偽造來說,現(xiàn)有的模型大多是一對一的模型,無法方便有效的遷移到其他未知人物的語音合成任務(wù)上; 即便是一對一的模型,若要實現(xiàn)令人滿意的效果也需要大量內(nèi)容上高度一致的配對訓(xùn)練數(shù)據(jù),這對于數(shù)據(jù)集的構(gòu)建提出了嚴(yán)格的要求; 同時大多數(shù)的模型專注于頻率的偽造,對于韻律的偽造并沒有更多的研究. 另外,如果要落地到現(xiàn)實的應(yīng)用場景,還需要考慮轉(zhuǎn)換速率、模型大小以及惡劣噪聲環(huán)境影響的問題. 針對于這些挑戰(zhàn),語音偽造下一步應(yīng)朝以下方向發(fā)展.
(1)多對多模型. 理想的語音偽造框架應(yīng)該自動的提取目標(biāo)說話人的風(fēng)格,而不限于說話人的具體身份,因此對于文本到語音任務(wù)我們只需輸入模型一段文本和一段目標(biāo)話者的語音,對于語音轉(zhuǎn)換任務(wù)我們只需要分別提供一段源話者和目標(biāo)話者的語音. 這樣的模型需要學(xué)習(xí)真正將語音的內(nèi)容和風(fēng)格完全分離,因此模型的體量和訓(xùn)練數(shù)據(jù)集的大小應(yīng)該都是有一定規(guī)模.
(2)自監(jiān)督的訓(xùn)練方法. 深度學(xué)習(xí)是依賴數(shù)據(jù)的技術(shù),因此要想提升模型的效果,數(shù)據(jù)集必然越大越好、覆蓋性越廣越好. 自監(jiān)督的訓(xùn)練方法大大降低的龐大數(shù)據(jù)集的使用難度,顯著減輕了人工標(biāo)注的壓力,有利于徹底挖掘模型和數(shù)據(jù)潛力. 我們可以借鑒目前較為流行的自監(jiān)督對比學(xué)習(xí)方法[63],提出適合語音偽造任務(wù)的訓(xùn)練策略.
(3)考慮韻律轉(zhuǎn)換的模型. 人的語音特征可分為頻率特征和韻律特征,頻率特征決定了人的音色,而韻律特征代表人的說話的節(jié)奏、韻腳等. 現(xiàn)有的模型如Tacotron 都未考慮韻律的轉(zhuǎn)換,因此合成的語音較為生硬,下一步的模型應(yīng)著重實現(xiàn)韻律轉(zhuǎn)換.
(4)更魯棒的模型. 實際的語音質(zhì)量并不一定良好,很多有背景噪聲、音樂等干擾,如何消除非語音信息的干擾是該領(lǐng)域需要重點關(guān)注的方向.
(5)更快更小的模型. 我們要將模型壓縮的技術(shù)應(yīng)用到現(xiàn)有語音偽造模型上,只有模型的體量降低下來,移動端設(shè)備才可以廣泛的使用這些模型,適用的應(yīng)用場景才會越來越豐富.
同樣的,語音鑒偽領(lǐng)域也存在不可避免的挑戰(zhàn). 從本質(zhì)上講,偽造語音檢測也是一種分類任務(wù),因此分類中常見的問題在偽造語音檢測中也會遇到. 首先,在模型訓(xùn)練中看不到的偽造樣本在測試階段同樣也很難檢測出,這就導(dǎo)致了偽造和鑒偽成了一對貓鼠游戲,總會有新的偽造方法來躲避既有鑒偽方法的檢測,而現(xiàn)有的鑒偽模型又不得不不斷地在訓(xùn)練集中納入新的偽造樣本. 其次,即便是訓(xùn)練集中存在的偽造樣本,也會存在樣本不均衡的問題,導(dǎo)致某些特定的偽造方法難以被檢測出. 針對以上問題,語音鑒偽未來需要關(guān)注以下幾點.
(1)實際使用中關(guān)注最新的語音偽造方法,不斷更新訓(xùn)練集,盡可能多的包含不同種類的樣本.
(2)采用重采樣、人工產(chǎn)生數(shù)據(jù)樣本等方法改善訓(xùn)練樣本中數(shù)據(jù)不均衡的問題.
(3)在集成模型方面進行更多的嘗試. 現(xiàn)有工作表明集成模型對未知攻擊有一定的檢測效果,未來構(gòu)建更好的集成模型也是重點需要關(guān)注的方向.
此外,語音偽造與視覺偽造的結(jié)合也是建立未來虛擬世界的支柱,需要研究視覺和聽覺協(xié)同時將面臨的新挑戰(zhàn). 面對語音偽造的威脅,一些個人賬戶平臺可以采用多種手段進行驗證,以提升抵御未知風(fēng)險的能力.
新的技術(shù)帶來新的發(fā)展,新的發(fā)展迎來新的挑戰(zhàn).語音技術(shù)是現(xiàn)代人工智能發(fā)展的一個縮影,給人們的生活、社會的進步帶來新的活力. 同時技術(shù)被一些不法分子掌握之后,又給社會帶來了不穩(wěn)定的因素. 我們要看清楚技術(shù)本身并沒有好壞之分,無論怎樣都不能抵制技術(shù)的發(fā)展,而要引導(dǎo)技術(shù)往好的方向去應(yīng)用. 這就要求我們技術(shù)的研發(fā)者要多方面的考慮問題,既要做推動技術(shù)騰飛的發(fā)動機,也要守好基本底線,做遏制技術(shù)脫離正軌的防護欄.