Chatterbox TTS:オープンソースの音声合成パワーハウス
Chatterbox:高度なオープンソースTTSモデルでコンテンツを解き放つ
Resemble AIは、クリエイティブなプロジェクトに命を吹き込むために設計された画期的なオープンソースのテキスト読み上げ(TTS)モデル「Chatterbox」を発表します。MITライセンスの下で提供されるChatterboxは、細心の注意を払って開発・ベンチマークされ、ユーザー評価においてElevenLabsのような確立されたクローズドソースシステムを常に上回っています。魅力的なビデオコンテンツ、インタラクティブゲーム、洗練されたAIエージェントの開発など、Chatterboxは高品質な合成音声を生成するための強力かつ柔軟なソリューションを提供します。
主な特徴と機能
Chatterboxはその印象的な機能群で際立っています:
- 最先端のゼロショットTTS: 最小限のトレーニングデータで最上位のスピーチ合成を体験でき、ボイスクローニングをかつてないほど容易にします。
- 強力な0.5B Llamaバックボーン: 堅牢なAIアーキテクチャに基づいて構築され、卓越したパフォーマンスと自然な音声生成を実現します。
- 独自の誇張/強度制御: 合成音声の表現力を微調整し、ドラマチックまたは微妙なボーカルパフォーマンスを可能にします。
- 超安定したアラインメント考慮推論: 一貫した高品質の出力を保証し、アーティファクトや不要なバリエーションを削減します。
- 広範なトレーニングデータ: クリーン化された50万時間という膨大なデータでトレーニングされており、その驚くべき自然さに貢献しています。
- 透かし入り出力: 責任あるAI開発のために、組み込みのPerTh(Perceptual Threshold)ウォーターマーキングを採用し、オーディオ操作後でも検出可能性を確保します。
- 簡単な音声変換スクリプト: シームレスな音声変換タスクのための便利なスクリプトが含まれています。
- ElevenLabsを上回る性能: 主要な商用代替品と比較して優れた結果を提供することが証明されています。
Chatterboxの始め方
Chatterboxをワークフローに統合するのは簡単です。pipを使用して直接インストールできます:
pip install chatterbox-tts
あるいは、より高度な使用法やカスタマイズのために、ソースからインストールすることもできます:
# 新しいconda環境を作成してアクティブ化する
conda create -yn chatterbox python=3.11
conda activate chatterbox
# リポジトリをクローンしてインストールする
git clone https://github.com/resemble-ai/chatterbox.git
cd chatterbox
pip install -e .
このプロジェクトは、主にDebian 11 OS上のPython 3.11で開発およびテストされています。
基本的な使用例
Chatterboxを使用して音声を生成する簡単な例を以下に示します:
import torchaudio as ta
from chatterbox.tts import ChatterboxTTS
# CUDAデバイスでモデルを初期化する
model = ChatterboxTTS.from_pretrained(device="cuda")
# 合成するテキスト
text = "Ezreal and Jinx teamed up with Ahri, Yasuo, and Teemo to take down the enemy's Nexus in an epic late-game pentakill."
# 音声を生成する
wav = model.generate(text)
# 合成されたオーディオを保存する
ta.save("test-1.wav", wav, model.sr)
高度な使用法や音声プロンプトの詳細については、リポジトリ内のexample_tts.py
およびexample_vc.py
スクリプトを参照してください。
責任あるAIとウォーターマーキング
Chatterboxは責任あるAI開発にコミットしています。生成されるすべてのオーディオファイルには、Resemble AIのPerth Watermarkerを使用した知覚できないニューラルウォーターマークが含まれています。このウォーターマークは、MP3圧縮や編集などの一般的なオーディオ操作に対して堅牢であり、倫理的な使用追跡のためにほぼ100%の検出精度を保証します。
ウォーターマークを抽出するには:
import perth
import librosa
AUDIO_PATH = "YOUR_FILE.wav"
# ウォーターマーク付きオーディオをロードする
watermarked_audio, sr = librosa.load(AUDIO_PATH, sr=None)
# ウォーターマーカーを初期化する
watermarker = perth.PerthImplicitWatermarker()
# ウォーターマークを抽出する
watermark = watermarker.get_watermark(watermarked_audio, sample_rate=sr)
print(f"Extracted watermark: {watermark}")
# 出力は 0.0(ウォーターマークなし)または 1.0(ウォーターマークあり)を示します
コミュニティに参加する
Resemble AIは、Discordコミュニティに参加して、コラボレーションし、洞察を共有し、素晴らしいプロジェクトを共に構築することを奨励しています。ChatterboxでオープンソースTTSの力を活用し、オーディオコンテンツをレベルアップしましょう。