# Голос ## Обзор Neotask поддерживает голосовое взаимодействие через несколько систем: обнаружение ключевых слов, непрерывный голосовой разговор (режим разговора) и синтез речи для озвучивания ответов. ## Ключевые слова ### Swabble (macOS) Swabble, это нативный демон macOS, обеспечивающий постоянное, **локальное** обнаружение ключевых слов для голосового пробуждения с использованием Apple Speech.framework. **Функции:** - Только локальная обработка, никакой звук не покидает ваше устройство при обнаружении ключевого слова - Настраиваемые ключевые слова - Непрерывный захват и транскрипция аудио - Выполнение хуков, запуск команд оболочки при обнаружении ключевого слова - Транскрипция файлов, конвертация аудиофайлов в текст (форматы TXT или SRT) - Настраиваемые кулдаун, минимальное количество символов и таймаут **Как это работает:** 1. Swabble непрерывно прослушивает системный микрофон 2. При обнаружении ключевого слова в произнесённом тексте он захватывает последующую речь 3. Захваченный текст отправляется вашему агенту через настроенную команду хука 4. Агент обрабатывает голосовую команду и отвечает ### Голосовые ключевые слова на узлах На компаньон-приложениях iOS и Android голосовое пробуждение обрабатывается нативно: - Конфигурация ключевых слов принадлежит Gateway - Узлы получают конфигурацию ключевых слов при подключении - Обнаружение использует платформенное нативное распознавание речи ## Режим разговора Режим разговора обеспечивает непрерывные голосовые разговоры, говорите естественно и слушайте, как ваш агент отвечает. ### Как это работает 1. **Распознавание речи**, ваш голос транскрибируется в реальном времени (потоковое Deepgram или нативное STT платформы) 2. **Обработка агентом**, транскрибированный текст отправляется вашему агенту как обычное сообщение 3. **Синтез речи**, ответ агента озвучивается вслух ### Конечный автомат голосового взаимодействия Режим разговора переключается между четырьмя состояниями: | Состояние | Описание | |-------|-------------| | **Idle** | Не активно прослушивает | | **Listening** | Захватывает и транскрибирует вашу речь | | **Thinking** | Агент обрабатывает ваш запрос | | **Speaking** | Озвучивается ответ агента | ### Провайдеры синтеза речи | Провайдер | Описание | |----------|-------------| | **ElevenLabs** | Высококачественный синтез голоса с выбором голоса | | **OpenAI TTS** | API синтеза речи от OpenAI | ### Голосовые предпочтения - **Выбор голоса**, выбор из доступных голосов TTS - **Пользовательский системный промпт**, переопределение личности агента для голосового режима - **Пользовательский формат ответа**, управление форматированием агентом произносимых ответов - **Языковая поддержка**, голосовые строки локализованы для 18+ языков ## Голосовые команды ### Обнаружение нескольких намерений Агенты могут обнаруживать и выполнять голосовые команды с несколькими шагами: > «Create a calendar event for tomorrow at 3 PM, then send an email to the team about it, and post a reminder in Slack» Это автоматически разбирается в последовательность команд, каждая из которых выполняется по порядку, с результатами, передаваемыми на следующий шаг. ### Выполнение инструментов Во время голосовых разговоров агенты могут выполнять инструменты так же, как в текстовых разговорах, просматривать веб, выполнять код, управлять файлами, управлять устройствами и многое другое. Результаты суммируются и произносятся вслух. ### Проверка истинности действий Голосовой режим включает проверку соответствия заявлений агента фактическим результатам выполнения инструментов. Если агент говорит «Я отправил письмо», но инструмент отправки письма не сработал, система обнаруживает расхождение и сообщает фактический результат. ## Голосовые звонки (плагин) Плагин Voice Call добавляет поддержку SIP-телефонии: - Обработка входящих звонков - Исходящие звонки (зависит от провайдера) - Двунаправленный аудиопоток в реальном времени (PCM-потоки) - Синтез речи TTS, инжектируемый в аудиопоток звонка ## Управление квотами Голосовые сервисы могут иметь квоты использования: - Месячный лимит минут для TTS + STT - Отслеживание на уровне сессии - Предупреждение при достижении 80% использования - Автоматическое отключение при достижении лимита квоты