最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Tacotron2語音合成之復刻主播聲音

2022-08-31 14:42 作者:秋之雪華  | 我要投稿

最近在阿B看到許多語音合成的視頻,效果比小愛的聲音定制略勝一籌,不能說和本人一模一樣,但是也相當近似。

從實現(xiàn)方式講,有阿里云商用閉源方案,有Tacotron2和VIST開源方案,以及更早的MockingBird。目前我用了Tacotron2,自我感覺上手難度較低,但是時間開銷有些大。

在這里總結(jié)一下經(jīng)驗并作一個技術分享。


背景

目前的多數(shù)示例是使用游戲音頻素材做訓練和合成的。游戲音頻素材已經(jīng)是每句一個錄音文件,發(fā)音吐字清晰,沒有不必要的停頓和重讀,錄音音量穩(wěn)定,無噪音和背景音,而主播錄播內(nèi)容恰恰相反,唯一的優(yōu)勢是錄播素材多,可以手動精選。


準備

  1. ?一臺電腦

  2. 訪問外網(wǎng)的工具

  3. 一個谷歌賬戶

  4. 預先下載錄播(首選雜談類型的錄播,畢竟游戲、歌回、同步視聽不是話說的少就是干擾因素多;雜談也盡量選擇純音樂做BGM的錄播)

建議只下載音頻,dash音頻即.m4a格式的文件



MockingBird

先簡單說一下MockingBird,MockingBird的上手難度短和時間開銷低,但是實際效果很不理想。簡單講,MockingBird需要內(nèi)置一個模型,然后你提供一條10秒左右錄音文件,MockingBird從錄音文件學習,然后合成新的聲音。

當內(nèi)置模型和錄音文件差異很大時,合成的結(jié)果就會翻車。

其次這種學習是無法學到平翹舌、前后鼻音之類的不標準的發(fā)音的。

因此不推薦使用這個工具。


簡介

主要使用了?@梅雨初霽?的工具包進行訓練

https://t.bilibili.com/695241886813650984

也參考了這個視頻對錄播的處理

https://www.bilibili.com/video/BV1dq4y137pH


文件準備

錄播的錄音文件需要做一定的預處理。我在處理過程中均使用wav文件格式,不一定非wav不可,但是理論上這可以減少重復編碼解碼造成的信息損失。

  1. ?切割

    由于直播間通常有背景音樂,需要使用工具去除背景音;而錄音文件越大,工具對內(nèi)存就有更高的需求,因此錄音文件需要根據(jù)具體情況預先切割。

    通常來說10分鐘是不會有問題的

1小時的錄音去除背景音樂時占用內(nèi)存5G,但是并非剩余內(nèi)存大于6G就一定能夠運行成功


切割錄音文件使用的工具我推薦QuickCut??

https://github.com/HaujetZhao/QuickCut/releases

重命名音頻后綴為wav,拖文件到輸入路徑;選擇一個輸出文件夾,設置片段時長(秒),點擊運行

QuickCut? 切割錄音文件

2.?去除背景音樂

下載并使用Spleeter為核心二次開發(fā)的程序,并處理已經(jīng)切割后的文件。我推薦(個人感覺資源開銷低,其他工具可能真的只能處理切割為10分鐘的片段)? https://github.com/wudicgi/SpleeterMsvcExe/releases/? ,也可以使用https://github.com/otomad/SpleeterGui?或者?https://github.com/Anjok07/ultimatevocalremovergui/releases

處理結(jié)束,文件名包含vodal的就是去除了背景音樂的純?nèi)寺曚浺?,其他文件都可以刪除。


