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 と音声で会話できます。コードブロックと表は静かにスキップされ、散文のみが読み上げられます。

必要なもの

要件

理由

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

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.

  • WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.

  • Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mateob6/claude-voice-interaction'

If you have feedback or need assistance with the MCP directory API, please join our Discord server