張 筱,張 巍,王文浩,萬永菁
(華東理工大學信息科學與工程學院,上海 200237)
語音轉換系統旨在改變給定說話人(源說話人)的聲學特性使其聽起來像指定說話人(目標說話人)的聲音,并且在此過程中保持語音的語義信息不變[1]。語音轉換已經被廣泛應用于各種任務,例如隱藏說話人身份、為語音障礙者開發個性化助聽器、文語轉換合成系統、用不同人的聲音進行電影配音等。因此,對語音轉換的研究不僅能推進信號處理領域的理論發展,還可以推進與之交叉的其他領域的研究進展[2]。
語音轉換系統的實現包括以下幾個要素:分析合成模型、聲學特征參數、特征參數轉換規則和語音庫。本文主要研究了基于平行語音庫的特征參數轉換映射規則,并使用高質量的STRAIGHT模型來完成參數提取和語音合成工作。
參數轉換目前已經發展成熟,使用較多的算法是基于高斯混合模型GMM(Gaussian Mixture Model)[3]的統計算法和基于人工神經網絡ANN(Artificial Neural Network)[4]的轉換算法。使用高斯混合模型來實現語音轉換任務時存在過擬合問題,并且高斯混合模型是一種淺層模型,其特征的選擇對系統性能的好壞起決定性作用,由于過高的維度會使高斯混合模型中的線性轉換項接近奇異值,因此GMM建模通常在低維譜特征(如美爾頻率倒譜系數、線性預測系數等)空間中進行,從而導致轉換效果不佳[5]。
人工神經網絡中的生成對抗網絡GAN(Generative Adversarial Network)[6]自提出至今已被廣泛應用于各個領域。在語音信號處理領域,GAN在語音增強、語音識別、語音轉換等方面都有應用。文獻[7]首次提出將GAN 應用于語音增強SEGAN(Speech Enhancement Generative Adversarial Network),該方法直接在時域對語音原始波形進行操作,利用端到端的訓練模型實現語音增強,實現了具有良好適應性的語音增強生成式架構。文獻[8]將GAN應用于自動語音識別ASR(Automatic Speech Recognition)系統,該方法在頻域對美爾譜特征進行操作,提高了ASR系統的噪聲魯棒性。文獻[9]對SEGAN進行改進,實現了耳語到人聲的語音轉換,與傳統的回歸模型相比有著更加自然的基音輪廓。
目前語音轉換參數使用較為廣泛的有線性預測系數LPC(Linear Predictive Coefficients)和美爾頻率倒譜系數MFCC(Mel-Frequency Cepstral Coefficients),這些參數是由語音原始信號經過手工提取后得到的,在提取過程中不可避免地存在損失和失真。
針對上述問題,本文著眼于STRAIGHT譜參數SPC(STRAIGHT Spectra Coefficients)[10]的研究,使用生成對抗網絡對其進行轉換。在此基礎上,為了進一步改善轉換效果,本文提出了多譜特征生成對抗網絡MSFGAN(Multi-Spectral Feature Generative Adversarial Network),將高維度的SPC和不同低維度的參數結合,通過跨域重建誤差進行融合,利用生成對抗網絡的學習機制來實現語音轉換,從而獲得具有良好清晰度和可懂度的高質量語音。
語音轉換系統的實現分為訓練和轉換2個階段,如圖1所示。在訓練階段,首先對源語音和目標語音進行預加重、分幀、加窗等預處理,然后使用STRAIGHT分析模型提取聲道參數和聲源參數,這些聲學參數經過動態時間規整DTW(Dynamic Time Warping)之后用于建立說話人語音間的非線性映射函數。在轉換階段,分別采用訓練階段得到的映射函數對測試語音的聲道參數和聲源參數進行轉換,最后使用STRAIGHT合成模型得到轉換語音。
聲源和聲道參數共同作用使得語音的個性特征各不相同。聲源參數主要包括基音頻率、聲門波形、基頻波動等,聲道參數主要包括譜包絡系數、線性預測系數、美爾頻率倒譜系數等。語音轉換涉及聲學建模、特征對齊和聲學映射。聲學建模表示聲道的形狀、聲門激勵的形狀和長期韻律參數[11]。其中,聲道參數對于識別說話者唯一性的作用比聲源參數更為突出[12],因此本文主要研究聲道參數中譜包絡系數的轉換,對于聲源參數中的基音頻率,使用單高斯模型算法進行轉換。
本文使用自適應加權譜內插STRAIGHT模型提取語音信號的特征參數,它的優點在于可以分解出相互獨立的譜包絡系數和基頻參數,合成高質量的語音[13]。

