現實版柯南「蝴蝶結變聲器」:谷歌發布從聲紋識別到多重聲線語音合成的遷移學習
來自專欄機器之心
近日,谷歌科學家 Ye Jia 等人在 arXiv 上發布了一篇用遷移學習完成語音合成的論文。這項全新的語音合成技術能夠通任意一段參考音頻中提取出說話者的聲紋信息,並生成與其相似度極高的合成語音,參考音頻與最終合成的語音甚至不必是同一種語言。除了利用參考音頻作為輸入外,該技術還能隨機生成虛擬的聲線,以「不存在的說話者」的聲音進行語音合成。
音頻按順序分別為參考音頻 1、以參考音頻 1 的聲線為輸入的生成句子 1(Take a look at these pages for crooked creek drive.)、生成句子 2(There are several listings for gas station.)、參考音頻 2、以參考音頻 2 的聲線為輸入的生成句子 1(同上)、生成句子 2(同上)。
點此查看更多生成音頻樣本。https://google.github.io/tacotron/publications/speaker_adaptation/
這篇名為「從聲紋識別到多重聲線語音合成的遷移學習」的論文中的系統由三個模塊組成,分別是:
- 聲紋編碼器
- 基於 Tacotron2 的語音合成器
- 基於 WaveNet 的發聲器
其中,聲紋編碼器用於從一段參考音頻中提取固定維度的聲紋特徵。本文的聲紋編碼器採用了 3 層 LSTM 架構,提取的聲紋特徵為 256 維。值得一提的是,聲紋編碼器不但不需要訓練數據包含準確的文本,甚至允許數據中包含背景噪音。聲紋編碼器只需要數據來自於足夠多的說話者,以覆蓋儘可能多樣的聲紋即可。
隨後,提取出的聲紋特徵與文本特徵一起作為輸入進入 Tracotron2 合成器,二者按照時間步進行拼接。相比於聲紋編碼器,合成器對訓練數據的要求要嚴格得多,準確的文本,足夠的時長,還要保證數據中不包含噪音。
合成器生成的頻譜特徵進而進入基於 WaveNet 的發聲器,完全獨立於聲紋編碼器的發聲器將頻譜特徵轉換為時序波形。
在訓練方面,由於三個不同模塊對訓練數據集的要求截然不同,本文採用了不同的數據集分開訓練了三個模塊。
作者分別用一個非公開語音搜索語料庫(3600 萬條,18000 名說話者,美國,中位數時長 3.9 秒)訓練了聲紋編碼器,用經過處理的公開數據集 VCTK(44 小時,109 名說話者,無噪音,英音,中位數時長 1.8 秒)和 LibriSpeech(436 小時,1172 名說話者,有背景噪音,中位數時長 5 秒)各自訓練了語音合成器和發聲器。
實驗結果主要從合成語音的自然度,以及與參考說話者的相似度這兩方面來度量模型的質量。在 VCTK 數據集上,對於訓練數據中未出現過的說話者,自然度 MOS 能夠達到 4.20,接近於真實語音的 4.49;在 LibriSpeech 上,自然度 MOS 達到 4.12,同樣接近於真實語音的 4.42。在相似度方面,VCTK 和 LibriSpeech 上的 MOS 分別達到 3.28 和 3.03,雖然與真實語音的 4.67 和 4.33 相比還有不小差距,但也已經很大程度地保留了說話者的聲音信息。文章同時提供了一組結果證明,增加訓練數據中所出現的說話者數量,會顯著提升合成語音的自然度和相似度。
最後,當模型訓練完成後,如果將聲紋編碼器去掉,用隨機生成的特徵代替聲紋編碼器的輸出作為合成器的輸入,就可以給出虛擬聲線的合成語音。這種方式生成的語音聲線明顯有別於訓練數據中的任意說話者,並且能夠達到 3.65 的自然度。
- Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis
- https://arxiv.org/abs/1806.04558
推薦閱讀:
TAG:谷歌Google | 遷移學習TransferLearning | 人工智慧 |