Claude Codeの応答をリアルタイム音声化 - Aivis Cloud APIで作る低遅延TTSツール
Claude Codeでコーディングしながら、応答を自動的に音声で聞けたら便利だと思いませんか?
この記事では、Aivis Cloud APIの低遅延音声合成を活用して、Claude Codeの応答をリアルタイムで音声化するツールを紹介します。ファイル監視によってClaude Codeの新しい応答を自動検出し、即座に自然な日本語音声で読み上げることで、Claude Codeとのよりインタラクティブな開発体験を実現できます。
Aivis Cloud APIとは
Aivis Cloud APIは、日本語に特化した高品質な音声合成APIサービスです。β版は無料で利用可能で、
低遅延なストリーミング再生が特徴です。
主な特徴
- 低遅延: 300ms以下の高速レスポンス
- 高品質: 自然で聞き取りやすい日本語音声
- ストリーミング対応: リアルタイム再生で待機時間を最小化
- 多様なモデル: Aivis Hubで豊富な音声モデルから選択可能
- β版無料: 開発・検証段階では無料で利用可能
aivis-cloud-tools
APIを使ったツールセットです。Claude CodeによるPython実装です。
コードはGitHubで公開しています。
以下のツールが含まれます。
- Claude Codeの応答をリアルタイム音声化
- 発話MCP
- CLI TextToSpeech
動作環境: macOSでのみ動作確認しています。(LinuxやWindowsはファイル監視や音声再生などが動かないかも)
ツールの説明
プロジェクトは以下の構成になっています:
aibis-cloud-tools/
├── aibis_cloud_tools/ # 共通実装
│ ├── tts.py # AivisCloudTTSクラス
│ └── utils.py # ユーティリティ関数
├── scripts/ # 実行可能スクリプト
│ ├── say.py # 音声合成CLI
│ ├── claude_code_speaker.py # Claude応答監視
│ └── mcp_server.py # MCPサーバー
└── tests/ # テストスイート
主要機能:
-
say.py: シンプルなCLI音声合成ツール
# 基本的な使用 uv run scripts/say.py "こんにちは、世界!" # ファイル読み込み uv run scripts/say.py -f document.txt # モデル選択・パラメータ調整 uv run scripts/say.py "感情豊かに" --model mai --intensity 1.5 -
claude_code_speaker.py: Claude Code応答の自動音声化
- Claude Codeが記録するJSONLファイルをリアルタイム監視
- Claude Codeから新しい応答を検出すると自動読み上げ
- ESCキーでキャンセル対応
-
mcp_server.py: MCPプロトコル対応サーバー
Claude Code Speaker の仕組み
Claude Code Speakerは以下の仕組みで動作します:
-
ファイル監視:
watchdogライブラリでClaude Codeの応答ファイル(.jsonl)をリアルタイム監視 -
応答検出: 新しい
assistantタイプの応答を検出 - テキスト抽出: JSON構造から音声化対象テキストを抽出
- Markdown記号除去: 行先頭の"##"などを読み上げないよう除去
- 音声合成と再生: Aivis Cloud APIで高速音声生成してストリーミング再生
例
実際の使用例:
# Claude Code応答監視を開始
uv run scripts/claude_code_speaker.py
# 出力例
👁️ Claude応答監視を開始します...
📂 監視ディレクトリ: ~/.claude/projects
⌨️ ESCキーで音声をキャンセルできます
🤖 Claude応答検出!
📅 時刻: 2024-07-30T22:04:00Z
💬 内容: Pythonでファイル処理を行う場合、以下のような方法があります...
🔊 [1/2] チャンク読み上げ中... (2984文字)
✅ 音声再生が完了しました
⏸️ 0.5秒間一時停止...
🔊 [2/2] チャンク読み上げ中... (1203文字)
✅ 音声再生が完了しました
設定例
環境変数もしくは.envファイルで設定:
# Aivis Cloud API設定
AIVIS_API_KEY=your_api_key_here
AIVIS_DEFAULT_MODEL_UUID=a59cb814-0083-4369-8542-f51a29e72af7
# 監視するClaude Codeログディレクトリ (デフォルト: ~/.claude/projects)
CLAUDE_WATCH_DIR=~/.claude/projects
まとめ
Aivis Cloud APIの低遅延という特徴を活かして、Claude Codeとの対話をよりインタラクティブにできました。
Claude Codeが生成するJSONL形式のログをリアルタイム監視し、新しい応答を検出すると即座に音声化するため、Claude Codeの応答がシームレスに音声で聞けるようになりました。
Aivis Cloud APIを活用して、音声インターフェースの可能性を探ってみてはいかがでしょうか。
関連リンク:
Discussion