
語音合成(Text-to-speech,TTS)是指文本到音頻的人工轉(zhuǎn)換,也可以說給定一段文字去生成對應(yīng)的人類讀音。人類通過閱讀來完成這項(xiàng)任務(wù),而一個(gè)好的TTS系統(tǒng)是讓計(jì)算機(jī)自動完成這項(xiàng)任務(wù)。
在打造這樣一個(gè)系統(tǒng)時(shí),一個(gè)非常有趣的地方是為生成的音頻選擇哪個(gè)聲音,是男人還是女人的聲音?聲音是大還是???
在使用深度學(xué)習(xí)創(chuàng)建TTS時(shí),這有一個(gè)限制,你必須收集文本-音頻的數(shù)據(jù)集,而錄制演講的演講者可能是固定的——因?yàn)槟悴豢赡苡袩o限多個(gè)演講者!
所以,如果你想為自己或他人的聲音創(chuàng)建音頻,唯一的方法就是收集一個(gè)全新的數(shù)據(jù)集。
來自谷歌名為 Voice Cloning 的人工智能研究使計(jì)算機(jī)可以用任何類型聲音發(fā)出聲音。
Voice Cloning是怎樣工作的
很明顯,為了讓電腦能夠使用任何類型聲音發(fā)出聲音,它需要理解兩件事:它讀的是什么以及它是如何讀的。
因此,谷歌研究人員設(shè)計(jì)的語音克隆系統(tǒng)有兩個(gè)輸入:我們想要讀取的文本和我們想要用來閱讀文本的語音樣本。
例如,如果我們想讓蝙蝠俠讀“我愛披薩”這句話,那么我們會給系統(tǒng)兩樣?xùn)|西:“我愛披薩”的文本和一小段蝙蝠俠的聲音樣本,這樣它就知道蝙蝠俠的聲音應(yīng)該是什么樣的。而電腦的輸出應(yīng)該是蝙蝠俠說“我愛披薩”的聲音音頻!
從技術(shù)角度來看,系統(tǒng)分為3個(gè)順序組件:
-
給定我們希望使用的聲音的一個(gè)小音頻樣本,將語音波形編碼為一個(gè)固定的維向量表示 -
給定一段文本,也把它編碼成向量表示。將語音和文本這兩個(gè)向量結(jié)合起來,將它們解碼成聲譜圖 -
使用聲碼器將聲譜圖轉(zhuǎn)換成我們可以聽到的音頻波形。

系統(tǒng)的簡化版本
在文章中,我們對這三個(gè)部分分別進(jìn)行了訓(xùn)練。
在過去幾年中,語音合成系統(tǒng)在深度學(xué)習(xí)社區(qū)中得到了很多研究關(guān)注。事實(shí)上,有很多基于深度學(xué)習(xí)針對語音合成的解決方案都非常有效。
這里的關(guān)鍵是,系統(tǒng)能夠?qū)⒕幋a器從語音中學(xué)到的“知識”應(yīng)用到文本中。
在分別編碼后,將語音和文本組合在一個(gè)公共的嵌入空間中,然后進(jìn)行解碼,生成最終的輸出波形。
克隆聲音的相關(guān)實(shí)現(xiàn)代碼
多虧了人工智能社區(qū)中開放源碼思想的美妙之處,在這里有一個(gè)公開可用的語音克隆實(shí)現(xiàn)!你可以按照下面的介紹這樣來使用它。
-
首先克隆倉庫:
git clone https://github.com/CorentinJ/Real-Time-Voice-Cloning.git
-
安裝必要的庫并確保使用的是Python 3的版本:
pip3 install -r requirements.txt
-
在README文件中,你還可以找到下載預(yù)訓(xùn)練模型和數(shù)據(jù)集的鏈接,并嘗試一些示例。 -
最后,你可以運(yùn)行以下命令打開GUI:
python demo_toolbox.py -d <datasets_root>
下面是我這邊運(yùn)行操作的一個(gè)截圖:

正如你所看到的,右上角的輸入框中是我想讓電腦閱讀的文字:“Did you know that the Toronto Raptors are Basketball champions? Basketball is a great sport.”
你可以點(diǎn)擊每個(gè)部分下面的 “Random” 按鈕來隨機(jī)化語音輸入,然后點(diǎn)擊 “Load” 將語音輸入加載到系統(tǒng)中。
Dataset 從你選擇的語音樣本中選擇數(shù)據(jù)集,Speaker 選擇說話的人,Utterance 選擇輸入語音所說的短語。如果想聽輸入的語音是怎樣的,只需點(diǎn)擊 “Play” 按鈕。
一旦你點(diǎn)擊 “Synthesize and vocode” 按鈕,算法就會運(yùn)行。一旦運(yùn)行結(jié)束,你將聽到揚(yáng)聲器以某個(gè)聲音朗讀你的輸入文本。
你甚至可以錄制你自己的聲音作為輸入,只需要點(diǎn)擊 “Record one” 按鈕。相信我,這會非常有趣!
更進(jìn)一步
如果你想了解更多關(guān)于這個(gè)算法的工作原理,你可以閱讀谷歌的官方NIPS論文。這里(https://google./tacotron/publications/speaker_adaptation/)還有一些音頻樣本結(jié)果。
論文鏈接:
https:///pdf/1806.04558.pdf
歡迎關(guān)注磐創(chuàng)博客資源匯總站: http://docs./
歡迎關(guān)注PyTorch官方中文教程站: http://pytorch./
|