メディアとデバイス
Talkモード
Talkモードは連続的な音声会話ループです:
- 音声を待ち受ける
- 文字起こしをモデルに送信(メインセッション、chat.send)
- 応答を待つ
- ElevenLabs経由で発話(ストリーミング再生)
動作(macOS)
- Talkモードが有効な間は常にオーバーレイ表示されます。
- 待機 → 思考中 → 発話中のフェーズ遷移を行います。
- 短い間(無音ウィンドウ) で、現在の文字起こしが送信されます。
- 返答はWebChatに書き込まれます(タイピング時と同じ)。
- 発話で割り込み(デフォルトオン):アシスタントが発話中にユーザーが話し始めた場合、再生を停止し、次のプロンプト用に割り込みタイムスタンプを記録します。
返答内の音声ディレクティブ
アシスタントは、音声を制御するために返答の先頭に単一のJSON行を付ける場合があります:
{ "voice": "<voice-id>", "once": true }
ルール:
- 最初の空でない行のみが対象です。
- 不明なキーは無視されます。
once: trueは現在の返答にのみ適用されます。onceなしの場合、その音声はTalkモードの新しいデフォルトになります。- JSON行はTTS再生前に取り除かれます。
サポートされるキー:
voice/voice_id/voiceIdmodel/model_id/modelIdspeed,rate(WPM),stability,similarity,style,speakerBoostseed,normalize,lang,output_format,latency_tieronce
設定 (~/.openclaw/openclaw.json)
{
talk: {
voiceId: "elevenlabs_voice_id",
modelId: "eleven_v3",
outputFormat: "mp3_44100_128",
apiKey: "elevenlabs_api_key",
interruptOnSpeech: true,
},
}
デフォルト:
interruptOnSpeech: truevoiceId:ELEVENLABS_VOICE_ID/SAG_VOICE_IDにフォールバック(またはAPIキーが利用可能な場合は最初のElevenLabs音声)modelId: 未設定時はデフォルトでeleven_v3apiKey:ELEVENLABS_API_KEYにフォールバック(または利用可能な場合はゲートウェイシェルプロファイル)outputFormat: macOS/iOSではデフォルトpcm_44100、Androidではpcm_24000(MP3ストリーミングを強制するにはmp3_*を設定)
macOS UI
- メニューバートグル:Talk
- 設定タブ:Talkモードグループ(音声ID + 割り込みトグル)
- オーバーレイ:
- 待機中: マイクレベルと共に雲が脈動
- 思考中: 沈み込むアニメーション
- 発話中: 放射状に広がるリング
- 雲をクリック:発話を停止
- Xをクリック:Talkモードを終了
注意事項
- 音声認識 + マイクの権限が必要です。
- セッションキー
mainに対してchat.sendを使用します。 - TTSはElevenLabsストリーミングAPIと
ELEVENLABS_API_KEYを使用し、macOS/iOS/Androidでは低遅延のためのインクリメンタル再生を行います。 eleven_v3のstabilityは0.0、0.5、1.0に検証されます。他のモデルは0..1を受け入れます。latency_tierは設定時、0..4に検証されます。- Androidは低遅延のAudioTrackストリーミングのために、
pcm_16000、pcm_22050、pcm_24000、pcm_44100の出力フォーマットをサポートしています。