MegaTTS 3:字節跳動推出的一款零樣本文本到語音合成系統
MegaTTS 3是什么?
MegaTTS 3 是字節跳動推出的零樣本文本到語音合成系統。它采用輕量級的擴散模型,將語音分解為內容、音色、韻律等屬性進行建模,支持超高音質的語音克隆、雙語合成、口音強度控制等功能,可應用于語音合成、語音編輯等場景。
核心架構與技術
輕量級且高效的擴散模型:MegaTTS 3 的核心是 TTS Diffusion Transformer,其參數量僅為 0.45B,在保證高效的同時,能夠生成高質量的語音。
語音分解與建模:將語音分解為內容、音色、韻律等不同屬性,并為每個屬性設計了合適的模塊進行建模。例如,使用全局向量來建模音色,因為音色是隨時間緩慢變化的全局屬性;利用基于 VQGAN 的聲學模型生成語譜圖,以及基于潛在碼的語言模型來擬合韻律的分布,因為韻律在句子中快速變化,語言模型能夠捕捉局部和長距離的依賴關系。
聲碼器:采用基于 GAN 的聲碼器來適當構建相位,而不需要語言模型對相位進行建模。
MegaTTS 3功能特點
超高音質的語音克?。耗軌蛏膳c目標說話人高度相似的語音。
雙語支持:支持中文和英文,以及中英混合的語音合成。
可控性:支持口音強度控制,并且未來還將支持更精細的發音/時長調整。
零樣本語音合成:能夠在沒有目標說話人特定語音數據的情況下,生成其語音。
MegaTTS 3應用場景
語音合成:可用于各種需要將文本轉換為語音的場景,如有聲讀物、語音播報等。
語音編輯:能夠對語音進行編輯和修改,以滿足不同的需求。
跨語言語音合成:支持跨語言的語音合成任務。
MegaTTS 3使用教程
命令行工具:提供了命令行界面,用戶可以通過指定輸入的語音提示文件和文本內容,生成合成語音。例如:
標準語音合成命令:
CUDA_VISIBLE_DEVICES=0 python tts/infer_cli.py --input_wav 'assets/Chinese_prompt.wav' --input_text "另一邊的桌上,一位讀書人嗤之以鼻道,'佛子三藏,神子燕小魚是什么樣的人物,李家的那個李子夜如何與他們相提并論?'" --output_dir ./gen
帶有口音控制的語音合成命令:
CUDA_VISIBLE_DEVICES=0 python tts/infer_cli.py --input_wav 'assets/English_prompt.wav' --input_text '這是一條有口音的音頻。' --output_dir ./gen --p_w 1.0 --t_w 3.0
Web UI:還支持通過 Web UI 進行語音合成。
MegaTTS 3安裝
環境要求:需要 Python 3.9 環境。
模型下載:預訓練模型的檢查點可以從 Google Drive 或 Hugging Face 下載,并放置在指定目錄。
安裝步驟:
# 創建 Python 3.9 的 conda 環境 conda create -n megatts3-env python=3.9 conda activate megatts3-env # 安裝依賴 pip install -r requirements.txt
github項目:https://github.com/bytedance/MegaTTS3