KoljaB/RealtimeTTSView GitHub Homepage for Latest Official Releases
複数のTTSエンジンをサポートする、高度なリアルタイムテキスト読み上げPythonライブラリ。低遅延で高品質な音声出力を実現。
MITPythonRealtimeTTSKoljaB 3.4k Last Updated: July 22, 2025
RealtimeTTS プロジェクト詳細紹介
プロジェクト概要
RealtimeTTS は、低遅延かつ高品質な音声出力を必要とするリアルタイムアプリケーション向けに設計された、高度なリアルタイムテキスト読み上げ (TTS) Python ライブラリです。このライブラリは、テキストストリームを高品質な音声出力に高速に変換でき、遅延が非常に少ないため、音声アシスタント、AI 対話システム、およびアクセシビリティツールを構築するのに理想的です。
プロジェクトアドレス: https://github.com/KoljaB/RealtimeTTS
コア機能
1. 低遅延処理
- ほぼ瞬時のテキスト読み上げ変換: 最適化された処理フローにより、最小限の遅延を実現
- LLM 出力との互換性: 大規模言語モデルのストリーミング出力を直接処理可能
- リアルタイムストリーム処理: 文字レベルおよび文レベルのリアルタイム処理をサポート
2. 高品質音声出力
- クリアで自然な音声: 人間の自然な音声に近い音声を生成
- 多様な音声フォーマットのサポート: 複数の音声出力フォーマットをサポート
- 設定可能な音声パラメータ: サンプリングレート、ビットレートなどのパラメータを調整可能
3. 多様なエンジンサポート
RealtimeTTS は、多様な TTS エンジンをサポートし、豊富な選択肢を提供します。
クラウドエンジン 🌐
- OpenAIEngine: OpenAI の TTS サービス。6 種類の高品質音声を提供
- AzureEngine: Microsoft Azure 音声サービス。毎月 50 万文字まで無料
- ElevenlabsEngine: 高品質な音声。豊富な音声オプションを提供
- GTTSEngine: 無料の Google 翻訳 TTS。GPU 不要
- EdgeEngine: Microsoft Edge の無料 TTS サービス
ローカルエンジン 🏠
- CoquiEngine: 高品質なニューラル TTS。ローカル処理と音声クローンをサポート
- ParlerEngine: ローカルニューラル TTS。ハイエンド GPU 向け
- SystemEngine: 内蔵システム TTS。迅速な設定が可能
- PiperEngine: 非常に高速な TTS システム。Raspberry Pi でも実行可能
- StyleTTS2Engine: スタイル化された音声合成
- KokoroEngine: 多言語をサポートする新しいエンジン
- OrpheusEngine: 最新のエンジンオプション
4. 多言語サポート
- 多様な言語の音声合成をサポート
- インテリジェントな文分割と言語検出
- 設定可能な言語固有のパラメータ
5. 堅牢性と信頼性
- フェイルオーバーメカニズム: エンジンに問題が発生した場合、自動的にバックアップエンジンに切り替え
- 継続的な稼働保証: 重要なユースケースやプロフェッショナルなユースケースにおいて、一貫したパフォーマンスと信頼性を確保
- エラー処理: 充実したエラー処理と復旧メカニズム
インストール方法
推奨インストール(フルバージョン)
pip install -U realtimetts[all]
カスタムインストール
必要に応じて特定のエンジンサポートを選択できます。
# システム TTS のみ
pip install realtimetts[system]
# Azure サポート
pip install realtimetts[azure]
# 複数のエンジンを組み合わせる
pip install realtimetts[azure,elevenlabs,openai]
利用可能なインストールオプション
all
: フルインストール。すべてのエンジンをサポートsystem
: ローカルシステム TTS (pyttsx3)azure
: Azure 音声サービスサポートelevenlabs
: ElevenLabs API 統合openai
: OpenAI TTS サービスgtts
: Google テキスト読み上げedge
: Microsoft Edge TTScoqui
: Coqui TTS エンジンminimal
: コアパッケージのみ (カスタムエンジン開発用)
コアコンポーネント
1. テキストストリーム処理
- 文境界検出: NLTK および Stanza トークナイザーをサポート
- インテリジェントな分割: 句読点と言語ルールに基づいてテキストを分割
- ストリーミング処理: 文字イテレータとジェネレータをサポート
2. 音声ストリーム管理
- 非同期再生:
play_async()
メソッドは非ブロッキング再生をサポート - 同期再生:
play()
メソッドはブロッキング再生に使用 - ストリーム制御: 一時停止、再開、停止操作をサポート
3. コールバックシステム
監視と制御のための豊富なコールバック関数を提供します。
on_text_stream_start()
: テキストストリーム開始時にトリガーon_text_stream_stop()
: テキストストリーム終了時にトリガーon_audio_stream_start()
: 音声再生開始時にトリガーon_audio_stream_stop()
: 音声再生終了時にトリガーon_character()
: 各文字処理時にトリガーon_word()
: 単語レベルの時間同期 (Azure および Kokoro エンジンをサポート)
基本的な使用例
簡単な使用例
from RealtimeTTS import TextToAudioStream, SystemEngine
# エンジンとストリームを作成
engine = SystemEngine()
stream = TextToAudioStream(engine)
# テキストを入力して再生
stream.feed("Hello world! How are you today?")
stream.play_async()
ストリーミングテキスト処理
# 文字列を処理
stream.feed("Hello, this is a sentence.")
# ジェネレータを処理 (LLM 出力に適しています)
def write(prompt: str):
for chunk in openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}],
stream=True
):
if (text_chunk := chunk["choices"][0]["delta"].get("content")) is not None:
yield text_chunk
text_stream = write("A three-sentence relaxing speech.")
stream.feed(text_stream)
# 文字イテレータを処理
char_iterator = iter("Streaming this character by character.")
stream.feed(char_iterator)
再生制御
# 非同期再生
stream.play_async()
while stream.is_playing():
time.sleep(0.1)
# 同期再生
stream.play()
# 制御操作
stream.pause() # 一時停止
stream.resume() # 再開
stream.stop() # 停止
高度な設定
TextToAudioStream パラメータ
stream = TextToAudioStream(
engine=engine, # TTS エンジン
on_text_stream_start=callback, # テキストストリーム開始コールバック
on_audio_stream_start=callback, # 音声ストリーム開始コールバック
output_device_index=None, # 音声出力デバイス
tokenizer="nltk", # トークナイザーの選択
language="en", # 言語コード
muted=False, # ミュートするかどうか
level=logging.WARNING # ログレベル
)
再生パラメータ
stream.play(
fast_sentence_fragment=True, # 高速な文フラグメント処理
buffer_threshold_seconds=0.0, # バッファ閾値
minimum_sentence_length=10, # 最小文長
log_synthesized_text=False, # 合成されたテキストを記録
reset_generated_text=True, # 生成されたテキストをリセット
output_wavfile=None, # WAV ファイルに保存
on_sentence_synthesized=callback, # 文の合成完了コールバック
before_sentence_synthesized=callback, # 文の合成前コールバック
on_audio_chunk=callback # 音声チャンク準備完了コールバック
)
エンジン固有の設定
OpenAI エンジン
from RealtimeTTS import OpenAIEngine
engine = OpenAIEngine(
api_key="your-api-key", # または環境変数 OPENAI_API_KEY を設定
voice="alloy", # オプション: alloy, echo, fable, onyx, nova, shimmer
model="tts-1" # または tts-1-hd
)
Azure エンジン
from RealtimeTTS import AzureEngine
engine = AzureEngine(
speech_key="your-speech-key", # または環境変数 AZURE_SPEECH_KEY を設定
service_region="your-region", # 例: "eastus"
voice_name="en-US-AriaNeural" # Azure 音声名
)
Coqui エンジン (音声クローン)
from RealtimeTTS import CoquiEngine
engine = CoquiEngine(
voice="path/to/voice/sample.wav", # 音声クローンソースファイル
language="en" # 言語コード
)
テストファイル
プロジェクトは豊富なテスト例を提供します。
simple_test.py
: 基本的な "Hello World" デモcomplex_test.py
: フル機能デモcoqui_test.py
: ローカル Coqui TTS エンジンテストtranslator.py
: リアルタイム多言語翻訳 (インストールが必要openai realtimestt
)openai_voice_interface.py
: 音声起動 OpenAI API インターフェースadvanced_talk.py
: 高度な対話システムminimalistic_talkbot.py
: 20 行のコードによるシンプルなチャットボットtest_callbacks.py
: コールバック機能と遅延テスト
CUDA サポート
特にローカルニューラルエンジンを使用する場合、より良いパフォーマンスを得るためには、CUDA サポートのインストールをお勧めします。
インストール手順
- NVIDIA CUDA Toolkit (バージョン 11.8 または 12.X) をインストール
- NVIDIA cuDNN をインストール
- ffmpeg をインストール
- CUDA をサポートする PyTorch をインストール:
# CUDA 11.8
pip install torch==2.5.1+cu118 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu118
# CUDA 12.X
pip install torch==2.5.1+cu121 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu121
アプリケーションシナリオ
1. AI アシスタントとチャットボット
- ユーザーのクエリにリアルタイムで応答
- 自然な対話体験
- 多言語サポート
2. アクセシビリティツール
- スクリーンリーダー
- 視覚障害者支援
- 学習支援ツール
3. コンテンツ作成
- ポッドキャスト制作
- オーディオブック
- 教育コンテンツ
4. カスタマーサービス
- 自動カスタマーサービスシステム
- 電話ロボット
- リアルタイム翻訳サービス
5. ゲームとエンターテイメント
- ゲーム内音声
- 仮想キャラクターの吹き替え
- インタラクティブエンターテイメントアプリケーション
プロジェクトエコシステム
RealtimeTTS は、より大きなエコシステムの一部です。
- RealtimeSTT: 付属の音声テキスト変換ライブラリ。これらを組み合わせることで、完全なリアルタイム音声処理システムを作成できます。
- Linguflex: 元のプロジェクト。強力なオープンソース AI アシスタント
- LocalAIVoiceChat: Zephyr 7B モデルに基づくローカル AI 音声対話システム
ライセンス情報
プロジェクト自体はオープンソースですが、各エンジンのライセンス制限に注意する必要があります。
- オープンソースエンジン: SystemEngine、GTTSEngine (MIT ライセンス)
- 商業制限エンジン: CoquiEngine、ElevenlabsEngine、AzureEngine (非商業利用は無料)
- 有料サービス: OpenAI は API キーと有料プランが必要です
システム要件
- Python バージョン: >= 3.9, < 3.13
- オペレーティングシステム: Windows、macOS、Linux
- 依存関係: PyAudio、pyttsx3、pydub など
- GPU サポート: ローカルニューラルエンジンには NVIDIA グラフィックスカードを推奨
まとめ
RealtimeTTS は、高品質で低遅延の音声合成を必要とする最新のアプリケーションに適した、強力で洗練されたリアルタイムテキスト読み上げライブラリです。その多様なエンジンサポート、堅牢なエラー処理メカニズム、および豊富な構成オプションにより、プロフェッショナルレベルの音声アプリケーションを構築するための理想的な選択肢となっています。個人的なプロジェクトであろうと企業レベルのアプリケーションであろうと、RealtimeTTS は信頼性が高く効率的なソリューションを提供できます。