一、深度學習
在語音合成中的應用
語音合成主要採用波形拼接合成和統計引數合成兩種方式。波形拼接語音合成需要有足夠的高質量發音人錄音才能夠合成高質量的語音,它在工業界中得到了廣泛使用。統計引數語音合成雖然整體合成質量略低,但是在發音人語料規模有限的條件下,優勢更為明顯。在上一期我們重點介紹了深度學習在統計引數語音合成中的應用,本期將和大家分享基於波形拼接的語音合成系統,圍繞 siri 近期推出的語音合成系統展開介紹,它是一種混合語音合成系統,選音方法類似於傳統的波形拼接方法,它利用引數合成方法來指導選音,本質上是一種波形拼接語音合成系統。
單元選擇是波形拼接語音合成系統的基本難題,需要在沒有明顯錯誤的條件下將合適的基元組合在一起。語音合成系統通常分為前端和後端兩個部分,前端模組對於提高語音合成系統的表現力起到非常重要的作用。前端模組將包含數字、縮寫等在內的原始文字正則化,並對各個詞**讀音,解析來自文字的句法、節奏、重音等資訊。因此,前端模組高度依賴於語言學資訊。後端通過語言學特徵**聲學引數,模型的輸入是數值化的語言學特徵。模型的輸出是聲學特徵,例如頻譜、基頻、時長等。在合成階段,利用訓練好的統計模型把輸入文字特徵對映到聲學特徵,然後用來指導選音。在選音過程中需要重點考慮以下兩個準則:(1)候選基元和目標基元的特徵必須接近;(2)相鄰兩個基元的邊界處必須自然過渡。可以通過計算目標代價和拼接代價評估這兩個準則;然後通過維特比演算法計算最優路徑確定最終的候選基元;最後通過波形相似重疊相加演算法找出最佳拼接時刻,因此生成平滑且連續合成語音。
siri 的 tts 系統的目標是訓練乙個基於深度學習的統一模型,該模型能自動準確地**資料庫中單元的目標成本和拼接成本。因此該方法使用深度混合密度模型來**特徵值的分布。這種網路結構結合了常規的深度神經網路
和高斯混合模型的優勢,即通過 dnn 對輸入和輸出之間的複雜關係進行建模,並且以概率分布作為輸出。系統使用了基於 mdn 統一的目標和拼接模型,該模型能**語音目標特徵(譜、基頻、時長)和拼接成本分布,並引導基元的搜尋。對於母音,有時語音特徵相對穩定,而有些時候變化又非常迅速,針對這一問題,模型需要能夠根據這種變化性對引數作出調整,因此在模型中使用嵌入方差解決這一問題。系統在執行速度、記憶體使用上具有一定優勢,使用快速預選機制、單元剪枝和計算並行化優化了它的效能,可以在移動裝置上執行。
二、深度學習在語音增強中的應用
通過語音增強可以有效抑制各種干擾訊號,增強目標語音頻號;有效的語音增強演算法一方面可以提高語音可懂度和話音質量,另一方面有助於提高語音識別和聲紋識別的魯棒性。經典的語音增強方法包括譜減法、維納濾波法、最小均方誤差法,上述方法基於一些數學假設,在真實環境下難以有效抑制非平穩雜訊的干擾。基於盲分離的非負矩陣分解方法也得到了一定關注,但是這類方法計算複雜度相對較高;近年來,基於深度學習的語音增強方法得到了越來越多的關注,接下來重點介紹幾種典型的基於深度學習的語音增強方法。
1. **幅值譜資訊
這類方法通過深層神經網路模型建立帶噪語音和乾淨語音譜引數之間的對映關係,模型的輸入是帶噪語音的幅值譜相關特徵,模型的輸出是乾淨語音的幅值譜相關特徵,通過深層神經網路強大的非線性建模能力重構安靜語音的幅值譜相關特徵;神經網路模型結構可以是 dnn/blstm-rnn/cnn 等;相比於譜減、最小均方誤差、維納濾波等傳統方法,這類方法可以更為有效的利用上下文相關資訊,對於處理非平穩雜訊具有明顯的優勢。
2. **遮蔽值資訊
採用這類方法建模時模型的輸入可以是聽覺域相關特徵,模型的輸出是二值型遮蔽值或浮點型遮蔽值,最常用的聽覺域特徵是 gamma 濾波器相關特徵,這種方法根據聽覺感知特性將音訊訊號分成不同子帶提取特徵引數;對於二值型遮蔽值,如果某個時頻單元能量是語音主導,則保留該時頻單元能量,如果某個時頻單元能量是雜訊主導,則將該時頻單元能量置零;採用這種方法的優勢是,共振峰位置處的能量得到了很好的保留,而相鄰共振峰之間波谷處的能量雖然失真誤差較大,但是人耳對這類失真並不敏感;因此通過這種方法增強後的語音具有較高的可懂度;浮點值遮蔽是在二值型遮蔽基礎上進一步改進,目標函式反映了對各個時頻單元的抑制程度,進一步提高增強後語音的話音質量和可懂度。
3. **複數譜資訊
4. pit 說話人分離
通過說話人分離技術可以將混疊語音中不同的說話人資訊有效分離出來,已有的基於深度學習的說話人分離模型受限於說話人,只能分離出特定說話人的聲音;採用具有置換不變性的訓練方法得到的說話人分離模型不再受限於特定說話人;這種方法通過自動尋找分離出的訊號和標註的聲源之間的最佳匹配來優化語音增強目標函式;模型的輸入是混疊語音的譜引數特徵,模型的輸出包含多個任務,每個任務對應乙個說話人;在訓練過程中,對於訓練集中乙個樣本內,每個任務固定對應某個說話人;可以採用 blstm-rnn 模型結構建模。
5. deepclustering 說話人分離
基於深度聚類的說話人分離方法是另一種說話人無關的分離模型,這種方法通過把混疊語音中的每個時頻單元結合它的上下文資訊對映到乙個新的空間,並在這個空間上進行聚類,使得在這一空間中屬於同一說話人的時頻單元距離較小可以聚類到一起;將時頻單元對映到新的空間跟詞向量抽取的思想有些類似,可以通過 k 均值聚類的方法對時頻單元分組,然後計算二值型遮蔽值分離出不同說話人的語音,也可以通過模糊聚類的方法描述不同的時頻單元,然後計算浮點型遮蔽值後分離混疊語音。基於深層聚類的方法和基於 pit 的方法有著各自的優勢,為了更有效的解決問題,可能需要將兩種方法有效的結合。
6. 基於對抗網路的語音增強
在深度學習生成模型方面的最新突破是生成對抗網路,gan 在計算機視覺領域生成逼真影象上取得巨大成功,可以生成畫素級、複雜分布的影象。gan 還沒有廣泛應用於語音生成問題。本文介紹一種基於對抗網路的語音增強方法。這種方法提供了一種快速增強處理方法,不需要因果關係,沒有 rnn 中類似的遞迴操作;直接處理原始音訊的端到端方法,不需要手工提取特徵,無需對原始資料做明顯假設;從不同說話者和不同型別雜訊中學習,並將它們結合在一起形成相同的共享引數,使得系統簡單且泛化能力較強。
語音增強問題是由輸入含噪訊號得到增強訊號,這種方法通過語音增強 gan 實現,其中生成網路用於增強。它的輸入是含噪語音頻號和潛在表徵訊號,輸出是增強後的訊號。將生成器設計為全部是卷積層(沒有全連線層),這麼做可以減少訓練引數從而縮短了訓練時間。生成網路的乙個重要特點是端到端結構,直接處理原始語音頻號,避免了通過中間變換提取聲學特徵。在訓練過程中,鑑別器負責向生成器傳送輸入資料中真偽資訊,使得生成器可以將其輸出波形朝著真實的分布微調,從而消除干擾訊號。
三、總結
本文圍繞著近年來深度學習在語音合成和語音增強問題中的新方法展開介紹,雖然語音合成和語音增強需要解決的問題不同,但是在建模方法上有很多相通之處,可以相互借鑑。深度學習方法在語音轉換、語音頻寬擴充套件等領域也有著廣泛的應用,感興趣的讀者可以關注這一領域最新的研究成果。雖然深度學習的快速發展推動了智慧型語音產品的落地,但是仍有些問題不能依賴於深度學習方法徹底解決,例如提高合成語音的表現力、提高增強後語音的可懂度,需要在對輸入輸出特徵的物理含義深入理解的基礎上,有效的表徵資訊,選擇合適的方法進行建模。
劉斌:中科院自動化所博士,極限元資深智慧型語音演算法專家,中科院-極限元智慧型互動聯合實驗室核心技術人員,在國際頂級會議上發表多篇文章,獲得多項關於語音及音訊領域的專利,具有豐富的工程經驗,擅長
語音頻號處理和深度學習,提供有效的技術解決方案。
基於深度學習方法的語音識別研究(三)
前些天在師兄的幫助下,在此感謝工大的薛師兄,實現了blstm的語音識別聲學模型的搭建,由於實驗室存在保密協議,只能提供部分 還望各位同學體諒,如下 coding utf 8 author zhangwei import tensorflow as tf import numpy as np file...
基於深度學習的中文語音識別系統框架學習筆記
2 使用原文提供的聲學模型和語言模型測試結果,資料標籤整理在data路徑下,其中primewords st cmd目前未區分訓練集測試集。若需要使用所有資料集,只需解壓到統一路徑下,然後設定utils.py中datapath的路徑即可。我測試時只使用了thches30語音庫,解壓到data資料夾,修...
基於粒子群優化深度極限學習機的故障診斷方法
深度極限學習機 delm 目前主要含兩種基本結構 1 利用傳統深度學習框架 主要是堆疊自動編碼器,或者是深度置信網路 進行資料的深度自適應特徵提取,而後將獲得的特徵輸入至極限學習機及其變種中進行分類或回歸 2 利用極限學習機與自動編碼器相結合,形成極限學習機 自動編碼器 elm ae 結構如圖1,將...