Home
Login
2noise/ChatTTS

会話シーン向けに設計された生成型音声モデル。中国語と英語の混合入力と複数話者に対応。

AGPL-3.0Python 36.8k2noise Last Updated: 2025-05-23
https://github.com/2noise/ChatTTS

ChatTTS - プロフェッショナルな対話シーン向けテキスト音声合成モデル

プロジェクト概要

ChatTTSは、2noiseチームによって開発された、対話シーンに特化した生成型テキスト音声合成(TTS)モデルです。このプロジェクトはGitHubで35,000以上のスターを獲得しており、現在最も人気のあるオープンソースTTSプロジェクトの一つです。

プロジェクトアドレス: https://github.com/2noise/ChatTTS
開発チーム: 2noise
オープンソースライセンス: AGPLv3+ (コード) / CC BY-NC 4.0 (モデル)
主要言語サポート: 中国語、英語

ChatTTSの設計当初の目的は、LLMアシスタントなどの対話アプリケーションに、自然で滑らかな音声インタラクション体験を提供することです。従来のTTSモデルと比較して、対話シーンでのパフォーマンスが優れています。

コア機能と特徴

🎯 対話最適化設計

  • 対話シーンに特化した最適化: チャットボット、LLMアシスタントなどの対話アプリケーション向けに特別に最適化されています。
  • 自然な対話体験: 生成される音声はより自然で滑らかで、人との対話シーンに適しています。
  • インタラクティブな対話: 複数ターンの対話における音声の一貫性をサポートします。

🎭 複数話者サポート

  • 複数話者機能: 異なる話者間の切り替えをサポートし、複数キャラクターの対話を可能にします。
  • 話者サンプリング: ガウス分布からランダムに話者の特徴をサンプリングできます。
  • 音色制御: 特定の音色をカスタマイズおよび固定し、キャラクターの一貫性を維持できます。

🎵 精緻な韻律制御

  • 笑い声制御: さまざまな程度の笑い声効果を追加できます [laugh][laugh_0-2]
  • ポーズ制御: 音声中のポーズと間隔を正確に制御します [uv_break][lbreak][break_0-7]
  • 口語調制御: 口語化の程度を調整できます [oral_0-9]
  • 感情表現: イントネーションの変化など、きめ細かい韻律の特徴を予測および制御できます。

🌐 多言語サポート

  • 中国語と英語の混合: 中国語と英語の混合入力をネイティブにサポートし、言語タグは不要です。
  • 言語適応: さまざまな言語のテキストコンテンツを自動的に識別して処理します。
  • 将来の拡張: より多くの言語をサポートする予定です。

⚡ 技術的優位性

  • 高度なアーキテクチャ: Bark、Valleなどの高度な技術を参考に、自己回帰モデルアーキテクチャに基づいています。
  • 韻律の優位性: 韻律表現の面で、ほとんどのオープンソースTTSモデルを上回っています。
  • 高品質な事前学習: メインモデルは、10万時間以上の中国語と英語のオーディオデータでトレーニングされています。
  • オープンソースフレンドリー: 研究用に40,000時間の事前学習済み基礎モデルを提供します。

モデル仕様と性能

トレーニングデータ

  • メインモデル: 10万時間以上の中国語と英語のオーディオデータでトレーニング
  • オープンソースバージョン: 4万時間の事前学習済みモデル(SFTなし)
  • データソース: 公開されているオーディオデータソース

性能指標

  • GPU要件: 30秒のオーディオを生成するには、少なくとも4GBのGPUメモリが必要です。
  • 生成速度: 4090 GPUで約7セマンティックトークン/秒を生成
  • リアルタイムファクター(RTF): 約0.3
  • オーディオ品質: 24kHzサンプリングレート出力

ハードウェア要件

  • 最低構成: 4GB以上のGPUメモリ
  • 推奨構成: RTX 3090/4090などのハイエンドグラフィックカード
  • CPU: マルチコアプロセッサの高速化をサポート
  • メモリ: 16GB以上のシステムメモリを推奨

インストールと使用

迅速なインストール

# プロジェクトのクローン
git clone https://github.com/2noise/ChatTTS
cd ChatTTS

# 依存関係のインストール
pip install --upgrade -r requirements.txt

# またはconda環境を使用
conda create -n chattts python=3.11
conda activate chattts
pip install -r requirements.txt

基本的な使用例

import ChatTTS
import torch
import torchaudio