Figure 2 Comparison of waveform and voiceprint of spectral feature圖2 時域波形圖和譜特征聲紋圖對比
語音信號x(t)的表示如式(1)所示:
x(t)=v(t)*e(t)
(1)
其中,t代表時間,v(t)代表聲道信號,e(t)代表周期性聲源信號。通過剝離v(t)與e(t)之間的關聯性,可以將x(t)轉變為非周期信號。
首先利用式(2)對語音信號進行短時傅里葉變換:
F(ω,t)=FFT[x(t)w(t)]=X(ω)W(ω)
(2)

傳統的通過加窗計算得到的語音信號的短時譜會在時間軸和頻率軸上出現與基音有關的周期性。為了正確估計語音信號的譜包絡,使其不受基頻的影響,必須將此二維空間上的周期性去除。故STRAIGHT中采用了卷積二維三角窗的平滑內插方法,利用式(3)對F(ω,t)進行譜包絡系數提取[13]:
t-τ)|)2dλdτ)])1/2
(3)

此外通過對STRAIGHT譜包絡進行線性預測分析可以得到LPC,對STRAIGHT譜包絡系數進行對數幅值壓縮和扭曲頻率離散余弦變換可以得到MFCC,這解決了傳統方法中由短時傅里葉變換得到MFCC而導致的倒譜階數的限制(上限約13階)[14]。
訓練時,首先分別對源語音和目標語音信號進行分幀,然后利用DTW將其對齊,將對齊后的語音以N幀作為1個“塊”,以相同的塊對語音進行滑動截取,相鄰2個塊之間的重疊率為50%,對于語音末端不足N幀的部分填零;測試時采用不重疊方式截取塊,對于語音末端不足N幀部分填零。對于每一個塊提取M維譜特征參數并生成語音聲紋圖,其橫坐標代表幀數,縱坐標代表特征維度,顏色深淺代表幅值大小。語音信號的時域波形圖和不同譜特征參數生成的語音聲紋圖如圖2所示,其中fn=512為幀數,inc=256為幀移,SPC、MFCC和LPC的大小分別為512×512,512×32,512×16。
生成對抗網絡由生成器G(Generator)和鑒別器D(Discriminator)組成。生成器學習將樣本z從先驗分布Z映射到來自另一分布X的訓練樣本x,鑒別器判斷輸入是來自數據集的真實樣本x或是來自生成器的生成樣本G(z),其目標函數如式(4)所示:
LGAN(G,D)=Ex~Pdata(x)[logD(x)]+
Ez~Pz(z)[log(1-D(G(z)))]
(4)
其中,G(z)是生成器輸出的生成樣本,D(x)是鑒別器對輸入樣本的鑒別結果。在訓練過程中先固定鑒別器的參數,更新生成器的參數,直至生成器效果最優,再固定生成器參數,更新鑒別器參數,在D(G(z))=0.5時,即鑒別器無法區分輸入樣本是真實的還是生成的,生成器能模擬出真實樣本數據的分布。
本文的研究基于平行語音庫,因此使用條件生成對抗網絡cGAN(conditional Generative Adversarial Network)[15]給生成器和鑒別器額外的信息xc來對其進行約束,目標函數更改為式(5):
LcGAN(G,D)=Ex,xc~Pdata(x,xc)[logD(x)]+
Ez~Pz(z),xc~Pdata(xc)[log(1-D(G(z,xc),xc))]
(5)
對于語音轉換來說,目標語音為x,源語音為xc,轉換語音為G(z,xc)。其中源語音xc就相當于給出的標簽,這樣將無監督網絡變成了有監督網絡,利用xc對模型的生成過程加以指導,使得最后的輸出語音與輸入語音具有相同語義內容。文獻[16]將對抗損失函數與傳統損失函數相結合并驗證了其有效性。本文采用文獻[16]的思想,在目標函數中加入了L1范數,以促使生成器得到更加接近目標語音的輸出。

