Skip to main content
Glama

Raz — Claude Code 用音声インターフェース

Claude Code に音声で話しかけられます。Claude が音声で応答します。すべてが Mac 上でローカルに動作します — クラウド API も、サブスクリプションも不要で、データがマシンの外に出ることもありません。

Raz(アラム語の רָז、「明かされた神秘」に由来)は、音声合成に kokoro-mlx、聴取に mlx-whisper を使用して、Claude Code に声と耳を与えます。どちらも Apple Silicon 向けに最適化されています。

仕組み

You speak (hold Right Option key) ──► Whisper transcribes ──► text goes to Claude
Claude responds ──► auto-speak reads the response aloud through your speakers

これだけです。Raz をオンにすると、Claude と音声で会話できます。コードブロックと表は静かにスキップされ、散文のみが読み上げられます。

Related MCP server: Voice MCP

必要なもの

要件

理由

Apple Silicon Mac(M1/M2/M3/M4)

kokoro-mlx と mlx-whisper は Apple Silicon でのみ動作します

Python 3.12

固定バージョン — kokoro-mlx が要求します

Claude Code

これと統合する CLI

uv

Python パッケージマネージャー(すべてを処理します)

jq

CLI の JSON 処理(brew install jq)

セットアップ

セットアップ全体は約5分で完了します。すべての手順はコピー&ペーストです。

ステップ 1: クローンとインストール

git clone https://github.com/Mateob6/claude-voice-interaction.git
cd claude-voice-interaction
uv sync

これによりコードがダウンロードされ、すべての Python 依存関係(kokoro-mlx、mlx-whisper、FastAPI、pynput など)が分離された仮想環境にインストールされます。

ステップ 2: CLI のインストール

mkdir -p ~/.local/bin
ln -sf "$(pwd)/scripts/raz" ~/.local/bin/raz
chmod +x scripts/raz scripts/start_server.sh scripts/stop_server.sh

~/.local/bin が PATH に含まれていることを確認してください。含まれていない場合:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

動作を確認します:

raz help

ステップ 3: MCP サーバーの登録

これにより、Claude Code は 10 個の組み込みツール(speak、音声の変更、リスニングの開始/停止など)を通じて Raz を制御できます:

claude mcp add raz -- uv run --directory "$(pwd)" python -m raz.mcp_server

ステップ 4: 自動読み上げの設定

このフックにより、Claude の応答が自動的に読み上げられます。Claude Code の設定に追加してください:

cat ~/.claude/settings.json

ファイルが存在する場合は hooks セクションを追加してください。存在しない場合は作成してください:

{
  "hooks": {
    "Stop": [
      {
        "matcher": "*",
        "hooks": [
          {
            "type": "command",
            "command": "/FULL/PATH/TO/claude-voice-interaction/hooks/stop_hook.sh",
            "timeout": 30
          }
        ]
      }
    ]
  }
}

重要: /FULL/PATH/TO/claude-voice-interaction を、リポジトリをクローンした実際のパスに置き換えてください。プロジェクトディレクトリ内で pwd を実行すると確認できます。

ステップ 5: 初回実行

raz start

これにより、次の 2 つが起動します:

  • TTS サーバー(テキスト読み上げ)— kokoro-mlx モデルをロードします(初回は約10秒)

  • STT デーモン(音声認識)— Right Option キーを監視します

次のように表示されるはずです:

=== Starting Raz ===
Starting Raz TTS server (background) on port 8787...
Raz ready!
Starting STT daemon (lang=es)...
Loading Whisper model. ready!
PID: 12345

テストします:

raz say "Hello, I can speak now"

音声が聞こえれば、すべて正常に動作しています。Raz を停止するには:

raz stop

Raz の使い方

音声セッションを開始

raz start    # start voice + mic
raz stop     # stop everything
raz status   # check what's running

Claude と話す(プッシュトーク)

  1. キーボードの Right Option(⌥) を押し続けます

  2. メッセージを話します

  3. キーを離します

  4. 話した内容が文字起こしされ、Claude Code に貼り付けられます

録音開始時には Tink 音、停止時には Pop 音が聞こえます。

初回のみ: macOS がターミナルアプリへのアクセシビリティ権限を要求します。許可してください — pynput がホットキーをグローバルに検出するために必要です。

初回の押下時: Whisper モデルは初回使用時にロードされます(約3秒)。以降は文字起こしがほぼ瞬時に行われます。モデルは 5 分間アイドル状態が続くと、メモリ解放のために自動的にアンロードされます。

音声を変更

raz voice af_heart    # switch to English female (best quality)
raz voice em_alex     # switch to Spanish male (default)
raz voice bm_fable    # switch to British storyteller
raz voices            # see all 54 voices

速度を調整

raz speed 1.5    # faster
raz speed 0.8    # slower
raz speed 1.0    # normal

ワンショット文字起こし

音声を録音し、文字起こしをクリップボードにコピーします(デーモンなし):

raz listen         # Spanish (default)
raz listen en      # English
# Press Ctrl+C when done speaking

キーボードショートカットを設定(オプション)

グローバルキーボードショートカットで、任意のアプリから Raz のオン/オフを切り替えます:

raz shortcut install

次にショートカットを割り当てます:

  1. システム設定 → キーボード → キーボードショートカット → サービス → 一般

  2. 「Activar Raz」 を見つけます

  3. 「ショートカットを追加」をクリックし、好みのキーコンビネーション(例: ⌃⌘R)を押します

