クックブック / コーディング音声モード
コーディングエージェント
と話す
テストは通りました。プルリクエストを作成しますか?
実行例. アプリの動作を台本どおりに再現した例です。録画ではありません。
- モデル
- sonic-3.6, ink-2
- 言語
- 英語、スペイン語、フランス語、ヒンディー語、日本語
- ライセンス
- Apache-2.0
- 技術スタック
- PythonFastMCPsounddeviceuv
- Cartesia の製品
- Sonic 3.6Ink 2
できること
Claude Code、Cursor、Codexで動きます。話し終わりはInk 2が判断するので、押して話すキーも、調整が必要な無音タイムアウトもありません。コーディングエージェント向けのオープンソース音声サーバーであるmbailey/voicemodeと同じように動くので、一方を使えるエージェントはもう一方も使えます。
自分で動かす
サーバーを入手する
下のコマンドを実行します。uv、マイク、ヘッドホンが必要です。Linuxでは、先にlibportaudio2をインストールしてください。
環境変数 - CARTESIA_API_KEY
play.cartesia.ai/keys- CARTESIA_VOICE_ID
- 任意。
play.cartesia.ai/voicesの音声。初期設定はDaniel(en-US) - CARTESIA_TURN_END_TIMEOUT_MS
- 任意。640から11200。Ink 2があなたのターンを終えるまでに許す間の長さ
- CARTESIA_KEYTERMS
- 任意。書き起こしで優先する名前。カンマ区切り
エージェントにインストールする
setup.shは、claude、cursor、codex、allのいずれかに対してuv syncとcartesia-voice-mode installを実行します。--dry-runを付けると、何が変わるかを事前に確認できます。話し始める
エージェントを再起動し、「let's talk」か「voice mode」と話すか入力します。何も起きないときは、
uv run cartesia-voice-modedoctorでキーを確認できます。
コーディングエージェントで作る
どこから始めて、最初に何を読むべきかをコーディングエージェントに伝えるプロンプトです。
Set up voice mode for my coding agent with Cartesia. Start from https:/ and follow its AGENTS.md for the commands, files and rules. It is a local stdio MCP server with a converse tool: Sonic 3.6 (sonic-3.6) speaks the message over /tts/sse, then Ink 2 (ink-2) on /stt/turns/websocket listens until turn.end and returns the transcript as the tool result. Install it with ./setup.sh for my client, and keep the API key out of the client config. If I don't have a Cartesia API key yet, follow https:/ to get one.
仕組み
/tts/sseでメッセージをストリーミングして再生する/stt/turns/websocketでのターン検出turn.endの書き起こし。あなたの次のメッセージとして読まれるこの設計にした理由
ターン検出があなたのターンを終える
サーバーは、Ink 2が話し終わったと判断したことを示すturn.endイベントを待ちます。文の途中で間を置いても、固定の無音タイムアウトのように途中で切られることはありません。
Codexで長く待つにはタイムアウトを延ばす
Codexは既定で、ツールの呼び出しを60秒で止めます。1回の音声ターンはメッセージを再生してから最大120秒聞き取るので、セットアップスクリプトがCodexのtool_timeout_secを180に上げます。Codexの設定はその場で編集され、コメントは残ります。聞き取りを長くするなら、このタイムアウトも上げてください。
カスタマイズする
音声を変える
CARTESIA_VOICE_IDを設定するか、エージェントにlist_voicesツールを呼んで選ぶよう頼みます。
別の言語で話す
Ink 2は英語、スペイン語、フランス語、ヒンディー語、日本語を自動で判別します。Sonicが同じ言語で答えるよう、CARTESIA_LANGUAGEと、それに合うCARTESIA_VOICE_IDを設定します。
自分の用語を覚えさせる
リポジトリ名やライブラリ名をCARTESIA_KEYTERMSに入れると、Ink 2がコードと同じつづりで書き起こします。
よくある質問
どのコーディングエージェントで使えますか?
Claude Code、Cursor、Codexです。セットアップスクリプトで、どれか1つにも3つすべてにもインストールできます。
CartesiaのAPIキーは安全ですか?
はい。インストーラーがエージェントの設定に書くのは、サーバーを起動するコマンドだけです。キーはシェルに置くか、--save-keyを付ければ自分だけが読めるファイルに保存され、エラーメッセージやログには出ません。
エージェントが話している途中で割り込めますか?
いいえ。マイクはエージェントが話し終えてから開くので、エージェントが自分の声を聞くことはなく、エコーキャンセルもありません。ヘッドホンを使ってください。
どのくらい速いですか?
ネットワークとリージョンによります。サーバーは通話のたびに、Sonicが話し始めるまでの時間を表示するので確認できます。ターンが終わるまでの間の長さを変えるには、CARTESIA_TURN_END_TIMEOUT_MSを設定します。
mbailey/voicemodeとはどう違いますか?
そちらはローカルモデルやほかの音声プロバイダーも使えます。このサーバーはCartesiaだけを使います。
このテンプレートの詳しい手順ガイドはありますか?
はい。レシピでコードを順に解説しています。セットアップ、環境変数、デプロイはREADMEに、Cartesia側の仕様はInk 2のターン検出ドキュメントにまとめています。
クックブックのほかの例
今すぐ始める
専門家に相談する。
音声体験の開発にCartesiaをどう活用できるか、私たちのチームにご相談ください。
開発を始める。
APIでモデルにアクセスし、数分で音声エージェントを本番環境に導入できます。

