肖 晶, 劉佳奇, 李登實(shí), 趙蘭馨, 王前瑞
1(武漢大學(xué) 計(jì)算機(jī)學(xué)院 國家多媒體軟件工程技術(shù)研究中心, 武漢 430072)
2(武漢大學(xué) 多媒體與網(wǎng)絡(luò)通信工程湖北省重點(diǎn)實(shí)驗(yàn)室, 武漢 430072)
3(江漢大學(xué) 人工智能學(xué)院, 武漢 430056)
語音可懂度增強(qiáng)是在嘈雜環(huán)境中再生干凈語音(沒有噪音)的感知增強(qiáng)技術(shù), 常應(yīng)用在移動設(shè)備通信時. 近幾十年來, 語音可懂度增強(qiáng)[1]技術(shù)引起了廣泛的關(guān)注. 最近的理論發(fā)展表明基于掩碼原理和數(shù)字信號處理算法增強(qiáng)語音可懂度使語音自然度下降. 一些常見的提升語音可懂度的方法有修改譜特性[2], 非線性放大如范圍壓縮[3], 選擇性的增強(qiáng)某些信號成分如文獻(xiàn)[4],或語音調(diào)制[5], 以及時間尺度的修改[6].
說話風(fēng)格轉(zhuǎn)換(SSC)[7]是一種數(shù)據(jù)驅(qū)動方法, 該方法基于一種被稱為倫巴第效應(yīng)[8]的特殊發(fā)聲效果, 旨在改變給定語音信號的風(fēng)格同時保持說話者的聲學(xué)特征, 以增強(qiáng)語音可懂度. SSC 通過參數(shù)化方法利用數(shù)據(jù)來對正常風(fēng)格語音到倫巴第風(fēng)格語音轉(zhuǎn)換進(jìn)行學(xué)習(xí)和建模, 可以對語音轉(zhuǎn)換進(jìn)行更全面的處理, 同時保證轉(zhuǎn)換后的語音的質(zhì)量和自然度. 本文遵循同樣的策略使用一種基于WORLD 聲碼器[9]的參數(shù)化方法.
目前主流的SSC 方法分為平行SSC 和非平行SSC.對于平行SSC, 以前的方法利用基于平行數(shù)據(jù)的學(xué)習(xí)技術(shù)如高斯混合模型(GMM)[10], 深度神經(jīng)網(wǎng)絡(luò)(DNN)架構(gòu)[11]和RNN 架構(gòu)[12], 該技術(shù)依賴于有效的源(正常)語音和目標(biāo)(倫巴第)語音平行語音對. 然而, 在倫巴第反射下人說話的語速通常較慢. 平行SSC 需要利用時間對齊操作對訓(xùn)練數(shù)據(jù)進(jìn)行預(yù)處理這將會導(dǎo)致一些特征失真, 因此更加推薦使用非平行SSC 來避免時間對齊操作. 最近的一些研究已經(jīng)結(jié)合了循環(huán)一致的生成對抗網(wǎng)絡(luò)(CycleGANs) 來學(xué)習(xí)生成接近目標(biāo)的分布, 該方法不需要平行的語音對. 通過使用CycleGAN得到了非平行SSC, 該方法生成的語音比平行SSC 生成的語音有更好的可懂度和自然度.
但是, 仍然存在兩個主要的兩個局限性:
(1) 基頻(F0)是一維特征. ①F0 既受短時依賴關(guān)系的影響, 也受長時依賴關(guān)系的影響. ② 如圖1 所示,由于清音和濁音的存在, 導(dǎo)致F0 是不連續(xù)的. 另一個更重要的特征即梅爾倒譜系數(shù)(MCEPs)是一種高維連續(xù)的特征. 文獻(xiàn)[13]將MCEPs 和一維的F0 一起映射會導(dǎo)致分布混合, 而且其提取了40 維MCEPs, 但是只用10 維進(jìn)行特征映射不能代表完整的倫巴第風(fēng)格.

