ChatTTSは、2noiseチームによって開発された、対話シーンに特化した生成型テキスト音声合成(TTS)モデルです。このプロジェクトはGitHubで35,000以上のスターを獲得しており、現在最も人気のあるオープンソースTTSプロジェクトの一つです。
プロジェクトアドレス: https://github.com/2noise/ChatTTS
開発チーム: 2noise
オープンソースライセンス: AGPLv3+ (コード) / CC BY-NC 4.0 (モデル)
主要言語サポート: 中国語、英語
ChatTTSの設計当初の目的は、LLMアシスタントなどの対話アプリケーションに、自然で滑らかな音声インタラクション体験を提供することです。従来のTTSモデルと比較して、対話シーンでのパフォーマンスが優れています。
[laugh]
、[laugh_0-2]
[uv_break]
、[lbreak]
、[break_0-7]
[oral_0-9]
# プロジェクトのクローン
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,
)
ChatTTSは、対話シーンに特化して設計されたTTSモデルとして、以下の点で優れています。
🎯 プロフェッショナル性: 対話シーン向けに特別に最適化されており、チャットボット、AIアシスタントなどのアプリケーションで優れたパフォーマンスを発揮します。
🚀 技術的先進性: 最新の深層学習技術を採用し、韻律制御と複数話者サポートの面でリードしています。
🌟 オープンソースの価値: 完全なオープンソースソリューションを提供し、高品質のTTS技術の使用障壁を下げています。
🤝 コミュニティの活発さ: 活発な開発者コミュニティと豊富なエコシステムリソースがあります。
⚡ 実用性: 基本的な使用から高度な制御まで、さまざまなレベルのニーズを満たす完全な機能を提供します。
ChatTTSの登場は、対話シーン専用のTTSモデルの空白を埋め、より自然な人との音声インタラクション体験を構築するための強力な技術サポートを提供します。技術の継続的な発展とコミュニティの継続的な貢献により、ChatTTSは音声合成の分野でますます重要な役割を果たすと信じています。