claude-tts は何をしますか?
さまざまな TTS プロバイダーを使用して Claude Code の応答を音声に変換し、プラットフォーム間でシームレスな音声出力を実現します。ローカルフォールバック機能により、API が利用できない場合でも確実に動作します。
主な機能
- 複数 TTS プロバイダー対応: Google Cloud TTS、Amazon Polly、Microsoft Azure Cognitive Services などをサポート。
- 自動ローカルフォールバック: ネットワーク障害や API 制限時には、ローカル TTS(例:espeak、say コマンド)に自動切り替え。
- プラットフォーム非依存: macOS、Linux、Windows で動作。
- 設定が簡単: 環境変数または設定ファイルでプロバイダーとパラメータを指定。
インストール
# リポジトリをクローン
git clone https://github.com/JacklineMK/claude-tts.git
cd claude-tts
# 依存関係をインストール
pip install -r requirements.txt
設定
環境変数を設定するか、config.yaml ファイルを編集します。
環境変数
| 変数名 | 説明 | デフォルト |
|---|---|---|
TTS_PROVIDER | 使用する TTS プロバイダー (google, amazon, azure, local) | local |
TTS_LANGUAGE | 音声の言語コード (例: ja-JP, en-US) | en-US |
TTS_SPEED | 読み上げ速度 (0.5 ~ 2.0) | 1.0 |
TTS_PITCH | 音声のピッチ (-20 ~ 20) | 0 |
設定ファイル例 (config.yaml)
provider: google
google:
credentials_path: /path/to/service-account.json
voice: ja-JP-Standard-A
language: ja-JP
speed: 1.2
pitch: 0
使用方法
Claude Code との統合
claude-tts は Claude Code の応答を自動的に音声化します。以下のようにして使用します。
export TTS_PROVIDER=google
export TTS_GOOGLE_CREDENTIALS_PATH=/path/to/key.json
claude code --tts
プログラムからの使用
from claude_tts import speak
# テキストを音声に変換
speak("こんにちは、Claude Code からの応答です。", provider="google")
# フォールバック付き
speak("Hello, world!", provider="azure", fallback="local")
フォールバック動作
- プライマリプロバイダーが利用できない場合、設定に基づいて順にフォールバックプロバイダーを試行します。
- デフォルトのフォールバック順序:
google→amazon→azure→local - すべてのプロバイダーが失敗した場合は、エラーメッセージを表示します。
貢献
貢献は歓迎します!プルリクエストまたは Issue を送信してください。
ライセンス
MIT ライセンス