圖1 F0 的頻譜圖, F0 是一維不連續(xù)特征 (藍(lán)色區(qū)域表示清音幀, 紅色區(qū)域表示濁音幀)
(2) 倫巴第效應(yīng)在不同噪聲環(huán)境中性能方面存在局限性, 僅具有倫巴第效應(yīng)的SSC 在信噪比非常低的強(qiáng)噪聲干擾中效果不佳, 尤其在SNR≤0 dB 的情況下.
為了克服第1 個局限性, 提出使用連續(xù)小波變換(CWT)映射F0 的時間相關(guān)性, 并使用20 維MCEPs特征全面地表示聲學(xué)特征. CWT 被用來描述多個時間尺度上的語音參數(shù), 實(shí)際上, 其已經(jīng)應(yīng)用在許多領(lǐng)域中,例如文獻(xiàn)[14].
為了克服第2 個局限性, 提出使用iMetricGAN[15],iMetricGAN 是一個生成對抗網(wǎng)絡(luò)(GAN)系統(tǒng), 由生成器和判別器組成, 生成器作為可懂度增強(qiáng)模塊用來增強(qiáng)語音信號, 判別器用來學(xué)習(xí)預(yù)測生成器生成語音的可懂度分?jǐn)?shù). 與一般的GAN 網(wǎng)絡(luò)不同, iMetricGAN 的判別器不是用來鑒別真假, 而是作為一個學(xué)習(xí)代理盡可能地接近可懂度指標(biāo), 然后可以在這個代理的指導(dǎo)下適當(dāng)?shù)赜?xùn)練生成器.
本文的主要貢獻(xiàn)包括: 1) 提出了一個基于CycleGAN使用CWT 和iMetricGAN 的非平行SSC 框架, 稱為NS-CiC; 2) 針對線性F0 缺乏時間相關(guān)性的問題, 使用CWT 變換將低維的F0 處理成10 維的CWT 系數(shù)并映射了更高維的MCEPs 特征; 3) 利用iMetricGAN 方法優(yōu)化對抗生成網(wǎng)絡(luò)(GANs)的語音可懂度指標(biāo). 實(shí)驗(yàn)結(jié)果表明, NS-CiC 在客觀和主觀評價上均顯著提高了強(qiáng)噪聲環(huán)境下的語音可懂度.
研究基準(zhǔn)[13]的非平行SSC 框架如圖2 所示. 源語音(輸入)是正常風(fēng)格的語音, 而目標(biāo)語音(輸出)是內(nèi)容相同的倫巴第風(fēng)格語音. 非平行SSC 框架主要由3 部分組成: 聲碼器分析器、特征映射和聲碼器合成器. 首先, 通過聲碼器分析器從輸入信號中提取語音特征. 然后, 利用映射系統(tǒng)對與SSC 密切相關(guān)的特征進(jìn)行轉(zhuǎn)換. 最后, 將映射的和未轉(zhuǎn)換的特征輸入聲碼器, 聲碼器合成倫巴第風(fēng)格的目標(biāo)語音.

圖2 非平行SSC 示意圖
CycleGAN 包含3 部分損失: 對抗損失、循環(huán)一致性損失和身份映射損失, 通過這3 個損失函數(shù)來學(xué)習(xí)源數(shù)據(jù)和目標(biāo)數(shù)據(jù)之前的正向和反向映射. 對于正向映射, 其定義為:

轉(zhuǎn)換后的數(shù)據(jù)與目標(biāo)數(shù)據(jù)的分布越接近,LADV就越小. 為了保證X與GX→Y的上下文信息一致, 定義了循環(huán)一致性損失函數(shù)如下:

該損失促使GX→Y和GY→X通過循環(huán)轉(zhuǎn)換找到(x,y)的最佳偽對. 為了在沒有任何額外處理的情況下保留語言信息, 引入了如下身份映射損失函數(shù):

