AiHummer
Русский
Войти
v1.0.x
{ }Swagger

Речь на входе и выходе (STT / TTS)

v1.0.x · обновлено 2026-07-05

AiHummer обрабатывает речь на входе и на выходе «из коробки» — платный речевой API не нужен. Входящий аудиофрагмент распознаётся (STT), текст запускает обычный ход агента, а ответ озвучивается (TTS). Оба движка свободные и локальные и работают как сайдкары: faster-whisper для распознавания и edge-tts для синтеза.

Как проходит голосовой ход

Голосовой ход — это обычный ход агента с аудио на обоих концах:

  1. Gateway отправляет входящее аудио в сайдкар STT (:8001, faster-whisper) и получает текст.
  2. Этот текст запускает обычный цикл вызова функций — те же роутер, оркестратор, инструменты и память, что и для текстового сообщения.
  3. Текст ответа отправляется в сайдкар TTS (:8002, edge-tts), и озвученное аудио возвращается звонящему.

Всё это доступно через единый эндпоинт POST /v1/voice/turn: канал или клиент передаёт аудио и получает аудио, не оркеструя шаги самостоятельно.

Эндпоинты

Метод Эндпоинт Назначение
POST /v1/voice/turn Аудио на входе → ход агента → аудио на выходе
GET /v1/voice/config Текущая голосовая конфигурация (движки, настройки)
POST /v1/voice/turn HTTP/1.1
Host: localhost:8780
Content-Type: application/json

{
  "audio": "<клип в base64>",
  "format": "wav"
}

[!NOTE] Речевые возможности входят в ядро — они не привязаны к плагину SIP. Канал SIP использует эти же движки STT/TTS для своего движка local, но речь на входе/выходе работает для любого клиента, который вызывает /v1/voice/turn.

Голосовые сайдкары

Порт Сайдкар Движок Роль Подключается через
8001 STT faster-whisper речь → текст AIHUMMER_STT_URL
8002 TTS edge-tts текст → речь AIHUMMER_TTS_URL

Оба движка свободные и локальные: ничего не отправляется платному речевому вендору. Как и любой сайдкар, gateway обращается к ним по URL, поэтому их можно запустить рядом с gateway или указать на общий экземпляр.

Подключение

Host-native установщик прописывает URL STT и TTS за вас. Переменные:

# gateway.env — речь на входе/выходе (прописывается установщиком)
AIHUMMER_STT_URL=http://127.0.0.1:8001
AIHUMMER_TTS_URL=http://127.0.0.1:8002

[!TIP] Поскольку каждый сайдкар — это просто URL, несколько gateway могут использовать один экземпляр STT/TTS. Централизуйте более тяжёлые речевые сервисы вместо копии на каждом хосте.

Настройка аудио-тракта

Ручки качества речи находятся в группе настроек «Media · Voice» и конфигурируются из веб-админки — без передеплоя. Они охватывают real-time аудио-тракт:

Ручка Что регулирует
Duplex Полный дуплекс (слушать во время речи) или полудуплекс
AEC Подавление акустического эха
Noise suppression Фильтрация фонового шума до STT
AGC Автоматическая регулировка усиления (нормализация уровня)
VAD threshold Чувствительность детектора голосовой активности
Barge-in Возможность перебить агента во время ответа

GET /v1/voice/config возвращает действующую конфигурацию, чтобы клиент мог узнать активные движки и эти настройки.

Куда дальше