語音克隆是這兩年比較火的深度學習應用,它允許從幾秒鐘的音頻中學習對象的說話方式和音調,並使用它來生成新的語音。
下面來看看我使用 SV2TTS 訓練模仿卷福閱讀下面這句話的效果:
She is beginning to get many wrinkles around her eyes.
訓練集:
克隆、模仿效果(She is beginning to get many wrinkles around her eyes.):
效果不錯,如果不知道它是Python生成的,還以為真的是卷福念的。
下面就來教大家如何使用 Real-Time-Voice-Cloning 項目克隆語音並生成自己想要的語句。
1.准備
大家可以前往 Real-Time-Voice-Cloning 項目下載這個項目的代碼以及預訓練完成的模型。(注意,需要Python 3.6以上才能運行該項目):
https://github.com/CorentinJ/Real-Time-Voice-Cloning
如果你的網絡速度比較差,下載不了 github 項目及其預訓練模型,可以在 Python 實用寶典 公眾號後台回復 克隆語音 下載完整項目代碼及預訓練模型。
下載完項目代碼後,你還需要下載兩個重要依賴:
PyTorch(> = 1.0.1)
https://pytorch.org/get-started/locally/
ffmpeg
https://ffmpeg.org/download.html
其中,PyTorch的官方指南已經寫得很清楚了,大家根據自己的需求安裝即可。
ffmpeg 的安裝我們已經在這篇文章詳細地講過:Python 多種音樂格式轉換(批量)實戰教程,在此重新講解一下各個系統的安裝指南:
Mac (打開終端(Terminal), 用 homebrew 安裝):
brew install ffmpeg --with-libvorbis --with-sdl2 --with-theora
Linux:
apt-get install ffmpeg libavcodec-extra
Windows:
1. 進入以下鏈接,點擊 windows 對應的圖標,進入下載界面點擊 download 下載按鈕:
http://ffmpeg.org/download.html#build-windows
2. 解壓下載好的zip文件到指定目錄
3. 將解壓後的文件目錄中 bin 目錄(包含 ffmpeg.exe )添加進 path 環境變量中
安裝完成以上兩個重要依賴後,在終端、命令行中進入項目目錄中,安裝Python依賴:
pip install -r requirements.txt
這命令會安裝所有 requirements.txt 中的所有依賴。完成以上依賴的安裝後,就可以進行下一步了。
2.下載預訓練模型(可選)
如果你用的是我們提供的項目文件,你就不需要再進行這一步了,因為把預訓練的模型都已經放進去了。
如果你沒有用Python實用寶典提供的項目代碼,你還需要去下載預訓練的模型:https://github.com/CorentinJ/Real-Time-Voice-Cloning/wiki/Pretrained-models
下載完成後解壓 pretrained.zip 分別將對應的模型放入項目對應的位置中:
encoder\saved_models\pretrained.pt
synthesizer\saved_models\pretrained\pretrained.pt
vocoder\saved_models\pretrained\pretrained.pt
3.試一下克隆語音
隨便選取一段你想要克隆的人的語音,大概30秒左右,放入項目文件夾中。然後在該文件夾中運行命令:
python demo_cli.py
如果一切正常,它會出現讓你選擇訓練語音文件:
此時輸入你准備好的一段語音,等待它訓練完成後,它會讓你輸入想要模仿的文字:
比如上圖中,我輸入了:
She is beginning to get many wrinkles around her eyes.
程序生成完畢後會自動念出克隆結果,如果你沒有聽見克隆結果,沒關系,程序會將其保存在當前文件夾下,命名為 demo_output_xx.wav。
雙擊打開這個文件,就是它生成的語音克隆結果啦,聽聽看,是不是你想要的效果?
如果沒有達到你的理想效果,請檢查一下訓練集是否有雜音、時間夠不夠長、有沒有其他人的介入,這些因素都可能導致克隆效果不理想。
我們的文章到此就結束啦,如果你喜歡今天的Python 實戰教程,請持續關注Python實用寶典。
有任何問題,可以在公眾號後台回復:加群,回答相應紅字驗證信息,進入互助群詢問。
原創不易,希望你能在下面點個贊和在看支持我繼續創作,謝謝!
點擊下方閱讀原文可獲得更好的閱讀體驗
Python實用寶典 (pythondict.com)
不只是一個寶典
歡迎關注公眾號:Python實用寶典