文獻(xiàn)[13]僅映射不連續(xù)的1 維F0 并將其與連續(xù)的10 維MCEPs 一起訓(xùn)練, 而且該系統(tǒng)不擅長處理強(qiáng)噪聲的干擾. 為了克服這些局限性, 提出了NS-CiC 方法.
提出的框架的整個過程如圖3 所示, WORLD 聲碼器以5 ms 的幀偏移執(zhí)行分析和合成. 基于語音的兩個重要特性, 將整個框架分為兩部分即CWT 模塊和iMetric-GAN 模塊. 首先用聲碼器提取語音信號的F0 和MCEP特征. 然后整個系統(tǒng)使用CycleGAN 作為基礎(chǔ)映射模型,聲碼器提取的兩個特征通過CWT 模塊和iMetricGAN模塊的過程分別進(jìn)行映射. 最后, 預(yù)測的特征和轉(zhuǎn)變的特征一起作為聲碼器的輸入以合成增強(qiáng)的語音.

圖3 提出的NS-CiC 方法示意圖
在CWT 模塊中,F0 是一維特征. 因?yàn)檎Z音中存在濁音/清音, 因此從WORLD 聲碼器中提取的F0 特征是不連續(xù)的. 由于CWT 對F0 的不連續(xù)性很敏感, 對F0 進(jìn)行以下預(yù)處理步驟: 1) 在清音區(qū)域上進(jìn)行線性插值; 2) 將F0 從線性轉(zhuǎn)換為對數(shù); 3) 將F0 標(biāo)準(zhǔn)化使其均值為0 方差為1. 我們首先用CWT 將1 維的F0 分解為10 維并將不連續(xù)的F0 插值為連續(xù)特征. 然后用CycleGAN 網(wǎng)絡(luò)來映射源訓(xùn)練數(shù)據(jù)和目標(biāo)訓(xùn)練數(shù)據(jù), 這些數(shù)據(jù)均來自于同一個人, 但是由不同的風(fēng)格和能量組成. 最后, 用CWT 逆變換將映射的10 維F0 變換成1 維.
在iMetricGAN 模塊中, 用40 維的MCEPs 表示頻譜包絡(luò), 前20 維MCEPs (c0–c19)作為訓(xùn)練數(shù)據(jù). 在第1 階段, 使用CycleGAN 通過對抗損失和循環(huán)一致性損失同時學(xué)習(xí)正向和反向映射, 經(jīng)CycleGAN 預(yù)測, 正常語音的MCEPs 轉(zhuǎn)變?yōu)閭惏偷谔卣? 在第2 階段, 使用iMetricGAN 增強(qiáng)在強(qiáng)噪聲環(huán)境中的可懂度. 將預(yù)提取的噪聲特征和變換后的MCEP 一起作為iMetricGAN模型的輸入, 從而獲得增強(qiáng)的MCEPs.
小波變換為信號提供了一種易于理解的可視化表示. 使用CWT, 可以將信號分解為不同的時間尺度.
我們注意到CWT 已經(jīng)成功地應(yīng)用于語音合成[16]和語音轉(zhuǎn)換[17].
給定一個有界的連續(xù)信號k0, 其CWT 用W(k0)(τ,t)表示可以寫成:

但是, 如果關(guān)于W(k0)的所有信息都不可用, 則逆變換是不完整的. 在這項(xiàng)研究中, 將分析器固定在10 個離散的尺度上, 相隔一個八度. 分解如下:

逆變換得到的k0近似為:

其中,i=1, …, 10,τ0=5 ms, 這些最初是在文獻(xiàn)[18]中提出的. 因?yàn)檎Z音的韻律在不同的時間維度上的表現(xiàn)是不同的. 圖4(b)給出了10 個維度的CWT 分量, 而圖4(a)只能表示一維的不連續(xù)特征. 通過多維度表示, 低維度可以捕捉到短期變化, 高維度可以捕捉到長期變化. 通過這種方式, 能夠?qū)0 從細(xì)致的韻律級到整體語音級進(jìn)行風(fēng)格轉(zhuǎn)換.

