> ## Documentation Index
> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 音声ディクテーション

> Claude Code CLI で音声ディクテーション機能を使用して、プロンプトを話して入力できます。長押しまたはタップで録音できます。

Claude Code CLI でプロンプトを入力する代わりに、話して入力できます。音声はプロンプト入力にリアルタイムで文字起こしされるため、同じメッセージ内で音声と入力を混在させることができます。`/voice` で音声ディクテーションを有効にしてから、キーを押しながら話すか、1 回タップして開始し、もう 1 回タップして送信します。

<Note>
  音声ディクテーションには Claude Code v2.1.69 以降が必要です。タップモードには v2.1.116 以降が必要です。`claude --version` でバージョンを確認してください。
</Note>

ディクテーション機能は [エージェントビュー](/ja/agent-view#peek-and-reply) でも機能します。ディスパッチ入力またはピークパネルの返信がフォーカスされている間、プッシュトークキーを長押しまたはタップして、バックグラウンドセッションにディクテーションを行うことができます。

<h2 id="requirements">
  要件
</h2>

音声ディクテーションは、記録された音声を Anthropic のサーバーにストリーミングして文字起こしします。音声はローカルで処理されません。以下のすべてが必要です。

* **Claude.ai アカウント**：音声テキスト変換サービスは Claude.ai アカウントで認証した場合にのみ利用可能であり、Claude Code が Anthropic API キー、Amazon Bedrock、Google Vertex AI、または Microsoft Foundry を直接使用するように設定されている場合は利用できません。
* **HIPAA コンプライアンスが有効になっていない組織**：この制限が適用される場合、`/voice` は「Voice mode is disabled by your organization's policy」と表示されます。
* **ローカルマイク**：音声ディクテーションは [Web 上の Claude Code](/ja/claude-code-on-the-web)や SSH セッションなどのリモート環境では機能しません。
* **WSL で Claude Code を実行する場合は WSLg**：WSLg は Windows 10 または 11 の Microsoft Store からインストールされた WSL2 に含まれています。WSLg が利用できない場合（例えば WSL1 など）は、代わりにネイティブ Windows で Claude Code を実行してください。

文字起こしは Claude メッセージやトークンを消費せず、`/usage` に表示される制限にはカウントされません。Anthropic がデータをどのように処理するかについては、[データ使用](/ja/data-usage)を参照してください。

音声録音は macOS、Linux、Windows のビルトイン ネイティブ モジュールを使用します。Linux では、ネイティブ モジュールが読み込めない場合、Claude Code は ALSA utils の `arecord` または SoX の `rec` にフォールバックします。どちらも利用できない場合、`/voice` はパッケージ マネージャーのインストール コマンドを出力します。

Claude Code [VS Code 拡張機能](/ja/vs-code)も、同じ Claude.ai アカウント要件で音声ディクテーションをサポートしています。マイクはローカル マシンにあり、拡張機能はリモート ホストで実行されるため、SSH、Dev Containers、Codespaces などの VS Code Remote セッションでは利用できません。

<h2 id="enable-voice-dictation">
  音声ディクテーションを有効にする
</h2>

`/voice` を実行して音声ディクテーションを有効にします。初めて有効にするときは、Claude Code はマイク チェックを実行します。macOS では、ターミナルにマイク権限がまだ付与されていない場合、システム マイク権限プロンプトがトリガーされます。

```
/voice
Voice mode enabled (hold). Hold space to record. Dictation language: en (/config to change).
```

`/voice` はオプションのモード引数を受け入れます。

| コマンド          | 効果                                      |
| :------------ | :-------------------------------------- |
| `/voice`      | オン/オフを切り替え、現在のモードを保持                    |
| `/voice hold` | [長押しモード](#hold-to-record)で有効にする         |
| `/voice tap`  | [タップモード](#tap-to-record-and-send)で有効にする |
| `/voice off`  | 無効にする                                   |

音声ディクテーションはセッション間で保持されます。`/voice` を実行する代わりに、[ユーザー設定ファイル](/ja/settings)で直接設定します。

```json theme={null}
{
  "voice": {
    "enabled": true,
    "mode": "tap"
  }
}
```

音声ディクテーションが有効な場合、プロンプトが空のときは入力フッターに `hold space to speak` ヒントが表示されます。ヒント テキストは現在の `voice:pushToTalk` バインディングを反映し、[ディクテーション キーを再バインド](#rebind-the-dictation-key)する場合は更新されます。ヒント テキストは両方のモードで同じであり、[カスタム ステータス ラインを](/ja/statusline)設定している場合は表示されません。

文字起こしは両方のモードでコーディング語彙用に調整されています。`regex`、`OAuth`、`JSON`、`localhost` などの一般的な開発用語は正しく認識され、現在のプロジェクト名と git ブランチ名は認識ヒントとして自動的に追加されます。

<h2 id="hold-to-record">
  長押しして録音
</h2>

長押しモードはプッシュツートーク機能です。キーを押している間は録音が実行され、キーを離すと停止します。これはデフォルト モードです。

`Space` を長押しして録音を開始します。Claude Code はターミナルからの高速キー リピート イベントを監視することでキーの長押しを検出するため、録音が開始される前に短いウォームアップがあります。フッターはウォームアップ中に `keep holding…` を表示し、録音がアクティブになるとライブ波形に切り替わります。

最初の数個のキー リピート文字はウォームアップ中に入力に入力され、録音がアクティブになると自動的に削除されます。単一の `Space` タップはスペースを入力します。長押し検出は高速リピートでのみトリガーされるためです。

<Tip>
  ウォームアップをスキップするには、`/voice tap` で[タップモード](#tap-to-record-and-send)に切り替えるか、`meta+k` などの[修飾子の組み合わせにリバインド](#rebind-the-dictation-key)してください。修飾子の組み合わせは最初のキープレスで録音を開始します。
</Tip>

音声はプロンプトに話すときに表示され、文字起こしが確定されるまで薄く表示されます。`Space` を離して録音を停止し、テキストを確定します。文字起こしはカーソル位置に挿入され、カーソルは挿入されたテキストの末尾に留まるため、任意の順序で入力と音声ディクテーションを混在させることができます。`Space` を再度長押しして別の録音を追加するか、カーソルを最初に移動して、プロンプト内の別の場所に音声を挿入します。

```
> refactor the auth middleware to ▮
  # hold Space, speak "use the new token validation helper"
> refactor the auth middleware to use the new token validation helper▮
```

デフォルトでは、キーを離すと文字起こしが挿入され、`Enter` を押すのを待ちます。`voice` 設定オブジェクトで `"autoSubmit": true` を設定して、文字起こしが少なくとも 3 語以上の場合、キーを離すときにプロンプトを自動的に送信します。

<h2 id="tap-to-record-and-send">
  タップして録音して送信
</h2>

タップモードは単一のキープレスで録音を切り替えます。1 回タップして開始し、話してから、もう 1 回タップしてプロンプトを送信します。ウォームアップはなく、キーを押し続ける必要はありません。

`/voice tap` でタップモードを有効にします。プロンプト入力が空の場合、`Space` をタップして録音を開始します。フッターは録音中にライブ波形を表示します。`Space` をもう 1 回タップして停止します。

Claude Code は文字起こしを挿入し、文字起こしが少なくとも 3 語以上の場合、プロンプトを自動的に送信します。短い文字起こしは挿入されますが送信されないため、誤ったタップは単語を送信しません。

3 語のしきい値は、スペースなしで書かれた言語の単語をカウントします。v2.1.195 以降、日本語、中国語、タイ語の文字起こしは個々の単語をカウントするため、タップモードおよび `autoSubmit` を使用したホールドモードで自動送信されます。以前のバージョンではスペースのない文字起こしを 1 語としてカウントし、自動的に送信されることはありませんでした。

最初のタップはプロンプト入力が空の場合にのみ録音を開始するため、メッセージを作成しながら通常どおりスペースを入力できます。2 番目のタップは入力内容に関係なく録音を停止します。15 秒以上の無音または 2 分間の合計の後、録音も自動的に停止します。

<h2 id="change-the-dictation-language">
  音声ディクテーション言語を変更する
</h2>

音声ディクテーションは、Claude の応答言語を制御する同じ [`language` 設定](/ja/settings)を使用します。その設定が空の場合、音声ディクテーションはデフォルトで英語になります。VS Code 拡張機能では、`language` が空の場合、音声ディクテーションは VS Code の `accessibility.voice.speechLanguage` 設定を使用してから、デフォルトで英語になります。

<Accordion title="サポートされている音声ディクテーション言語">
  | 言語      | コード  |
  | :------ | :--- |
  | チェコ語    | `cs` |
  | デンマーク語  | `da` |
  | オランダ語   | `nl` |
  | 英語      | `en` |
  | フランス語   | `fr` |
  | ドイツ語    | `de` |
  | ギリシャ語   | `el` |
  | ヒンディー語  | `hi` |
  | インドネシア語 | `id` |
  | イタリア語   | `it` |
  | 日本語     | `ja` |
  | 韓国語     | `ko` |
  | ノルウェー語  | `no` |
  | ポーランド語  | `pl` |
  | ポルトガル語  | `pt` |
  | ロシア語    | `ru` |
  | スペイン語   | `es` |
  | スウェーデン語 | `sv` |
  | トルコ語    | `tr` |
  | ウクライナ語  | `uk` |
</Accordion>

`/config` で言語を設定するか、設定で直接設定します。[BCP 47 言語コード](https://en.wikipedia.org/wiki/IETF_language_tag)または言語名のいずれかを使用できます。

```json theme={null}
{
  "language": "japanese"
}
```

`language` 設定がサポートされているリストにない場合、`/voice` は有効化時に警告を表示し、音声ディクテーションの場合は英語にフォールバックします。Claude のテキスト応答はこのフォールバックの影響を受けません。

<h2 id="rebind-the-dictation-key">
  音声ディクテーション キーをリバインドする
</h2>

音声ディクテーション キーは `Chat` コンテキストの `voice:pushToTalk` にバインドされ、デフォルトは `Space` です。同じバインディングは長押しモードとタップモードの両方を制御します。[`~/.claude/keybindings.json`](/ja/keybindings)でリバインドします。

```json theme={null}
{
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "meta+k": "voice:pushToTalk",
        "space": null
      }
    }
  ]
}
```

`voice:pushToTalk` アクションは一度に 1 つのキーを使用します。カスタム キーをバインドすると、デフォルトの `Space` バインディングが置き換わり、2 番目のトリガーが追加されるのではなく、この例の `"space": null` 行は明確にするためのものであり、動作を変更することなく省略できます。

長押しモードでは、`v` などのベア文字キーへのバインディングを避けてください。長押し検出はキー リピートに依存し、文字はウォームアップ中にプロンプトに入力されるためです。`Space` を使用するか、`meta+k` などの修飾子の組み合わせを使用して、ウォームアップなしで最初のキープレスで録音を開始します。タップモードにはウォームアップがないため、ほとんどのキーが機能します。

一部のキーはターミナル アプリケーションに配信されず、まったくバインドできません。たとえば、`Caps Lock` をバインドしようとするとエラーが表示されます。完全なキーバインディング構文と予約済みショートカットのリストについては、[キーボード ショートカットをカスタマイズする](/ja/keybindings)を参照してください。

<h2 id="troubleshooting">
  トラブルシューティング
</h2>

音声ディクテーションがアクティブにならないか、記録されない場合の一般的な問題：

* **`Voice mode requires a Claude.ai account`**: API キーまたはサードパーティ プロバイダーで認証しています。`/login` を実行して Claude.ai アカウントでサインインしてください。
* **`Voice mode is disabled by your organization's policy`**: 組織のコンプライアンス設定が音声ディクテーションを無効にしています。詳細は[要件](#requirements)を参照してください。組織の管理者に連絡して、組織で音声ディクテーションが利用可能かどうかを確認してください。
* **`Microphone access is denied`**: システム設定でターミナルにマイク権限を付与してください。macOS では、\[システム設定] → \[プライバシーとセキュリティ] → \[マイク]に移動し、ターミナル アプリを有効にしてから、`/voice` を再度実行してください。Windows では、\[設定] → \[プライバシーとセキュリティ] → \[マイク]に移動し、デスクトップ アプリのマイク アクセスをオンにしてから、`/voice` を再度実行してください。ターミナルが macOS 設定に表示されていない場合は、[Terminal not listed in macOS Microphone settings](#terminal-not-listed-in-macos-microphone-settings)を参照してください。
* **Linux で `No audio recording tool found`**: ネイティブ オーディオ モジュールが読み込めず、フォールバックがインストールされていません。エラー メッセージに表示されているコマンド（例：`sudo apt-get install sox`）で SoX をインストールしてください。
* **`Voice mode requires a microphone, but SoX could not open an audio capture device`**: SoX はインストールされていますが、ホストにはオーディオ キャプチャ デバイスがありません。例えば、ヘッドレス サーバーまたはコンテナです。マイクを備えたマシンで Claude Code を実行してください。{/* min-version: 2.1.195 */}v2.1.195 以降、Linux 上の Claude Code はこの状況でこのメッセージを報告します。以前のバージョンでは、SoX が既にインストールされていても、インストールするよう求めていました。
* **`Voice mode could not find a working audio recorder in WSL`**: WSLg は PulseAudio ではなく ALSA デバイスを経由してオーディオをルーティングするため、SoX は PulseAudio バックエンドを明示的にインストールする必要があります。`sudo apt install sox libsox-fmt-pulse` を実行してください。`sox` だけをインストールすると ALSA バックエンドが引き込まれますが、WSL には `/dev/snd` デバイスがないため、WSL で記録することはできません。
* **`Voice input is failing repeatedly and has been paused`**: 音声ディクテーションが複数回の起動失敗に遭遇し、1 つが成功するまで新しいセッションの試行を停止しました。これは通常、このホストのマイクまたはオーディオ スタックがオーディオをキャプチャできないことを意味します。例えば、ヘッドレス サーバー、オーディオ パススルーのないリモート シェル、またはマイク権限が拒否されている場合です。動作する入力デバイスを確認し、上記のエントリから根本原因を修正してから、音声を再度トリガーしてください。
* **長押しモードで `Space` を長押ししても何も起こらない**: プロンプト入力を監視しながら長押ししてください。スペースが蓄積し続ける場合、音声ディクテーションはおそらくオフです。`/voice hold` を実行して有効にしてください。1 つまたは 2 つのスペースだけが表示されて何も起こらない場合、音声ディクテーションはオンですが、長押し検出がトリガーされていません。長押し検出はターミナルがキー リピート イベントを送信することが必要なため、OS レベルでキー リピートが無効になっている場合、押されたキーを検出できません。`/voice tap` でタップモードに切り替えて、キー リピート要件を回避してください。
* **タップモードで `Space` をタップするとスペースが入力される代わりに記録される**: 最初のタップはプロンプト入力が空の場合にのみ録音を開始します。入力を最初にクリアするか、`/voice tap` を実行してタップモードであることを確認してください。
* **`No audio detected from microphone`**: 録音が開始されましたが、無音がキャプチャされました。正しい入力デバイスがシステム デフォルトとして設定されており、その入力レベルがミュートされていないか、ゼロに近くないことを確認してください。Windows では、\[設定] → \[システム] → \[サウンド] → \[入力]を開き、マイクを選択してください。macOS では、\[システム設定] → \[サウンド] → \[入力]を開いてください。
* **`No speech detected`**: オーディオは文字起こしサービスに到達しましたが、単語は認識されませんでした。マイクに近づいて話し、背景ノイズを減らし、[ディクテーション言語](#change-the-dictation-language)が話している言語と一致することを確認してください。
* **文字起こしが乱れているか、間違った言語である**: ディクテーションはデフォルトで英語です。別の言語でディクテーションしている場合は、最初に `/config` で設定してください。[ディクテーション言語を変更する](#change-the-dictation-language)を参照してください。

<h3 id="terminal-not-listed-in-macos-microphone-settings">
  Terminal not listed in macOS Microphone settings
</h3>

ターミナル アプリが \[システム設定] → \[プライバシーとセキュリティ] → \[マイク]に表示されない場合、有効にできるトグルはありません。ターミナルのマイク権限状態をリセットして、次の `/voice` 実行が新しい macOS 権限プロンプトをトリガーするようにしてください。

<Steps>
  <Step title="ターミナルのマイク権限をリセットする">
    `tccutil reset Microphone <bundle-id>` を実行してください。`<bundle-id>` をターミナルの識別子に置き換えてください。組み込みターミナルの場合は `com.apple.Terminal`、iTerm2 の場合は `com.googlecode.iterm2`。その他のターミナルについては、`osascript -e 'id of app "AppName"'` で識別子を検索してください。

    <Warning>
      バンドル ID なしで `tccutil reset Microphone` を実行できますが、Mac 上のすべてのアプリ（Zoom や Slack などのアプリを含む）からマイク アクセスを取り消します。各アプリは次の使用時にアクセスを再度リクエストする必要があるため、アクティブな通話中は実行しないでください。
    </Warning>
  </Step>

  <Step title="ターミナルを終了して再起動する">
    macOS は既に実行中のプロセスに再度プロンプトを表示しません。ウィンドウを閉じるだけでなく、Cmd+Q でターミナル アプリを終了してから、再度開いてください。
  </Step>

  <Step title="新しいプロンプトをトリガーする">
    Claude Code を起動して `/voice` を実行してください。macOS はマイク アクセスを求めます。許可してください。
  </Step>
</Steps>

<h2 id="see-also">
  関連項目
</h2>

* [キーボード ショートカットをカスタマイズする](/ja/keybindings): `voice:pushToTalk` および他の CLI キーボード アクションをリバインドする
* [設定を構成する](/ja/settings): `voice`、`language`、およびその他の設定キーの完全なリファレンス
* [インタラクティブ モード](/ja/interactive-mode): キーボード ショートカット、入力モード、およびセッション コントロール
* [コマンド](/ja/commands): `/voice`、`/config`、およびその他すべてのコマンドのリファレンス
