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秒未満である必要があります
- セキュリティ審査: アップロードされた音声ファイルはセキュリティ審査に合格する必要があります