MegaTTS3 項目詳細介紹
項目概述
MegaTTS3是由字節跳動(ByteDance)開發的高質量零樣本語音合成系統,基於稀疏對齊增強的潛在擴散變換器(Sparse Alignment Enhanced Latent Diffusion Transformer)技術。該項目主要用於學術研究目的,提供了強大的文本轉語音(TTS)和聲音克隆功能。
核心特性
🚀 輕量化高效
- 參數規模:TTS擴散變換器的主幹網絡僅有0.45B參數
- 高效推理:優化的架構設計,實現快速語音生成
🎧 超高品質聲音克隆
- 零樣本合成:無需訓練即可克隆新的說話人聲音
- 高保真度:生成的語音質量接近原始錄音
- 在線體驗:可在Huggingface Demo上體驗
🌍 雙語支持
- 多語言:同時支持中文和英文語音合成
- 代碼切換:支持中英文混合語音生成
- 跨語言:英文聲音可以合成中文語音(帶口音控制)
✍️ 可控性強
- 口音強度控制:可調節生成語音的口音程度
- 發音精細調節:支持細粒度的發音和時長調整(即將推出)
- 智能度權重:通過p_w參數控制語音清晰度
- 相似度權重:通過t_w參數控制與原聲音的相似度
技術架構
主要組件
- TTS主模型
- 基於稀疏對齊增強的潛在擴散變換器
- 支持零樣本語音合成
- 高質量聲音克隆能力
- 語音-文本對齊器(Speech-Text Aligner)
- 使用大量MFA專家模型生成的偽標籤訓練
- 用途:數據集準備、噪聲過濾、音素識別、語音分割
- 字素到音素轉換器(G2P)
- 基於Qwen2.5-0.5B模型微調
- 提供魯棒的字素到音素轉換
- WaveVAE
- 強大的波形變分自編碼器
- 將24kHz語音壓縮為25Hz聲學潛在表示
- 幾乎無損重建原始波形
安裝與使用
系統要求
- Python 3.10
- Linux/Windows/Docker支持
- 可選GPU加速(推薦)
快速開始
- 克隆倉庫
git clone https://github.com/bytedance/MegaTTS3
cd MegaTTS3
- 環境配置
conda create -n megatts3-env python=3.10
conda activate megatts3-env
pip install -r requirements.txt
export PYTHONPATH="/path/to/MegaTTS3:$PYTHONPATH"
- 模型下載
- 從Google Drive或Huggingface下載預訓練模型
- 將模型文件放置到
./checkpoints/xxx目錄
使用方法
命令行推理(標準)
# 中文語音合成
python tts/infer_cli.py --input_wav 'assets/Chinese_prompt.wav' --input_text "另一邊的桌上,一位讀書人嗤之以鼻道,'佛子三藏,神子燕小魚是什麼樣的人物,李家的那個李子夜如何與他們相提並論?'" --output_dir ./gen
# 英文語音合成(高表現力)
python tts/infer_cli.py --input_wav 'assets/English_prompt.wav' --input_text 'As his long promised tariff threat turned into reality this week, top human advisers began fielding a wave of calls from business leaders.' --output_dir ./gen --p_w 2.0 --t_w 3.0
口音控制合成
# 保持原始口音(p_w ≈ 1.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
# 標準發音(p_w > 2.0)
python tts/infer_cli.py --input_wav 'assets/English_prompt.wav' --input_text '這條音頻的發音標準一些了嗎?' --output_dir ./gen --p_w 2.5 --t_w 2.5
Web界面
python tts/gradio_api.py
參數說明
核心參數
- p_w(智能度權重):控制語音清晰度,噪聲較多的提示音頻需要更高的p_w值
- t_w(相似度權重):控制與原聲音的相似度,通常比p_w高0-3個點
- 推理步數:默認10步,CPU推理約需30秒
口音控制
- p_w ≈ 1.0:保持說話人原始口音
- p_w增加:向標準發音靠攏
- t_w範圍:通常在2.0-5.0之間,合理增加可提高表現力
安全與限制
安全考慮
- WaveVAE編碼器:出於安全考慮,未公開編碼器參數
- 預提取潛在表示:只能使用預提取的.npy潛在文件進行推理
- 學術用途:項目主要面向學術研究
使用流程
- 準備音頻文件(.wav格式,<24秒,文件名不含空格)
- 上傳到語音請求隊列
- 通過安全驗證後,獲得對應的.npy潛在文件
- 使用.wav和.npy文件進行推理
許可證與引用
- 許可證:Apache-2.0 License
- 發布時間:2025年3月22日
- 維護者:字節跳動公司
應用場景
主要用途
- 語音合成研究:為研究人員提供高質量的TTS基線
- 聲音克隆:實現個性化語音助手
- 多語言應用:支持中英雙語內容創作
- 口音研究:研究和控制語音中的口音特徵
擴展應用
- 數據集準備:使用對齊器為模型訓練準備數據
- 語音質量過濾:篩選大規模語音數據集
- 音素識別:進行語音的音素級分析
- 語音轉換:實現不同說話人之間的聲音轉換
注意事項
- 模型下載:需要手動下載預訓練模型文件
- 依賴管理:注意pydantic和gradio版本匹配
- 環境變量:正確設置PYTHONPATH和CUDA_VISIBLE_DEVICES
- 文件格式:輸入音頻必須為.wav格式,時長小於24秒
- 安全審核:上傳的語音文件需通過安全審核