AiHummer
Русский
ВойтиЛичный кабинет
v1.1.x
{ }Swagger

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

v1.1.x · обновлено 2026-07-21

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

Как проходит обработка аудиозапроса

Обработка аудиозапроса — это обычная обработка запроса агентом с аудио на обоих концах:

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

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

Endpoints

Метод Endpoint Назначение
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

faster-whisper может распознавать речь локально. edge-tts обращается к онлайн‑сервису Microsoft Edge, поэтому текст для синтеза покидает ваш контур. Для полностью изолированного режима подключите локальный TTS‑движок. Как и любой дополнительный сервис, шлюз обращается к ним по URL, поэтому их можно запустить рядом со шлюзом или указать на общий экземпляр.

Подключение

Установщик прописывает URL STT и TTS за вас. Это настройки каталога — меняйте их из веб-интерфейса (Управление → Настройки) или командой aihummer settings set; gateway.env — только для начальной загрузки и для этих ключей игнорируется:

# Речь на входе/выходе (настраивается установщиком)
aihummer settings set AIHUMMER_STT_URL http://127.0.0.1:8001
aihummer settings set AIHUMMER_TTS_URL http://127.0.0.1:8002

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

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

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

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

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

Куда дальше