コンテンツにスキップ

Chatterbox TTS

高速で多言語対応のTTSボイスクローニングエンドポイントには、servers/tts/chatterbox/server.pyを使用します。デフォルトではChatterbox-Turboとなっており、ブラケット配信タグを保持し、高速な推論を行います。

TomoriBotのリポジトリのルート(TomoriBotをクローンしたフォルダー)から以下のコマンドを実行します。

Terminal window
python -m venv servers\tts\chatterbox\.venv
servers\tts\chatterbox\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install numpy
pip install -r servers\tts\chatterbox\requirements.txt
python servers\tts\chatterbox\server.py
Terminal window
python3 -m venv servers/tts/chatterbox/.venv
source servers/tts/chatterbox/.venv/bin/activate
python -m pip install --upgrade pip
python -m pip install numpy
python -m pip install -r servers/tts/chatterbox/requirements.txt
python servers/tts/chatterbox/server.py

TomoriBotがChatterboxを使用している間は、そのターミナルを開いたままにしてください。デフォルトのエンドポイントURLはhttp://127.0.0.1:8011です。

/provider custom-endpoint addを実行します。

  • capability: speech
  • api_style: tts-clone
  • endpoint_url: http://127.0.0.1:8011

モーダルで以下を設定します。

  • Voice Source Mode: Clone
  • Script Markup Style: Bracket Tags

登録すると、エンドポイントはすぐに有効になります。今後、speechエンドポイントを切り替える場合にのみ/model speechを使用します。

  1. 背景音楽のない、1人の話者による10〜20秒のクリアな音声クリップを準備します。
  2. /speech voice-addを実行してクリップをアップロードします。
  3. /speech voice-assignを実行し、ペルソナと音声サンプルを選択します。

Chatterboxは、Turboモードが有効な場合、[laugh][sigh]などのブラケット配信タグを使用できます。

Chatterboxのリクエストペイロードを調整するには、/speech chatterbox parametersを使用します。

  • turboのデフォルトはtrueです。有効な場合、TomoriBotはサポートされているChatterbox-Turboのイベントタグを保持し、ラッパーがChatterboxTurboTTS.model.generate(...)を使用する前に、サポートされていないブラケット記述子を削除します。
  • cfg_weightのデフォルトは0.5です。最小値は0で、TomoriBotはハード的な最大値を設定していません。これはturbofalseの場合にのみ適用され、値を低くすると速い参照音声を遅くするのに役立ち、値を高くすると参照音声に強く従うようになります。
  • exaggerationのデフォルトは0.5です。最小値は0で、TomoriBotはハード的な最大値を設定していません。これはturbofalseの場合にのみ適用され、値を高くすると配信がより表現豊かまたはドラマチックになり、話すスピードが速くなる場合があります。

サポートされているTurboイベントタグは、[clear throat][sigh][shush][cough][groan][sniff][gasp][chuckle]、および[laugh]です。[stammers][blushes]、または[smiles]などのサポートされていない記述子は、TTSに送信される前に削除されます。

turboが無効な場合、TomoriBotはテキストをTTSに送信する前にすべてのブラケット記述子を削除し、ラッパーが標準のChatterboxTTSモデルを遅延読み込みして、model.generate(..., cfg_weight, exaggeration)を呼び出します。