Figure 3 Framework of voice conversion based on cGAN圖3 基于cGAN的語音轉換框架
修改后的目標函數如式(6)所示:
G*=LcGAN(G,D)+λLL1(G)
(6)
其中,LL1(G)如式(7)所示:
LL1(G)=Ex,xc,z[‖x-G(z,xc)‖1]
(7)
基于cGAN的語音轉換框架如圖3所示,附加信息的加入使得整個網絡的訓練更加穩定,從而得到與源語音具有相同語義內容的轉換語音。圖3中Pz是隨機噪聲圖,這是因為要得到多種多樣的輸出需要給出不同的輸入,所以引入隨機噪聲來模擬不同的輸入;Pxc、Px和PG(z,xc)分別代表源語音、目標語音和轉換語音的譜包絡系數聲紋圖,Pyc、Py和PG(z,yc)代表源語音、目標語音和轉換語音的輔助譜特征參數聲紋圖。
多模態融合是通過聯合多個模態的信息來實現目標,根據融合的層次可分為像素級、特征級和決策級。為了進一步提高轉換語音的質量,本文提出基于多譜特征生成對抗網絡的語音轉換算法,使用特征級多模態融合技術,將高維度的原始譜特征參數和低維度的抽象譜特征參數進行特征級融合,以提高網絡對語音信號的感知能力。MSFGAN的結構如圖4所示。
MSFGAN的生成器如圖5a所示,先通過卷積編碼器將SPC聲紋圖降維得到高級特征,再通過卷積解碼器上采樣到原始分辨率;同時使用跳躍連接(Skip Connection)將編碼時第i層和解碼時第n-i層大小一致的特征圖進行拼接,這樣使得低層和高層可以共享不同分辨率下像素級的信息。根據原始圖像的大小將鑒別器構造為5層的網絡,如圖5b所示,通過卷積得到大小遠小于原始圖像的特征圖,再進行鑒別,從而提高了網絡的性能。

Figure 4 Voice conversion based on MSFGAN圖4 基于多譜特征生成對抗網絡的語音轉換

Figure 5 Generator,discriminator and Unet structure of MSFGAN圖5 多譜特征生成對抗網絡的生成器、鑒別器和Unet結構圖
將輔助譜特征參數聲紋圖通過一個如圖5c所示的Unet網絡[17],訓練后使其獲得語音的輔助譜特征域映射關系;然后將其與由SPC得到的特征域映射關系相結合,通過增加跨域重建誤差將2種模態的信息融合。跨域重建誤差定義如式(8)所示:
Lcross=Ey,yc,z[‖y-G(z,yc)‖1]
(8)
修改后的目標函數如式(9)所示:
G*=LcGAN(G,D)+α1LL1(G)+α2Lcross(Unet)
(9)
目標函數由GAN網絡的對抗損失項、生成器損失項和Unet的跨域重建誤差項這3個分量組成。定義β=α2/α1為跨域重建誤差項比例系數,該參數用于調節生成器損失項和跨域重建誤差項的比例,因為網絡主要學習的是原始譜包絡系數之間的映射關系,所以β∈[0,1]。當β=0時,MSFGAN模型簡化為cGAN的語音轉換模型。在訓練過程中,使用隨機梯度下降算法SGD(Stochastic Gradient Descent)和Dropout策略來提高網絡的泛化能力,模型參數通過優化目標函數進行更新學習,使用跨域重建誤差來實現多模態特征的融合,從而提高了轉換語音的質量。
本文所需的數據集來自中國科學院自動化研究所的CASIA漢語語料庫,語料庫由4位具有代表性的專業說話人錄制而成,涵蓋了424個漢語常用字音節,語音單句平均時長約1.5 s,分為相同文本(300條)和不同文本(100條)2部分。本文實驗基于平行語音庫進行,采樣頻率為16 kHz。訓練集由每個說話人的100條語句組成,測試集由每個說話人的20條語句組成,共涵蓋400多個語音音節。語音模型選擇STRAIGHT分析合成模型,特征參數選用512維譜包絡系數、16維線性預測系數和32維美爾頻率倒譜系數。在實驗時,設置4組對照實驗:男轉女(M1-F1),女轉男(F1-M1),男轉男(M1-M2),女轉女(F1-F2)。
本文使用平均美爾譜失真值MCD(Mel-Cepstral Distortion)[18]和語譜圖來評價轉換后的語音。MCD值越小,說明轉換語音和目標語音越接近,轉換效果越好。同時結合語譜圖作為輔助,兩者一起可以得到相對準確、符合真實聽覺感受的評價。
MCD計算公式如式(10)所示:
(10)

4.2.1 GMM與cGAN對比
因為在相對小的數據集上基于傳統統計方法和基于深度神經網絡的方法是有可比性的,所以在實驗中,使用同樣100句語音分別訓練GMM和本文提出的cGAN,并進行分析和對比。表1展示了4組實驗中2種語音轉換算法在測試集(20句)上的平均MCD。表1中使用基于GMM的算法進行的2組實驗的特征參數分別為LPC和MFCC,使用基于cGAN的算法進行的3組實驗的特征參數分別為LPC、MFCC和SPC。
從表1中可以看出,4組實驗中基于cGAN的算法優于傳統基于GMM的算法,并且在基于cGAN的算法中,使用STRAIGHT譜參數顯著提高了算法的有效性。在2種算法中,使用LPC參數的效果均弱于使用MFCC參數的。此外,因為同性間聲音特征的差異度小于異性間的,使得同性語音轉換后的MCD值小于異性語音的。

