近日,百度研究者發表論文,利用兩種方法,只需少量樣本就能在幾秒鐘內合成自然且相似度極高的語音。近些年關于高質量的語音合成方法確實不少,但能在如此短時間內完成的卻實屬罕見。
聲音克隆是個性化語音交互領域高度理想化的功能,基于神經網絡的語音合成系統已經可以為大量發言者生成高質量語音了。在這篇論文中,百度的研究人員向我們介紹了一種神經語音克隆系統,只需要輸入少量的語音樣本,就能合成逼真的語音。這里研究了兩種方法:說話者適應(speaker adaptation)和說話者編碼(speaker encoding),最終結果表明兩種方法在語音的自然性和相似性方面都表現良好。
由于研究者要從有限且陌生的語音樣本中進行語音克隆,這就相當于一個“語音在特定語境下的few-shot生成建模”問題。若樣本充足,為任何目標說話者訓練生成模型都不在話下。不過,few-shot生成模型雖然聽起來很吸引人,但卻是個挑戰。生成模型需要通過少量的信息學習說話者的特征,然后還要生成全新的語音。
語音克隆
我們計劃設計一個多說話者生成模型(multi-speaker generative model):f(ti,j,si; W,esi),ti表示文本,si表示說話者。模型以W進行參數化,作為編碼器和解碼器的訓練參數。esi是對應到si的可訓練說話者嵌入。W和esi均通過最小化損失函數L進行優化,損失函數L對生成音頻和真視音頻之間的差異進行懲罰。
這里S是一組說話者,Tsi是為si準備的文字-音頻訓練集,ai和j是ti和j的真實音頻。期望值是通過所有訓練說話者的文本-音頻對來估計的。
在語音克隆中,實驗的目的是從一組克隆音頻Ask中提取出sk的聲音特征,并且用該聲音生成不一樣的音頻。衡量生成結果的標準有二:
看語音是否自然;
看生成的語音與原音頻是否相似。
下圖總結了說話者適應和說話者編碼兩種方法的語音克隆方法:
說話者適應運用的是梯度下降原理,利用少數音頻和對應的文本對多語音模型進行微調,微調可以用于說話者嵌入或整個模型。
而說話者編碼的方法是從說話者的音頻樣本中估計說話者嵌入。這種模式并不需要在語音克隆的過程中進行微調,因此它可以用于任何未知的說話者。
說話者編碼器結構
語音克隆評估
語音克隆的結果可以通過眾包平臺經過人類進行評估,但是這樣的模型開發過程是非常緩慢且昂貴的。研究人員利用判別模型提出了兩種評估方法。
1.說話者分類(Speaker Classification)
說話者分類器決定音頻樣本的來源。對于語音克隆評估,說話者分類器可以在用于克隆的語音上進行訓練。高質量的語音克隆有助于提高分類器的精確度。
2.說話者驗證(Speaker Verification)
說話者驗證是用來檢測語音的相似性,具體來說,它利用二元分類識別測試音頻和生成音頻是否來自同一說話者。
實驗過程
我們對比了兩種方法(說話者適應和說話者編碼)在語音克隆上的表現。對說話者適應,我們訓練了一個生成模型,讓其通過微調達到目標說話者的水平。對說話者編碼,我們訓練了一個多說話者生成模型和一個說話者編碼器,將嵌入輸入到多說話者生成模型中生成目標語音。
兩種方法訓練的數據集是LibriSpeech,該數據集包含2484個樣本音頻,總時長約820小時,16KHz。LibriSpeech是一個用于自動語音識別的數據集,它的音頻質量比語音合成的數據集低。語音克隆是在VCTK數據集上進行的,其中包括了108種不同口音、以英語為母語的音頻。為了與LibriSpeech保持一致,VCTK中的音頻樣本被壓縮為16KHz。
下圖總結了不同的方法在語音克隆上的表現:
說話者適應和說話者編碼在語音克隆上的不同需求。假設都在Titan X上進行
對于說話者適應的方法,下圖表現了分類精確度與迭代時間的結果:
不同克隆樣本數量和微調次數的關系圖
說話者適應和說話者編碼在不同克隆樣本下的分類精度對比
不同克隆樣本數量下,說話者驗證上的同等錯誤率(EER)
下面兩個表顯示了人類評估的結果,這兩個結果都表明克隆音頻越多,說話者適應的方法越好。
結語
研究人員通過兩種方法,證明了他們可以用較少的聲音樣本生成自然、相似的新音頻。他們相信,語音克隆在未來依然有改善的前景。隨著元學習的進展,這一領域將得到有效的提高,例如,可以通過將說話者適應或編碼這兩種方法整合到訓練中,或者通過比說話者嵌入更靈活的方式來推斷模型權重。
-
編碼器
+關注
關注
45文章
3667瀏覽量
135237 -
音頻
+關注
關注
29文章
2901瀏覽量
81937
原文標題:百度研究者利用少量樣本實現語音克隆
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論