> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 音声起動（macOS）

# Voice Wake とプッシュトゥトーク

## 要件

Voice Wake とプッシュトゥトークには macOS 26 以降が必要です。古い macOS では Voice 設定ページからコントロールが非表示になり、代わりに macOS 26 要件が表示されます。

## モード

* **ウェイクワードモード**（デフォルト）: 常時オンの Speech 認識器がトリガートークン（`swabbleTriggerWords`）を待機します。一致するとキャプチャを開始し、部分テキスト付きのオーバーレイを表示し、無音後に自動送信します。
* **プッシュトゥトーク（右 Option を長押し）**: 右 Option キーを押し続けると、トリガーなしで即座にキャプチャします。押している間はオーバーレイが表示されます。離すと確定し、テキストを編集できるように短い遅延の後で転送します。

## 実行時の動作（ウェイクワード）

* 認識器は `VoiceWakeRuntime` に存在します。
* トリガーは、ウェイクワードと次の単語の間に意味のあるポーズがある場合のみ発火します（`triggerPauseWindow` = 0.55s）。コマンドが始まる前でも、そのポーズでオーバーレイ/チャイムを開始できます。
* 無音ウィンドウ: 発話が続いている場合は 2.0s（`silenceWindow`）、トリガーだけが聞こえた場合は 5.0s（`triggerOnlySilenceWindow`）。
* ハード停止: 暴走セッションを防ぐため 120s（`captureHardStop`）。
* セッション間のデバウンス: 送信後 350ms（`debounceAfterSend`）。
* オーバーレイは `VoiceWakeOverlayController` 経由で駆動され、確定/揮発テキストを色分けします。
* 送信後、認識器はきれいに再起動し、次のトリガーを待機します。

## ライフサイクル不変条件

* Voice Wake が有効で権限が付与されている場合、アクティブなプッシュトゥトークキャプチャ中を除き、ウェイクワード認識器は待機し続けます。
* X ボタンによる手動の閉じる操作を含め、オーバーレイの終了では常に認識器が再開されます。`VoiceSessionCoordinator.overlayDidDismiss` はすべての終了パスで `VoiceWakeRuntime.refresh(state:)` を呼び出します。セッション/トークンモデルについては [Voice オーバーレイ](/ja-JP/platforms/mac/voice-overlay) を参照してください。

## プッシュトゥトークの詳細

* ホットキー検出には、右 Option（`keyCode 61` + `.option`）用のグローバル `.flagsChanged` モニターを使用します。イベントを監視するだけで、飲み込むことはありません。
* キャプチャは `VoicePushToTalk` に存在します。Speech を即座に開始し、部分結果をオーバーレイにストリーミングし、離したときに `VoiceWakeForwarder` を呼び出します。
* プッシュトゥトークを開始すると、音声タップの競合を避けるためウェイクワードランタイムを一時停止します。離した後は自動的に再起動します。
* 権限: マイク + Speech が必要です。キーイベントの受信にはアクセシビリティ/入力監視の承認が必要です。
* 外部キーボード: 一部は右 Option を期待どおりに公開しません。ユーザーから取りこぼしの報告がある場合は、代替ショートカットを提供してください。

## ユーザー向け設定

* **Voice Wake** トグル: ウェイクワードランタイムを有効にします。
* **右 Option を長押しして話す**: プッシュトゥトークモニターを有効にします。
* 言語とマイクのピッカー、ライブレベルメーター、トリガーワードテーブル、テスター（ローカル限定、転送しない）。
* マイクピッカーは、デバイスが切断された場合でも最後の選択を保持し、切断ヒントを表示し、復帰するまで一時的にシステムデフォルトへフォールバックします。
* **サウンド**: トリガー検出時と送信時にチャイムを鳴らします。デフォルトは macOS の「Glass」システムサウンドです。イベントごとに任意の `NSSound` 読み込み可能ファイル（例: MP3/WAV/AIFF）を選ぶか、**サウンドなし**を選択します。

## 転送動作

* 転送時、`VoiceWakeForwarder.selectedSessionOptions` は、設定されている場合はアクティブな WebChat セッションキーを選び、そうでない場合は Gateway のメインセッションキーを選びます。
* `sessions.list` 経由でそのセッションを検索し、セッションの配信コンテキストから配信チャネルとターゲットを導出します（最後のチャネル/ターゲット、次に解析済みセッションキーへフォールバック）。何も解決できない場合は WebChat をデフォルトにします。
* 配信に失敗した場合、エラーはログに記録され（`voicewake.forward` カテゴリ）、実行は WebChat/セッションログから引き続き確認できます。

## 転送ペイロード

* `VoiceWakeForwarder.prefixedTranscript(_:)` は、トランスクリプトの前にマシンヒント行（解決済みホスト名、フォールバックは「this Mac」）を付加します。これはウェイクワードとプッシュトゥトークのパスで共有されます。

## クイック確認

* プッシュトゥトークをオンにし、右 Option を押し続けて話し、離します。オーバーレイに部分結果が表示され、その後送信されるはずです。
* 押している間、メニューバーの耳は拡大されたままになるはずです（`triggerVoiceEars(ttl: nil)`）。離すと元に戻ります。

## 関連

* [Voice wake](/ja-JP/nodes/voicewake)
* [Voice オーバーレイ](/ja-JP/platforms/mac/voice-overlay)
* [macOS アプリ](/ja-JP/platforms/macos)