Table 1 Mean Mel-cepstral distortion of algorithms based on GMM and cGAN
4.2.2 跨域重建誤差比例系數β最優值選取
在MSFGAN中跨域重建誤差比例系數β的不同會導致轉換效果的差異,表2和表3分別展示了在測試集上,SPC+MFCC組合和SPC+LPC在使用不同β時的MCD均值和方差。
由表2可知,在SPC+MFCC組合中,當β取值分別在0.3和0.2左右時,男聲轉女聲以及女聲轉男聲的平均MCD取得最小值;當β取值在0.4左右時,男聲轉男聲以及女聲轉女聲的MCD取得最小值。對比表3和表2可以看出,使用SPC+MFCC組合的總體效果優于使用SPC+LPC組合的,這是因為在MSFGAN中,Unet的卷積操作使得特征參數高度抽象,而LPC本身維度較低使得信息在下采樣過程中丟失。并且在SPC+LPC組合中,對不同的β計算得出的MCD平均值差異較小,因此最優值的選取由MCD的均值和方差共同確定。男聲轉女聲以及男聲轉男聲的β的最優值根據平均MCD決定,取值為0.3;女聲轉男聲以及女聲轉女聲的β的最優值結合方差,取值分別為0.1和0.3。

Table 2 Mean and variance of MCD under different β in SPC+MFCC combination

Table 3 Mean and variance of MCD under different β in SPC+LPC combination
綜合表2和表3可知,2種組合中β的最優值均小于0.5,這表明在網絡的訓練過程中SPC起了主導的作用,輔助信息權重的過度增加反而會導致網絡的學習效果變差。
4.2.3 3種算法綜合對比
圖6比較了不同訓練集大小下3種算法在相同性別與不同性別間轉換的美爾譜失真度變化。選取10,20,50,100,150條語音作為5組訓練數據,分析比較3種譜特征轉換算法。隨著訓練語音數量的增加,轉換語音的MCD呈下降趨勢,且下降趨勢趨于平緩。在訓練數據為100條時就可以得到相對理想的效果,在訓練數據為150條時轉換效果提升不大,但訓練時間則成倍增長,因此選擇100條作為最終的訓練集大小。

Figure 6 MCD comparison of different algorithms in four modes圖6 4種模式中不同算法MCD對比
此外由圖6還可得知,在本文提出的2種算法中,不管是同性間還是異性間,轉換目標為女聲的效果都優于轉換目標為男生的,并且F1-F2模式的效果最佳。這是因為女聲有更多的高頻成分,所包含的信息量更多,因此網絡可以更好地學習到說話人的個性特征,從而提高轉換效果。
主觀評價是讓測試者根據自然度及可懂度來做出判斷和打分,從而評估系統性能的優劣。通常轉換系統的主觀評價有ABX測試[19]和MOS測試[20]2種,本文使用MOS測試來對3種算法所得轉換語音進行打分。
在語音質量和說話人相似度方面,將總共240(20條文本×3個方法×4種模式)條轉換語音與相應的目標語音進行比較。2個指標的得分均在1~5,5分最好,1分最差。評價結果如表4所示。

Table 4 Comparison of MOS values among three conversion algorithms
由表4可知,在平均語音質量和說話者相似性方面,基于GMM的語音算法效果最差,缺乏連續性,聽起來有點斷斷續續,并且存在較大的雜音,在同性語音轉換時,轉換后語音更接近源語音;基于cGAN使用譜包絡系數語音轉換算法效果有所提升,但是仍存在連續性不佳的問題,聽起來有些卡頓;基于MSFGAN使用SPC和MFCC組合的語音轉換算法明顯得到了最高的評分,接近于4,這表明語音有很好的連續性,并且有更好的清晰度和可懂度,轉換語音聽起來更接近目標語音。
本文提出了基于多譜特征生成對抗網絡的語音轉換算法,將語音譜特征轉為聲紋圖,利用生成對抗網絡的對抗學習機制來恢復語音的細節特征,從而通過圖像翻譯的方式來實現語音轉換。為了進一步提高轉換效果,本文使用特征級的多模態融合技術將包含更多信息的高維度原始特征和低維度抽象特征通過跨域重建誤差融合構成多譜特征,使得網絡學習到來自不同特征域的信息,提高了網絡對語音信號的感知能力,最終得到具有良好清晰度和可懂度的高質量語音。