AiHummer доки
v1.0.x
RU EN

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

v1.0.x · обновлено 2026-06-26

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:8765
Content-Type: application/json

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

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

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

ПортСайдкарДвижокРольПодключается через
8001STTfaster-whisperречь → текстAIHUMMER_STT_URL
8002TTSedge-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 возвращает действующую конфигурацию, чтобы клиент мог узнать активные движки и эти настройки.

Куда дальше