圖4 一維F0 與多維CWT 系數(shù)的頻譜圖
iMetricGAN 模型框架如圖5 所示. 它由一個生成器(G)網(wǎng)絡(luò)和一個判別器(D)網(wǎng)絡(luò)組成.G接收語音s特征和噪聲w特征, 生成增強(qiáng)的語音. 生成的語音表示為G(s,w). 給定s和w,D被用于預(yù)測增強(qiáng)語音G(s,w)的可懂度分?jǐn)?shù).D的輸出表示為D(G(s,w),s,w), 并希望它能接近通過特定方法計(jì)算得到的真實(shí)可懂度分?jǐn)?shù). 引入了函數(shù)Q(·)來表示要建模的可懂度指標(biāo), 即以比特為單位的高斯信道語音可懂度(SIIB G-auss)[19]和擴(kuò)展短時客觀可懂度(ESTOI)[20](已經(jīng)取得了最好的表現(xiàn)).
使用上述符號, 圖5(a)中D的訓(xùn)練目標(biāo)可以表示為最小化以下?lián)p失函數(shù):

在D訓(xùn)練的過程中, 損失函數(shù)被擴(kuò)展到式(9):

可以把式(9)視為有輔助知識的損失函數(shù), 式(8)視為有零知識的損失函數(shù). 請注意,不應(yīng)被視為真實(shí)語音特征或訓(xùn)練標(biāo)簽.G的訓(xùn)練過程如圖5(b)所示, 其中,D的參數(shù)是固定的, 通過訓(xùn)練G以達(dá)到盡可能高的可懂度分?jǐn)?shù). 為了實(shí)現(xiàn)這一點(diǎn), 將式(10)中的目標(biāo)分?jǐn)?shù)t設(shè)置為可懂度指標(biāo)的最大值.

圖5 iMetricGAN 的網(wǎng)絡(luò)框架及其訓(xùn)練過程

G和D迭代訓(xùn)練, 直到收斂.G充當(dāng)增強(qiáng)模塊, 通過訓(xùn)練G來欺騙D以獲得更高的可懂度分?jǐn)?shù). 另一方面,D試圖不被欺騙并準(zhǔn)確評估轉(zhuǎn)變后的語音的分?jǐn)?shù).這個極大極小博弈最終使G和D都有效. 因此, 通過G可以提高輸入語音的可懂度.
數(shù)據(jù)集: 選擇了最新的開源倫巴第語料庫(不使用視頻數(shù)據(jù)) Lombard Grid[21]作為數(shù)據(jù)集, 該語料庫包含30 名女性說話者和24 名男性說話者, 每個人以16 kHz采樣率記錄了50 個正常風(fēng)格的語音和50 個倫巴第風(fēng)格的語音. 語料庫的2/3 和1/3 分別用于訓(xùn)練和評估.我們選擇了一個德語語料庫[22]作為測試集, 該語料庫包含來自8 個說話者的40 句話, 每句話具有3 種不同的倫巴第風(fēng)格0、55、70.
環(huán)境噪音: 參考相關(guān)研究, 從NOISEX-92 數(shù)據(jù)庫[23]中選取3 種類型的噪聲進(jìn)行實(shí)驗(yàn). 這3 種噪音分別是Factory1 (非平穩(wěn))、Factory2 (非平穩(wěn))和Volvo (平穩(wěn)).我們將Volvo 噪聲的信噪比設(shè)置為?25 dB 和?15 dB,Factory1 和Factory2 噪聲的信噪比設(shè)置為?5 dB 和0 dB.
對比方法: 我們設(shè)置了4 組對比實(shí)驗(yàn), 分別是CycleGAN 方法, 最新的IISPA 方法[24], 提出的10 維MCEPs 即NC-CiLC 和20 維MCEPs 即NS-CiHC 方法. 為了驗(yàn)證語音可懂度增強(qiáng)的效果, 在實(shí)驗(yàn)中還加入了正常語音.
提出的方法的實(shí)現(xiàn): 在CycleGAN 中, 參數(shù)的設(shè)置與參照方法相同. 如圖5 所示,D的輸入特征是3 通道頻譜圖(即已處理、未處理、噪聲).D由5 層具有以下數(shù)量的過濾器和卷積核大小: [8 (5, 5)]、[16 (7, 7)]、[32(10, 10)]、[48 (15, 15)]和[64 (20, 20)]的2 維CNN 組成, 其中每層都帶有LeakyReLU 激活函數(shù). 全局平均池化之后是最后一個CNN 層, 該層產(chǎn)生固定的64 維特征. 再連續(xù)添加兩個帶有LeakyReLU 激活函數(shù)的全連接層, 這兩層分別有64 個節(jié)點(diǎn)和10 個節(jié)點(diǎn).D的最后一層是全連接層, 它的輸出代表可懂度指標(biāo)的分?jǐn)?shù). 因此, 最后一層的節(jié)點(diǎn)數(shù)等于可懂度指標(biāo)的節(jié)點(diǎn)數(shù). 我們將ESTOI 評分標(biāo)準(zhǔn)化使其范圍為0 到1, 因此, 用ESTOI 評分訓(xùn)練時, 最后一層使用Sigmoid 激活函數(shù).
超參數(shù)設(shè)置: CWT 時間尺度設(shè)置: 將F0 分解為不同時間維度的CWT 系數(shù), 并分別比較CWT 系數(shù)的權(quán)重、對特征變換的影響程度以及實(shí)現(xiàn)的復(fù)雜度. 如圖6(a)所示, 就特征變換的質(zhì)量和復(fù)雜性而言, 發(fā)現(xiàn)將F0 分解成10 維的CWT 系數(shù)更合適. MCEPs 維度設(shè)置: 圖6(b)為同一句子不同發(fā)聲方式的MCEPs 幅值譜(q=40). 將不同維度的MCEPs 特征進(jìn)行比較, 在大約q≤20 時可以看到明顯的數(shù)值差異, 而在20 維后MCEP 值都在0 左右, 從粗粒度語音頻譜圖中看不出差異. 通過實(shí)驗(yàn), 選擇用40 維表示頻譜特征并選擇前20 維作為映射特征.

