Медиа и устройства

Режим разговора

Режим разговора — это непрерывный цикл голосового диалога:

  1. Ожидание речи
  2. Отправка транскрипта модели (основная сессия, chat.send)
  3. Ожидание ответа
  4. Озвучивание через ElevenLabs (потоковое воспроизведение)

Поведение (macOS)

  • Постоянный оверлей, пока режим разговора включен.
  • Переходы между фазами: Слушание → Размышление → Речь.
  • При короткой паузе (окно тишины) текущая транскрипция отправляется.
  • Ответы записываются в WebChat (так же, как при вводе текста).
  • Прерывание при речи (по умолчанию включено): если пользователь начинает говорить, пока говорит ассистент, воспроизведение останавливается, и время прерывания отмечается для следующего запроса.

Голосовые директивы в ответах

Ассистент может начинать свой ответ с одной строки JSON для управления голосом:

{ "voice": "<voice-id>", "once": true }

Правила:

  • Только первая непустая строка.
  • Неизвестные ключи игнорируются.
  • once: true применяется только к текущему ответу.
  • Без once голос становится новым значением по умолчанию для режима разговора.
  • Строка 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",
    interruptOnSpeech: true,
  },
}

Значения по умолчанию:

  • interruptOnSpeech: true
  • voiceId: используется значение из ELEVENLABS_VOICE_ID / SAG_VOICE_ID (или первый голос ElevenLabs, если доступен API-ключ)
  • modelId: по умолчанию eleven_v3, если не задано
  • apiKey: используется значение из ELEVENLABS_API_KEY (или профиль шлюза shell, если доступен)
  • outputFormat: по умолчанию pcm_44100 на macOS/iOS и pcm_24000 на Android (установите mp3_* для принудительной потоковой передачи MP3)

Интерфейс macOS

  • Переключатель в строке меню: Talk (Разговор)
  • Вкладка конфигурации: группа Talk Mode (Режим разговора) (идентификатор голоса + переключатель прерывания)
  • Оверлей:
    • Слушание: пульсирующее облако с уровнем микрофона
    • Размышление: анимация погружения
    • Речь: расходящиеся кольца
    • Нажмите на облако: остановить речь
    • Нажмите X: выйти из режима разговора

Примечания

  • Требуются разрешения на распознавание речи и использование микрофона.
  • Использует chat.send для сессии с ключом main.
  • TTS использует потоковый API ElevenLabs с ELEVENLABS_API_KEY и инкрементное воспроизведение на macOS/iOS/Android для снижения задержки.
  • Значение 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 с низкой задержкой.

Захват с камерыГолосовое пробуждение