由于主播通常使用單通道麥克風錄音,而背景音樂通常是立體聲,可以使用音頻處理軟件(比如golden?wave的立體聲通道處理功能,選擇“提升人聲”或者“提升中央”,對錄音文件中的噪音再次消除。

3.?修改編碼

在golden?wave中新建文件,選擇單聲道 22050采樣率的文件

復制調(diào)整過音量的內(nèi)容并粘貼到新文件中,保存為wav格式。

4.?音量增益

如果音量較小,需要把錄音文件的音量調(diào)大。我使用golden?wave的自動增益功能,設置目標音量-3db(當然也可以更大)

設置參考

音量調(diào)節(jié)前后對比


5.?語音識別并生成字幕

我推薦使用剪映,白嫖字節(jié)跳動的服務器資源。

直接拖拽錄音文件到剪映的音頻軌道上,右鍵識別字幕/歌詞

語音識別

識別結(jié)束,導出。注意導出時不勾選視頻導出,勾選字幕導出,字幕格式選擇srt。

導出字幕

6.?校對字幕

剪映其實也可以校對字幕,但是我推薦aegisub,效率更高??https://github.com/Aegisub/Aegisub/releases

把錄音和字幕拖到aegisub上,就可以預覽波形圖、播放選區(qū)、校對字幕了。

需要注意的是:

????a.?盡量只保留陳述句。如果錄音有笑聲、拍肚皮聲,建議刪掉,字音不清楚建議刪掉

????b.?字幕有同音錯字可以不處理

????c.?有英語的內(nèi)容建議刪除

????d.?相鄰兩句距離太短,建議合并字幕為一句

????e.?如果字幕在音頻的邊緣,需要注意字音是否完整。寧愿多選不要讓字音有破音


7.?切割音頻

按照字幕的時間,切割錄音文件??梢允褂胔ttps://gitee.com/kslizi/Sound_File_Procesing? 或者前邊用過的QuickCut? ?https://github.com/HaujetZhao/QuickCut/releases?

兩者其實都有問題,前者是Python項目,需要安裝環(huán)境、依賴,可以參考這個視頻 https://www.bilibili.com/video/BV1dq4y137pH

后者切割文件后,需要手動生成文件列表,把左圖的文件修改為右圖的格式。熟悉文本編輯器或者excel倒是不難。

每行記錄都有空格分割為兩部分,左側(cè)文件名(不包含后綴),右側(cè)文本內(nèi)容(不包含標點)


8.?上傳文件。

解壓tacotron2壓縮包上傳到谷歌云端硬盤;

把錄音文件拆分訓練集和測試集,放到training和testing兩個不同的文件夾,在谷歌硬盤的tactron2目錄中新建一個文件夾(舉例命名為Miki)放進去。

文件列表同樣需要拆分為訓練集和測試集兩個文件,文件名必須與放置的錄音文件一致(錄音文件為Miki目錄,訓練集文件列表命名Miki.txt,測試集文件列表命名Miki_testing.txt),放到谷歌硬盤的tactron2/filelists目錄中


在線訓練

由于深度學習需要使用高性能電腦,而看這個文檔的你一定這樣的電腦。

我們可以白嫖谷歌的高性能服務器。

在谷歌硬盤中點擊Tacotron2+HifiGAN.ipynb這個文件并打開,修改

修改TTS/tacotron2為你上傳到谷歌硬盤的路徑,修改Miki為你的錄音文件的文件夾名稱

然后順次點擊每個白色的小箭頭即可

其中trainning會耗費數(shù)天的時間。根據(jù)我的經(jīng)驗,每個谷歌賬戶應該一天只能白嫖4小時左右。但是問題不大,你可以多注冊幾個賬戶,通過共享文件的方式接力訓練,或者充值變強。



離線合成


除在colob中在線合成,也可以使用MoeTTS加載Tacotron2模型。https://github.com/luoyily/MoeTTS/releases/tag/v1.0.1

首先從Google?drive中,colab/outdir中下載訓練過的模型。

再從tacotron2壓縮包中獲取hifimodel和config.json兩個文件,

在moetts中選擇模型、路徑,

在文本框內(nèi)輸入拼音,注意句尾添加英文句號,點擊成聲音文件,稍等幾秒即可得到錄音文件。

每次生成錄音具有一定的隨機性,如果不理想可以重試幾次



網(wǎng)盤鏈接

只打包了Tacotron2,考慮到錄音文件和訓練的模型存在風險,不做分享。

鏈接: https://pan.baidu.com/s/1KCHV3YWHVzPdb-62STMKlQ?pwd=3uyx 提取碼: 3uyx?

Tacotron2語音合成之復刻主播聲音的評論 (共 條)

分享到微博請遵守國家法律
鄯善县| 眉山市| 中西区| 南昌县| 三门县| 宣城市| 中方县| 土默特左旗| 池州市| 山西省| 禹城市| 广东省| 南宁市| 道孚县| 洛川县| 镇原县| 清涧县| 成都市| 商洛市| 绵竹市| 宾阳县| 夏邑县| 铜鼓县| 渭源县| 晋宁县| 石棉县| 连山| 鄢陵县| 邳州市| 贵州省| 舒兰市| 巫溪县| 道真| 闽侯县| 砀山县| 瓦房店市| 金阳县| 石狮市| 洮南市| 南漳县| 贵州省|