# モデルの初期化
chat = ChatTTS.Chat()
chat.load(compile=False)  # Trueに設定すると、より良いパフォーマンスが得られます

# テキストから音声へ
texts = ["你好,我是ChatTTS", "Hello, I am ChatTTS"]
wavs = chat.infer(texts)

# オーディオファイルの保存
for i, wav in enumerate(wavs):
    torchaudio.save(f"output_{i}.wav", torch.from_numpy(wav).unsqueeze(0), 24000)

高度な制御機能

# ランダムな話者のサンプリング
rand_spk = chat.sample_random_speaker()

# 推論パラメータの設定
params_infer_code = ChatTTS.Chat.InferCodeParams(
    spk_emb=rand_spk,      # 話者埋め込み
    temperature=0.3,        # 温度パラメータ
    top_P=0.7,             # top-Pサンプリング
    top_K=20,              # top-Kサンプリング
)

# テキストリファインパラメータの設定
params_refine_text = ChatTTS.Chat.RefineTextParams(
    prompt='[oral_2][laugh_0][break_6]',  # 韻律制御の追加
)

# 音声の生成
wavs = chat.infer(
    texts,
    params_refine_text=params_refine_text,
    params_infer_code=params_infer_code,
)

応用シーン

🤖 AIアシスタントとチャットボット

  • LLM対話システムの音声出力
  • スマートカスタマーサービスシステム
  • 仮想アシスタントアプリケーション

📚 教育とトレーニング

  • オンライン教育プラットフォーム
  • 語学学習アプリケーション
  • オーディオブックの作成

🎬 コンテンツ制作

  • ポッドキャスト制作
  • ビデオ吹き替え
  • オーディオコンテンツの生成

🏢 企業アプリケーション

  • 会議の要約放送
  • 通知の音声化
  • アクセシビリティ支援機能

技術アーキテクチャ

コアコンポーネント

  • テキストエンコーダ: 入力テキストのセマンティック理解を処理します。
  • 韻律予測器: 音声の韻律の特徴を予測および制御します。
  • ボコーダー: 特徴を高音質のオーディオ波形に変換します。
  • 話者エンコーダ: 複数話者の特徴埋め込みを処理します。

モデルの特徴

  • 自己回帰アーキテクチャ: Transformerベースの自己回帰生成モデル
  • エンドツーエンドトレーニング: 統一されたエンドツーエンドトレーニングフレームワーク
  • マルチモーダル融合: テキスト、韻律、話者情報の効果的な融合

注意事項と制限事項

使用制限

  • 学術目的: 公開されたモデルは学術研究のみに使用できます。
  • 商業制限: 商業目的または違法な目的で使用することはできません。
  • 倫理的配慮: 悪意のある使用を防ぐために、高周波ノイズが追加されています。

技術的制限

  • オーディオの長さ: 長いオーディオでは品質が低下する可能性があります。
  • 計算要件: 高いGPU計算リソースが必要です。
  • 言語サポート: 現在、主に中国語と英語をサポートしています。

よくある質問

  • 生成速度: ハードウェア構成とパラメータ調整を最適化することで改善できます。
  • オーディオ品質: MP3圧縮形式は最終的な品質に影響を与える可能性があります。
  • 安定性: 自己回帰モデルは不安定な出力が発生する可能性があります。

まとめ

ChatTTSは、対話シーンに特化して設計されたTTSモデルとして、以下の点で優れています。

🎯 プロフェッショナル性: 対話シーン向けに特別に最適化されており、チャットボット、AIアシスタントなどのアプリケーションで優れたパフォーマンスを発揮します。

🚀 技術的先進性: 最新の深層学習技術を採用し、韻律制御と複数話者サポートの面でリードしています。

🌟 オープンソースの価値: 完全なオープンソースソリューションを提供し、高品質のTTS技術の使用障壁を下げています。

🤝 コミュニティの活発さ: 活発な開発者コミュニティと豊富なエコシステムリソースがあります。

⚡ 実用性: 基本的な使用から高度な制御まで、さまざまなレベルのニーズを満たす完全な機能を提供します。

ChatTTSの登場は、対話シーン専用のTTSモデルの空白を埋め、より自然な人との音声インタラクション体験を構築するための強力な技術サポートを提供します。技術の継続的な発展とコミュニティの継続的な貢献により、ChatTTSは音声合成の分野でますます重要な役割を果たすと信じています。