Перейти до основного вмісту

Режим Talk

Режим Talk — це безперервний цикл голосової розмови:
  1. Слухати мовлення
  2. Надіслати транскрипт моделі (основна сесія, chat.send)
  3. Дочекатися відповіді
  4. Озвучити її через налаштованого провайдера Talk (talk.speak)

Поведінка (macOS)

  • Постійно видиме накладання, поки режим Talk увімкнено.
  • Переходи між фазами Listening → Thinking → Speaking.
  • Після короткої паузи (вікно тиші) поточний транскрипт надсилається.
  • Відповіді записуються у WebChat (так само, як під час введення тексту).
  • Переривання мовленням (типово увімкнено): якщо користувач починає говорити, поки помічник говорить, ми зупиняємо відтворення й фіксуємо часову позначку переривання для наступного prompt.

Голосові директиви у відповідях

Помічник може додати на початку відповіді один JSON-рядок, щоб керувати голосом:
{ "voice": "<voice-id>", "once": true }
Правила:
  • Лише перший непорожній рядок.
  • Невідомі ключі ігноруються.
  • once: true застосовується лише до поточної відповіді.
  • Без once голос стає новим типовим голосом для режиму Talk.
  • JSON-рядок видаляється перед відтворенням через TTS.
Підтримувані ключі:
  • voice / voice_id / voiceId
  • model / model_id / modelId
  • speed, rate (WPM), stability, similarity, style, speakerBoost
  • seed, normalize, lang, output_format, latency_tier
  • once

Конфігурація (~/.openclaw/openclaw.json)

{
  talk: {
    voiceId: "elevenlabs_voice_id",
    modelId: "eleven_v3",
    outputFormat: "mp3_44100_128",
    apiKey: "elevenlabs_api_key",
    silenceTimeoutMs: 1500,
    interruptOnSpeech: true,
  },
}
Типові значення:
  • interruptOnSpeech: true
  • silenceTimeoutMs: якщо не задано, Talk використовує типове для платформи вікно паузи перед надсиланням транскрипту (700 ms на macOS і Android, 900 ms на iOS)
  • voiceId: резервно використовує ELEVENLABS_VOICE_ID / SAG_VOICE_ID (або перший голос ElevenLabs, коли доступний API-ключ)
  • modelId: якщо не задано, типово використовується eleven_v3
  • apiKey: резервно використовує ELEVENLABS_API_KEY (або shell profile gateway, якщо доступно)
  • outputFormat: типово pcm_44100 на macOS/iOS і pcm_24000 на Android (установіть mp3_*, щоб примусово використовувати потокове передавання MP3)

UI macOS

  • Перемикач у рядку меню: Talk
  • Вкладка конфігурації: група Talk Mode (voice id + перемикач переривання)
  • Накладання:
    • Listening: хмара пульсує відповідно до рівня мікрофона
    • Thinking: анімація занурення
    • Speaking: кільця, що розходяться
    • Натискання на хмару: зупинити озвучення
    • Натискання X: вийти з режиму Talk

Примітки

  • Потрібні дозволи Speech + Microphone.
  • Використовує chat.send для ключа сесії main.
  • Gateway визначає відтворення Talk через talk.speak, використовуючи активного провайдера Talk. Android резервно використовує лише локальний системний TTS, коли цей RPC недоступний.
  • stability для eleven_v3 перевіряється на значення 0.0, 0.5 або 1.0; інші моделі приймають 0..1.
  • latency_tier перевіряється на 0..4, коли задано.
  • Android підтримує формати виводу pcm_16000, pcm_22050, pcm_24000 і pcm_44100 для низьколатентного потокового відтворення через AudioTrack.