圖6 不同參數(shù)維度特征值的損失系數(shù)
客觀實(shí)驗(yàn)設(shè)置: 通過計(jì)算F0 的均方根誤差(RMSE)[25]評估F0 映射的性能, 并計(jì)算SIIB Gauss 分?jǐn)?shù)和ESTOI分?jǐn)?shù)來證明在強(qiáng)噪聲環(huán)境中通過iMetricGAN 模型提高了可懂度, 從而進(jìn)行客觀評價. 最后, 比較了所有方法的整體性能.
使用RMSE代表F0 預(yù)測的性能. 轉(zhuǎn)換后的F0 和相應(yīng)的目標(biāo)F0 的RMSE被定義為:

F0 轉(zhuǎn)換: 如表1 所示, 女性組的F0 失真比男性組更嚴(yán)重, 這是因?yàn)榕缘腇0 值更高. 最初錄制的清晰語音的RMSE值小于比較不清晰語音的RMSE值. 從大約提高了8%的SIIB Gauss 分?jǐn)?shù)和10%的ESTOI分?jǐn)?shù)的可懂度指標(biāo)可以看出, 與參照方法使用CycleGAN聯(lián)合訓(xùn)練相比, NS-CiC 將F0 分解為10 維的CWT 系數(shù)具有更樂觀的失真分布并且語音可懂度顯著提高.

表1 F0 的平均RMSE 損失
通過iMetricGAN 增強(qiáng)可懂度: 表2 給出了不同信噪比下的正常語音、倫巴第語音和經(jīng)過iMetricGAN處理的語音的SIIB Guass 分?jǐn)?shù)和ESTOI 分?jǐn)?shù), 從表中可以看出, 僅僅依靠倫巴第效應(yīng)在輕微的嘈雜環(huán)境中有很好的提升作用, 但在嚴(yán)重的嘈雜環(huán)境中并沒有達(dá)到增強(qiáng)的效果. 該表顯示, 在強(qiáng)噪聲環(huán)境下, iMetric-GAN 方法使SIIB Guass 分?jǐn)?shù)和ESTOI 分?jǐn)?shù)分別提高了23.2%和23.6%.

