王琳,黃浩
(新疆大學(xué)信息科學(xué)與工程學(xué)院,新疆 烏魯木齊 830017)
語音轉(zhuǎn)換(VC)旨在改變說話人身份而不改變說話內(nèi)容的過程。根據(jù)訓(xùn)練數(shù)據(jù)的來源和類型可分為平行VC和非平行VC。平行VC利用轉(zhuǎn)換模型學(xué)習(xí)聲級之間的映射關(guān)系從源說話人到目標(biāo)說話人的幀。一般使用的模型包括高斯混合模型[1]、深度神經(jīng)網(wǎng)絡(luò)[2]、循環(huán)神經(jīng)網(wǎng)絡(luò)[3]等。
實際上,收集這種平行語音語料庫可能很困難。因此,研究工作越來越集中在非平行VC上。語音后驗圖(PPG)[4]是非平行VC的典型早期方法。從非特定人自動語音識別器中提取PPG特征幀級語言表示。在實際應(yīng)用中,PPG特征仍然包含一些說話人信息,往往會導(dǎo)致在轉(zhuǎn)換階段與預(yù)期說話人相似性方面的性能不令人滿意。為了提高說話人相似度方面的性能,生成對抗網(wǎng)絡(luò)(GAN)的變體通過應(yīng)用鑒別器來模仿人類的聽覺感知,如CycleGAN[5]和StarGAN[6]。然而,這些基于GAN的模型通常仍然難以訓(xùn)練。
變分自編碼器(VAE)是這些方法針對非平行VC提出的易于訓(xùn)練的常用模型?;赩AE的VC通常采用編碼器-解碼器框架來學(xué)習(xí)內(nèi)容和說話人表征的解糾纏。在傳統(tǒng)的基于VAE的VC[7-8]中,編碼器從輸入聲學(xué)特征中提取說話人獨立的隱變量,解碼器從隱變量和給定的說話人表示中重建聲學(xué)特征。然而,VAE的建模局限于假設(shè)的高斯分布,而實際數(shù)據(jù)的分布可能要復(fù)雜得多。在VAE的基礎(chǔ)上,通過對變分自編碼器進(jìn)行矢量量化(VQ)形成VQ-VAE[9]以有效解決這一問題。VQ-VAE是由DeepMind開發(fā)的一種強(qiáng)大的生成模型,也被應(yīng)用于非平行VC。與VAE相比,基于VQVC的優(yōu)勢在于它能夠通過嵌入字典學(xué)習(xí)先驗知識,而不是使用預(yù)定義的靜態(tài)分布,如高斯分布。矢量量化中的嵌入字典學(xué)習(xí)完全表示不同的語音內(nèi)容。雖然VQVC已被證明是一種很有前途的內(nèi)容和說話者表示解糾纏的方法,但是現(xiàn)有基于VQVC的方法仍然存在一定局限性。在模型訓(xùn)練過程中主要選擇梅爾語譜作為輸入聲學(xué)特征,依賴于聲學(xué)特征的自構(gòu)誤差,不可避免地存在一些信息缺失。由于缺乏語言監(jiān)督,因此內(nèi)容表征很難被解開。為解決VQVC中存在的問題,本文提出2種策略:1)選用自監(jiān)督預(yù)訓(xùn)練表示代替?zhèn)鹘y(tǒng)的梅爾語譜學(xué)習(xí)內(nèi)容表征;2)使用聯(lián)結(jié)時序分類(CTC)[10]文本監(jiān)督輔助網(wǎng)絡(luò)提純內(nèi)容信息。
最近,自監(jiān)督學(xué)習(xí)(SSL)在語音處理方面也取得了顯著的成果,基于SSL的表征可用于音素識別[11]和說話人分類[12-14],這表明SSL表示中包含的語音和說話人信息都是遺傳的。因此,自監(jiān)督預(yù)訓(xùn)練表示(SSPR)被越來越多應(yīng)用于語音轉(zhuǎn)換任務(wù)中。之前的一些工作試圖將SSPR引入到VC任務(wù)。例如,FragmentVC[15]是1個any-to-any VC模型,它可以將任意源說話人的語音轉(zhuǎn)換為任何目標(biāo)說話人,甚至是在訓(xùn)練期間未見過的說話人。FragmentVC從SSPR中提取語音信息和目標(biāo)說話人信息,但它需要額外的交叉注意力模塊來對齊源特征和目標(biāo)特征。
本文將基于自監(jiān)督預(yù)訓(xùn)練模型提取的特征作為系統(tǒng)最初的內(nèi)容嵌入,送入內(nèi)容編碼器提取內(nèi)容表征。模型經(jīng)過內(nèi)容編碼器的輸出將被VQ量化為嵌入詞典,表示語言信息。解碼器將量化的內(nèi)容表示和說話人表征預(yù)測聲學(xué)特征。VQVC難以將只包含內(nèi)容信息的表征與自監(jiān)督預(yù)訓(xùn)練表示中聲學(xué)特征分離開來,為了解決VQVC存在的問題,本文設(shè)計CTC輔助網(wǎng)絡(luò)。通過引入強(qiáng)文本監(jiān)督對內(nèi)容編碼器輸出的表示進(jìn)行建模,以提高模型的解纏能力。CTC已成為當(dāng)前端到端自動語音識別(ASR)任務(wù)中廣泛使用的訓(xùn)練目標(biāo)函數(shù)[16-17]。CTC輔助網(wǎng)絡(luò)能夠引導(dǎo)內(nèi)容編碼器學(xué)習(xí)更純的內(nèi)容表示。CTC loss的好處是讓內(nèi)容編碼器的輸出不受序列長度的影響。此外,它還考慮了整個特征序列中的全局信息。本文提出使用自監(jiān)督預(yù)訓(xùn)練表征混合VQ和CTC算法的非平行語音轉(zhuǎn)換,模型被命名為SSPR-CTC-VQVC。
受預(yù)訓(xùn)練SSL表示和瓶頸特征的啟發(fā),越來越多的文章使用SSPR作為初始語言信息,并將其輸入到語音轉(zhuǎn)換系統(tǒng)中。內(nèi)容編碼器通過限制瓶頸特征最終獲得與說話人相關(guān)的內(nèi)容信息。將預(yù)訓(xùn)練模型WavLM[18]作為語音轉(zhuǎn)換系統(tǒng)初始的內(nèi)容嵌入。WavLM模型結(jié)構(gòu)如圖1所示,模型的結(jié)構(gòu)與文獻(xiàn)[18]的結(jié)構(gòu)相同。
圖1 預(yù)訓(xùn)練模型WavLM結(jié)構(gòu)Fig.1 Structure of pre-trained model WavLM
本文采用自監(jiān)督預(yù)訓(xùn)練模型WavLM通過Transformer的最后一層輸出作為內(nèi)容編碼器系統(tǒng)輸入,用來提取初階的內(nèi)容表示。
VQVC通過嵌入字典學(xué)習(xí)先驗來表示完全不同的語音內(nèi)容。矢量量化器在矢量量化嵌入字典的幫助下,將從內(nèi)容編碼器輸出的連續(xù)信息編碼為一組離散的嵌入。文獻(xiàn)[19]等工作表明,VQ嵌入字典中的每個嵌入都與語音音素有密切的關(guān)系,即VQ嵌入字典具有對音素集建模的能力。VQ-VAE結(jié)構(gòu)如圖2所示。嵌入字典正式寫為A=[a1,a2,…,aN],A∈N×D,有N個不同的碼本。在前向計算時,由SSPR得到的聲學(xué)特征x送入內(nèi)容編碼器中獲得ze(x),映射到碼本中最近嵌入ai來離散化。z(x)和說話人嵌入s將連接在一起送入解碼器。最后,利用解碼器D對聲學(xué)特征進(jìn)行重構(gòu)訓(xùn)練的目標(biāo)函數(shù)可以表示為:
圖2 VQ-VAE結(jié)構(gòu)Fig.2 The structure of VQ-VAE
(1)
在矢量量化的損失中添加承諾成本,以鼓勵每個ze(x)向所選碼本靠近[19]。
聯(lián)結(jié)時序分類是一種損失函數(shù),常用于解決輸入特征與輸出標(biāo)簽之間對齊不確定的時間序列映射問題。對于給定的由矢量量化得到的z(x)嵌入,其輸入序列記為I=[i1,i2,…,iT],其中T是輸入序列的長度。CTC損失函數(shù)的任務(wù)是最大化概率分布P(m|I)為對應(yīng)的音素標(biāo)號序列m的長度。實驗中使用的2個語料庫均為英文,選擇開源的CMU英語詞典和音素集,CMU音素集有39個音素,加上CTC的額外空白標(biāo)簽,音素數(shù)為40。CTC損失函數(shù)定義為:
(2)
CTC輔助網(wǎng)絡(luò)如圖3所示,包含3個Conv1d層、1個雙向長短時記憶(BLSTM)層和1個線性層。每個Conv1d層與批量歸一化和ReLU激活層相結(jié)合,將BLSTM層和線性層的單元數(shù)分別設(shè)置為128和40。
圖3 聯(lián)結(jié)時序分類輔助網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Structure of connectionist temporal classification auxiliary network
本文提出的SSPR-CTC-VQVC包括1個內(nèi)容編碼器、1個說話人編碼器、1個解碼器和聲碼器。基于WavLM的SSPR送入內(nèi)容編碼器來提取內(nèi)容表示。說話人嵌入信息是從說話人編碼器得到的。VQ將內(nèi)容表示離散化,CTC輔助網(wǎng)絡(luò)用于去除內(nèi)容表示中的說話人信息。將內(nèi)容表示和說話人表示連接后送到解碼器中以獲得重構(gòu)表示,并合成語音。SSPR-CTC-VQVC模型總體架構(gòu)如圖4所示。
圖4 SSPR-CTC-VQVC模型結(jié)構(gòu)Fig.4 The structure of SSPR-CTC-VQVC model
實例歸一化(IN)[20]可以很好地分離說話人和內(nèi)容表示。與文獻(xiàn)[20]不同,本文用4個卷積塊改進(jìn)了其內(nèi)容編碼器,比改進(jìn)前的多1個卷積塊和1個瓶頸線性層。在內(nèi)容編碼器中使用實例歸一化層對全局信息進(jìn)行歸一化,有效地提取內(nèi)容表示。內(nèi)容表示由4個卷積塊和1個瓶頸線性層生成。每個卷積塊包含3個具有跳躍連接的Conv1d層,每個Conv1d層與實例歸一化和ReLU激活函數(shù)相結(jié)合。Conv1d層的核大小、通道、步長分別設(shè)置為5、256和1。內(nèi)容編碼器將WavLM學(xué)習(xí)的SSPR作為初步提取內(nèi)容表示的輸入,其結(jié)構(gòu)如圖5所示。
圖5 內(nèi)容編碼器結(jié)構(gòu)Fig.5 Structure of content encoder
說話人編碼器的目標(biāo)是為不同的話語生成來自同一說話人相同的嵌入,但不同說話人的嵌入不同。一般來說,1個one-hot編碼的說話人身份嵌入被用于many-to-many VC中,但實際的VC編碼器需要產(chǎn)生可泛化到訓(xùn)練過程中unseen的說話人嵌入。
本文使用全局風(fēng)格標(biāo)記(GST)[21]作為也被廣泛使用的語音合成說話人編碼器。GST能夠?qū)⒆冮L聲學(xué)特征序列壓縮為固定維說話人風(fēng)格嵌入并隱式學(xué)習(xí)說話人嵌入風(fēng)格標(biāo)簽。說話人編碼器結(jié)構(gòu)如圖6所示。GST提取說話人風(fēng)格嵌入需要2個步驟:
圖6 說話人編碼器結(jié)構(gòu)Fig.6 Structure of speaker encoder
1)參考編碼器采用連續(xù)堆疊的方式對聲學(xué)特征序列進(jìn)行壓縮Conv2d層,然后將雙向門控循環(huán)單元 (Bi-GRU)層的最后1個狀態(tài)作為輸出參考編碼器。將變長聲學(xué)特征序列轉(zhuǎn)化為固定長度的嵌入,稱為參考嵌入。
2)將引用嵌入傳遞到樣式標(biāo)記層。在樣式標(biāo)記層中,有幾個等長的樣式標(biāo)記(例如A、B、C、D)被初始化以模擬不同組件語音(例如情感、節(jié)奏、音高、語速等)。多頭自注意力模塊學(xué)習(xí)參考嵌入和每個樣式Token。注意力模塊輸出1組組合權(quán)重,表示每個樣式標(biāo)記對引用嵌入的貢獻(xiàn)。樣式標(biāo)記的加權(quán)和命名為風(fēng)格嵌入。
解碼器將所有編碼器的輸出作為輸入,重構(gòu)表示,并將解碼后的表示提供給重構(gòu)的聲碼器。在實現(xiàn)細(xì)節(jié)上,實驗中使用的網(wǎng)絡(luò)架構(gòu)如圖7所示。解碼器包含3個Conv1d層,1個BLSTM層和1個線性層。每個Conv1d層的內(nèi)核大小為5,通道數(shù)為512,步長為1。BLSTM層的單元數(shù)為512。
圖7 解碼器結(jié)構(gòu)Fig.7 Decoder structure
使用CTC的VQVC與傳統(tǒng)VQVC的相似之處在于兩者都采用內(nèi)容編碼器和說話人編碼器分別提取內(nèi)容和說話人表示。區(qū)別在于內(nèi)容編碼器的輸出是否受到CTC輔助網(wǎng)絡(luò) loss的監(jiān)督。因此,本文提出的模型成為1個多任務(wù)學(xué)習(xí)框架,模型訓(xùn)練需要減少自重建誤差、VQ loss和CTC loss??倱p失函數(shù)可以寫成:
(3)
最后,采用MelGAN[22]作為聲碼器,以較快解碼速度獲得高保真波形。
本文實驗的硬件環(huán)境:選用單個GPU,其型號為NVIDIA GeForce RTX 2080 Ti。深度學(xué)習(xí)網(wǎng)絡(luò)模型搭建使用PyTorch框架,版本為1.8。
本文采用VCTK[23]語料庫和CMU Arctic[24]語料庫對所提的方法進(jìn)行評價。在VCTK數(shù)據(jù)庫中有109個不同口音的英語使用者,經(jīng)過預(yù)處理后得到了43 398條語句作為訓(xùn)練集。與VCTK語料庫不同,CMU Arctic語料庫是1個平行英語語料庫。男性說話人“bdl”和女性說話人“slt”被選為目標(biāo)揚(yáng)聲器。男性說話人“rms”和女性說話人“clb”被選為源說話人。本文使用VCTK和CMU Arctic進(jìn)行訓(xùn)練和測試,此外,選擇了CMU Arctic語料庫的一部分來評估該方法,其中每個演講者包括40個語句。首先,從語料庫中選取波形數(shù)據(jù)并轉(zhuǎn)換為1.6×104Hz,然后,WavLM大型預(yù)訓(xùn)練模型提取1 024維表示并將其發(fā)送到內(nèi)容編碼器,同時提取80維梅爾語譜圖并發(fā)送到說話人編碼器中。
本文選擇WavLM學(xué)習(xí)的表征作為內(nèi)容表示提取的輸入。WavLM預(yù)訓(xùn)練模型在LibriSpeech 960h語料庫進(jìn)行訓(xùn)練,學(xué)習(xí)1 024維的瓶頸特征,用于后續(xù)學(xué)習(xí)內(nèi)容表示,SSPR經(jīng)過內(nèi)容編碼器最終得到1 024維表示,說話人表征通過GST最終產(chǎn)生256維的風(fēng)格嵌入。VQ嵌入字典中的嵌入維度設(shè)置為64。為了用英語音素對應(yīng)的VQ對音素進(jìn)行建模,VQ嵌入字典中加上了CTC的1個空白標(biāo)簽的嵌入共計40個。CTC輔助網(wǎng)絡(luò)僅在訓(xùn)練階段使用?;诰幋a器-解碼器結(jié)構(gòu)將2種表示拼接送入解碼器中學(xué)習(xí)重構(gòu)的梅爾語譜表征,用于波形轉(zhuǎn)換。本文選擇MelGAN聲碼器,MelGAN是一種條件波形合成模型,具有速度快、模型參數(shù)小、非自回歸結(jié)構(gòu)等優(yōu)點。其他型號配置與文獻(xiàn)[25]相同。
用于比較的3條基線模型如下:
1)VQVC。從文獻(xiàn)[26]中的模型學(xué)習(xí)得到。該系統(tǒng)以非平行語料為基礎(chǔ),聲學(xué)特征為梅爾語譜特征,模型結(jié)構(gòu)包括內(nèi)容編碼器、嵌入詞典、解碼器和GST音色編碼器4部分。本文使用Adam優(yōu)化器以0.000 3的學(xué)習(xí)率訓(xùn)練VQVC基線模型。小批量大小設(shè)置為8。將VQ嵌入的數(shù)量設(shè)置為40,訓(xùn)練步數(shù)設(shè)置為3×105。
2)CTC-VQVC。重現(xiàn)了文獻(xiàn)[25]模型,該模型由1個帶有CTC輔助損失的內(nèi)容編碼器、1個矢量量化器、1個說話人編碼器和1個解碼器組成。CTC損失的權(quán)重在模型訓(xùn)練過程中線性增加,在5×104步內(nèi)最大值為0.001。
3)FragmentVC[15]。利用預(yù)訓(xùn)練模型獲取源說話人語音的潛在語音結(jié)構(gòu),利用80維梅爾語譜圖獲取目標(biāo)說話人的音色特征。通過加入注意力機(jī)制實現(xiàn)2個不同特征空間的對齊,使用WavLM預(yù)訓(xùn)練模型代替wav2vec2.0模型,其余配置不變。
3.3.1 主觀評估
為了評估整體語音合成質(zhì)量,本文收集了所有神經(jīng)模型輸出的平均意見分?jǐn)?shù)(MOS)以及真實記錄。語音質(zhì)量包括自然度和相似度。本文進(jìn)行性別內(nèi)和性別間的語音轉(zhuǎn)換實驗,并對每個模型測試4種轉(zhuǎn)換:rms→slt(男性到女性),rms→bdl(男性到男性),clb→slt(女性到女性),clb→bdl(女性到男性)。所有4組說話人在訓(xùn)練期間都是隱形的,測試集中每個說話人隨機(jī)選擇了40句話。每次主觀評估測試都招募了20名志愿者。對于來自CMU數(shù)據(jù)集的隨機(jī)樣本,參與者被要求以1~5分的標(biāo)準(zhǔn)對語音的自然度進(jìn)行評分。分?jǐn)?shù)越高代表語音自然度越高。
語音自然度和說話人相似度的評價結(jié)果分別如表1和表2所示,統(tǒng)計了VQVC、CTC-VQVC、FragmentVC和SSPR-CTC-VQVC 4個模型在性別內(nèi)、性別間和平均3個方面對語音自然度和說話人相似度的主觀評價結(jié)果。從表1和表2可以看出,SSPR-CTC-VQVC在性別內(nèi)和性別間語音轉(zhuǎn)換上都明顯優(yōu)于其他方法,并取得了非常好的分?jǐn)?shù),語音自然度MOS平均值為3.29和說話人相似度MOS平均值為3.22。CTC-VQVC在語音自然度和說話人相似度方面優(yōu)于VQVC模型,這是因為CTC-VQVC添加的CTC文本監(jiān)督信息有利于內(nèi)容建模。此外,與其他3種模型相比,FragmentVC在語音自然度方面的表現(xiàn)較差,可能是因為該模型使用了SSPR取代80維梅爾語譜重新訓(xùn)練的聲碼器,解碼器輸出特征與聲碼器的輸入特征不匹配導(dǎo)致的。
表1 各語音轉(zhuǎn)換方法的語音自然度MOS比較Table 1 Comparison of speech naturalness MOS for each voice conversion methods
表2 各語音轉(zhuǎn)換方法說話人相似度MOS比較Table 2 Comparison of speaker similarity MOS for each voice conversion methods
3.3.2 客觀評價
本文采用梅爾倒譜失真(MCD)對圖像的自然度進(jìn)行客觀評價,MCD越低表示自然度越好。在每組VC系統(tǒng)中,本文使用4對轉(zhuǎn)換(clb-slt,clb-bdl,rms-slt,rms-bdl),為每對轉(zhuǎn)換生成40條語句,共計160條語句。分別對同性別(clb-slt,rms-bdl)和跨性別(clb-bdl,rms-slt)各80句以及VC生成的160個語句進(jìn)行MCD結(jié)果驗證。
各語音轉(zhuǎn)換方法的MCD比較如表3所示。從表3可以看出,同性別的MCD值整體低于跨性別的值,可能是因為同性別語音轉(zhuǎn)換過程中說話人音色變化幅度小,語音質(zhì)量稍高。總體來看,SSPR-CTC-VQVC的MCD值低于VQVC和CTC-VQVC。同時使用VQ和CTC輔助網(wǎng)絡(luò)的性能優(yōu)于單獨使用CTC或僅引入嵌入詞典的性能。VQ和CTC輔助網(wǎng)絡(luò)對內(nèi)容編碼器學(xué)習(xí)更多的內(nèi)容信息起相互促進(jìn)作用。FragmentVC表現(xiàn)最差,可能是因為使用注意力機(jī)制的內(nèi)容和音頻之間的映射效果不好。
表3 各語音轉(zhuǎn)換方法的MCD比較Table 3 Comparison of MCD of each voice conversion methods 單位:dB
3.3.3 可視化分析
本文對SSPR-CTC-VQVC模型轉(zhuǎn)換前后進(jìn)行可視化分析,將真實聲音和通過SSPR-CTC-VQVC模型得到的轉(zhuǎn)換后聲音進(jìn)行梅爾譜圖可視化。圖8顯示了CMU中的slt說話人的Arctic_a0002.wav真實語句和由SSPR-CTC-VQVC轉(zhuǎn)換后語音的梅爾譜圖對比(彩色效果見《計算機(jī)工程》官網(wǎng)HTML版)。
圖8 SSPR-CTC-VQVC模型轉(zhuǎn)換比較Fig.8 Comparison of SSPR-CTC-VQVC model transformations
從圖8可以看出,經(jīng)過SSPR-CTC-VQVC轉(zhuǎn)換后的語音與真實語音的輪廓一致,這表明轉(zhuǎn)換后的語音內(nèi)容得到保留。圖8中越亮的點代表分貝越高,從同一頻率下的對比可以看出,轉(zhuǎn)換為目標(biāo)說話人slt的音色、音高等身份信息也得到了保障。
3.3.4 消融實驗
關(guān)于解耦向量方面,本文對VQ和CTC輔助網(wǎng)絡(luò)進(jìn)行消融研究,分別進(jìn)行了MOS評分(包括語音自然度和說話人相似度)和MCD評分的客觀評價。表4顯示了在95%置信區(qū)間下,2種網(wǎng)絡(luò)模塊對語音自然度MOS值和說話人相似度MOS值以及MCD客觀的影響。從表4的MOS值可以看出,這2種輔助網(wǎng)絡(luò)的模型在性別內(nèi)和性別間轉(zhuǎn)換的自然性和相似性方面總體優(yōu)于僅使用VQ或CTC網(wǎng)絡(luò)模型。從MCD值來看,同時使用2個網(wǎng)絡(luò)的模型MCD值最小,優(yōu)于僅使用VQ或CTC的網(wǎng)絡(luò)模型。上述2組實驗證明了SSPR-CTC-VQVC提出的2個輔助內(nèi)容編碼器在學(xué)習(xí)更純粹的內(nèi)容表示方面的有效性。
表4 各語音轉(zhuǎn)換方法的MOS和MCD比較Table 4 Comparison of MOS and MCD of each voice conversion methods
3.3.5 說話人分類
為了驗證說話人編碼器能夠有效地提取說話人信息,本文對編碼器提取的風(fēng)格嵌入進(jìn)行了說話人分類實驗。風(fēng)格嵌入是從選定的句子中生成的,它表示從句子中提取的關(guān)于說話人的信息。說話人分類器對風(fēng)格嵌入進(jìn)行分類的能力被用作說話人建模能力的度量。期望的結(jié)果是來自同一說話人的不同話語可以聚類在一起,不同說話人可以相互分離。較好的聚類表明說話人分類實驗取得了較好的效果,從而證明了說話人編碼器能夠有效地提取說話人信息。該說話人分類器由3個Conv1d層、1個BLSTM層和1個線性層組成。每個卷積層配對批量歸一化和ReLU激活函數(shù),BLSTM節(jié)點數(shù)量為128個。線性層的激活函數(shù)是Softmax,損失函數(shù)是交叉熵。
圖9顯示了CTC-VQVC和所提出的SSPR-CTC-VQVC與t-SNE在二維空間中的向量比較(彩色效果見《計算機(jī)工程》官網(wǎng)HTML版),其中圖9(a)和圖9(b)分別表示CTC-VQVC和SSPR-CTC-VQVC。相同的顏色代表相同的說話人。在說話人分類實驗中,本文從VCTK語料庫中選取了5位女性說話人(p225、p228、p229、p230、p231)和5位男性說話人(p226、p227、p232、p237、p241),對每個人10條語音進(jìn)行分類。選擇的話語通過GST音色編碼器生成其音色向量。從圖9(a)和圖9(b)中可以看出,同一說話人的10個話語都能聚類在一起,并且不同說話人之間也可以區(qū)分開,這表明2個系統(tǒng)的說話人編碼器都學(xué)習(xí)了有意義的說話人嵌入。這表明GST提取的風(fēng)格向量可以作為說話人身份。此外,與圖9(a)相比,圖9(b)中同一說話人10句話分布得更緊密。因此,與CTC-VQVC相比,SSPR-CTC-VQVC在不同說話人身份方面具有更好的聚類性能。
圖9 CTC-VQVC和 SSPR-CTC-VQVC可視化風(fēng)格嵌入比較Fig.9 Visual style embedding comparison between CTC-VQVC and SSPR-CTC-VQVC
本文提出一種基于自監(jiān)督預(yù)訓(xùn)練表示同時混合VQ和CTC的單次VC方法SSPR-CTC-VQVC。使用GST獲取語音中說話人信息,使用基于WavLM自監(jiān)督預(yù)訓(xùn)練模型學(xué)習(xí)的表征送入內(nèi)容編碼器中學(xué)習(xí)最初內(nèi)容信息的嵌入。與傳統(tǒng)使用梅爾語譜作為聲學(xué)特征學(xué)習(xí)內(nèi)容嵌入相比,使用基于預(yù)訓(xùn)練模型學(xué)習(xí)的SSPR減少了嵌入向量中內(nèi)容信息的損失,提高了語音質(zhì)量。采用矢量量化和基于聯(lián)結(jié)時序分類的監(jiān)督模型,從內(nèi)容表示中去除其中冗余的說話人信息。這2個輔助網(wǎng)絡(luò)模塊對凈化的內(nèi)容向量在性能上是互補(bǔ)的。實驗結(jié)果表明,本文提出的方法可以很好地從SSPR中學(xué)習(xí)純的內(nèi)容信息,極大地提高了轉(zhuǎn)換后的語音質(zhì)量。但SSPR-CTC-VQVC學(xué)習(xí)的內(nèi)容表示仍包含少量的說話人信息,為了更好地進(jìn)行語音信息解耦,下一步將設(shè)計更好提取純凈內(nèi)容的方法。比如在VQ層后加入互信息進(jìn)行內(nèi)容表征提純,或者基于梯度反轉(zhuǎn)達(dá)到類似于生成對抗網(wǎng)絡(luò)的作用,進(jìn)一步將對抗的思想引入到表征學(xué)習(xí)中,使得說話人表征和內(nèi)容表征有效分離。