---
read_when:
    - Реалізація режиму Talk на macOS/iOS/Android
    - Зміна поведінки голосу/TTS/переривання
summary: 'Режим Talk: безперервні голосові розмови з ElevenLabs TTS'
title: Режим Talk
x-i18n:
    generated_at: "2026-04-05T18:09:19Z"
    model: gpt-5.4
    provider: openai
    source_hash: 3f10a3e9ee8fc2b4f7a89771d6e7b7373166a51ef9e9aa2d8c5ea67fc0729f9d
    source_path: nodes/talk.md
    workflow: 15
---

# Режим Talk

Режим Talk — це безперервний цикл голосової розмови:

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

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

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

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

Помічник може додати на початку відповіді **один JSON-рядок**, щоб керувати голосом:

```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`)

```json5
{
  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.