これで、そのキーコンビネーションで、macOS の通知付きでどこからでも Raz のオン/オフを切り替えられます。

音声

10 言語・54 の音声。主なもの:

ID

言語

性別

特徴

em_alex

スペイン語

♂

デフォルト。 自然で明瞭

ef_dora

スペイン語

♀

温かみがあり表現豊か

af_heart

英語

♀

総合的に最高品質

am_adam

英語

♂

深みがあり明瞭

bm_fable

イギリス英語

♂

読み聞かせ向きの声

ff_siwis

フランス語

♀

明瞭で自然

if_sara

イタリア語

♀

温かくメロディアス

jf_alpha

日本語

♀

標準

zf_xiaoxiao

マンダリン

♀

元気な声

pf_dora

ポルトガル語

♀

自然

全一覧: raz voices

設定

自動読み上げモード

モード

動作

smart

散文を読み上げ、コードと表を静かにスキップします (デフォルト)

auto

すべてを読み上げます

off

自動読み上げは行いません — 明示的な speak() MCP 呼び出しのみ

raz mode smart    # recommended
raz mode auto     # hear everything
raz mode off      # silent, use speak() when needed

言語の自動検出

Raz はテキストがスペイン語か英語かを自動検出し、それに応じて音声を切り替えます。em_alex(スペイン語の男性)を設定しており、Claude が英語で応答した場合、Raz はその応答の間だけ自動的に am_adam(英語の男性)に切り替え、その後元に戻します。

STT の言語

プッシュトークデーモンはデフォルトでスペイン語を使用します。別の言語で起動する場合:

raz stt start en    # English
raz stt start es    # Spanish (default)

アーキテクチャ

Claude Code
  ├── MCP tools (10) ──► localhost:8787 (TTS: kokoro-mlx)
  │                  ──► raz.stt.daemon  (STT: control)
  ├── Stop hook ──► localhost:8787/auto-speak
  ├── STT daemon (pynput + mlx-whisper) ──► clipboard ──► paste
  └── CLI (raz) ──► unified lifecycle

コンポーネント

機能

メモリ

TTS サーバー

スピーカーからテキストを読み上げます(FastAPI + kokoro-mlx)

~730 MB

STT デーモン

Right Option を監視し、Whisper で文字起こしします

アイドル時 ~2 MB、Whisper ロード時 ~4 GB

MCP サーバー

Claude Code が Raz を制御するための 10 個のツール

Claude Code 内で動作

停止フック

Claude の応答を取得して TTS に送信します

bash スクリプト、メモリなし

STT デーモンは、最初のキー押下時に Whisper を遅延ロードし、5 分間アイドル状態が続くと約 4 GB のメモリを解放するために自動的にアンロードします。

トラブルシューティング

「Right Option が反応しない」

ターミナルアプリにはアクセシビリティ権限が必要です。システム設定 → プライバシーとセキュリティ → アクセシビリティ に移動し、ターミナル(iTerm2、Terminal.app など)を追加してください。

「raz start が 'Loading Whisper model' でハングする」

初回実行時には Whisper モデル(約 800 MB)がダウンロードされます。インターネット接続を確認してください。モデルは初回ダウンロード後にキャッシュされます。

「ポート 8787 がすでに使用中」

別の Raz インスタンスが実行されています。終了してください:

raz stop
# If that doesn't work:
pkill -f "raz.tts_server"

「デーモンが停止しない」

pkill -f "run_daemon"

「音声が出力されない」

Mac の音声出力が正しく設定されているか確認してください(システム設定 → サウンド)。Raz はデフォルトの出力デバイスから再生します。

CLI リファレンス

raz start           # Start Raz (voice + mic)
raz stop            # Stop Raz
raz on / raz off    # Enable/disable Raz
raz status          # Show Raz status

raz say "text"      # Speak text
raz listen [lang]   # Record → transcribe → clipboard
raz voice NAME      # Change voice
raz voices          # List all 54 voices
raz mode MODE       # smart | auto | off
raz speed N         # 0.5–2.0

raz stt start|stop  # Mic only
raz tts start|stop  # Voice only
raz shortcut install|remove  # Keyboard shortcut

MCP ツール

MCP サーバーとして登録すると、Claude Code は次の 10 個のツールを利用できます:

ツール

機能

speak(text, voice?, speed?)

テキストを読み上げます

set_voice(voice)

音声を変更します

list_voices()

すべての音声を一覧表示します

set_mode(mode)

自動読み上げモードを変更します

set_speed(speed)

読み上げ速度を変更します

toggle(enabled?)

TTS を有効/無効にします

status()

Raz のステータスを確認します

stt_start(language?)

プッシュトークを開始します

stt_stop()

プッシュトークを停止します

stt_status()

マイクのステータスを確認します

ライセンス

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables hands-free voice conversations with Claude using real-time speech recognition and text-to-speech on macOS. Creates a self-sustaining conversation loop where Claude can autonomously listen, respond, and continue the interaction without keyboard input.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables bidirectional voice interaction for Claude Code using local speech-to-text and text-to-speech models optimized for Apple Silicon. It provides tools to listen to user speech via microphone and speak responses aloud through system speakers.
    16
    Apache 2.0
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A voice-enabled interface for Claude Desktop that supports speech-to-text input and text-to-speech output via ElevenLabs, turning Claude into a voice assistant.
    1
    -