表2 用iMetricGAN 增強(qiáng)倫巴第語音的分?jǐn)?shù)
客觀評價: SIIB Guass 和ESTOI 用于估計(jì)說話者和聽者之間共享的信息量, 單位為b/s. 圖7(a)– 圖7(c)給出了客觀評估分?jǐn)?shù), 因?yàn)檎Z音之間的分?jǐn)?shù)非常接近, 所以省略了置信區(qū)間. 與正常情況相比, 在嚴(yán)重的噪聲環(huán)境中, SIIB Guass 分?jǐn)?shù)最多提高50%而ESTOI 分?jǐn)?shù)大概提高了115%. 在輕度噪聲環(huán)境中, 由于正常語音本身的清晰度, SIIB Guass 分?jǐn)?shù)提高了35%左右, ESTOI 分?jǐn)?shù)提高了50%. 與CycleGAN 相比, 我們的方法主要將SIIB Guass 分?jǐn)?shù)提高了大約25%, ESTOI 分?jǐn)?shù)提高了30%. 與最新的IISPA 方法相比, 我們的方法提升可懂度分平均高15%左右. 通過增加MCEPs 維度, 可懂度方面的提升效果對比參照方法有穩(wěn)定的提高, 將SIIB Guass 分?jǐn)?shù)和ESTOI 分?jǐn)?shù)分別提高約17%和18.6%.圖7(d)–圖7(f)顯示在德語測試集下增強(qiáng)效果更加明顯.總之, NS-CiHC 比其他幾種方法更能提高可懂度.

圖7 不同噪聲環(huán)境下兩種數(shù)據(jù)集可懂度值 (橫坐標(biāo)表示噪聲(dB), 縱坐標(biāo)表示可懂分(%))各子圖第1 行表示英語集結(jié)果, 第2 行表示德語集結(jié)果
主觀評價: 如圖8 所示, 沒有低于0 的分?jǐn)?shù), 這意味著提出的方法相對于CMOS 評分顯示, NS-CiC 在質(zhì)量上明顯優(yōu)于正常語音, 得分約為1.8 分. 與CycleGAN相比, 大約達(dá)到了0.9 分. 與輕度噪聲環(huán)境相比, 我們的方法在重度噪聲環(huán)境下的可懂度提升了10%. 總之, 主觀實(shí)驗(yàn)的結(jié)果與客觀實(shí)驗(yàn)的表現(xiàn)基本一致.

圖8 具有95%置信區(qū)間的平均CMOS 評分
我們將提出的NS-CiC 框架進(jìn)行了各個模塊的實(shí)驗(yàn)測試, 如表3, 僅對F0 的處理能夠使語言的音調(diào)提升明顯, 但聲音的能量仍未變化, 可懂度值也提升在30%左右, 但在語言的細(xì)膩?zhàn)匀环矫媾cLombard 更接近; 對MCEP 的處理我們用到了iMetricGAN, 語音頻譜表示了語音的能量大小, 可以看出在對頻譜進(jìn)行映射后的語音可懂分有大幅度的提升, 而且相較于正常Lombard 的映射也提升了10%. 從中我們可以得出F0 對語音的音調(diào)有決定性作用, 頻譜包絡(luò)對語音的能量有決定性作用, 本文分別進(jìn)行F0 的多時間尺度變換與MCEP 的噪聲增強(qiáng)處理能實(shí)現(xiàn)語音可懂度的增強(qiáng).

表3 不同模塊對語音可懂度SIIB Gauss 分的提升
本文提出了一種高質(zhì)量非平行的語音風(fēng)格轉(zhuǎn)換框架, 基于CycleGAN 進(jìn)行頻譜和韻律轉(zhuǎn)換. 用一種非線性方法研究使用連續(xù)小波變換(CWT) 將F0 分解為10 維, 從而實(shí)現(xiàn)F0 的有效轉(zhuǎn)換, 還使用20 維MCEPs來更全面的表示聲學(xué)特征從而實(shí)現(xiàn)MCEPs 轉(zhuǎn)換. 考慮到倫巴第效應(yīng)在強(qiáng)噪聲環(huán)境下表現(xiàn)不是特別好, 所以使用iMetricGAN 技術(shù)對其進(jìn)一步增強(qiáng). 實(shí)驗(yàn)結(jié)果表明,提出的框架優(yōu)于參照方法, 在客觀評價中將SIIB Guass和ESTOI 分?jǐn)?shù)分別提高了25%和30%, 在主觀評價中將CMOS 分?jǐn)?shù)提升了0.9, 有效地增強(qiáng)了語音可懂度.