AiHummer
Тоҷикӣ
Даромадан
v1.0.x
{ }Swagger

Нутқ ба дарун ва берун (STT / TTS)

v1.0.x · навсозӣ шуд 2026-06-26

AiHummer нутқ ба дарун ва нутқ ба берунро аз қуттӣ берун идора мекунад — ҳеҷ API-и пулакии нутқ лозим нест. Як клипи аудиои воридшаванда transcribe мешавад (STT), матн як навбати муқаррарии агентро пеш мебарад ва ҷавоб бо овоз баргардонида мешавад (TTS). Ҳарду муҳаррик ройгон ва маҳаллӣ ҳастанд ва ҳамчун sidecar иҷро мешаванд: faster-whisper барои transcription ва edge-tts барои синтез.

Чӣ тавр навбати овозӣ кор мекунад

Навбати овозӣ як навбати муқаррарии агент бо аудио дар ҳарду тараф аст:

  1. Gateway аудиои воридшавандаро ба sidecar-и STT (:8001, faster-whisper) мефиристад ва матнро бармегардонад.
  2. Он матн навбати муқаррарии function-calling-ро пеш мебарад — ҳамон router, orchestrator, асбобҳо ва хотира мисли паёми матнӣ.
  3. Матни ҷавоб ба sidecar-и TTS (:8002, edge-tts) фиристода мешавад ва аудиои гуфташуда ба занггузоранда баргардонида мешавад.

Ин ҳамчун як endpoint-и ягона, POST /v1/voice/turn, намоиш дода мешавад, то канал ё client тавонад аудиоро супорад ва аудио гирад, бе он ки худаш қадамҳоро orchestrate кунад.

Endpoint-ҳо

Метод Endpoint Мақсад
POST /v1/voice/turn Аудио ба дарун → навбати агент → аудио ба берун
GET /v1/voice/config Конфигуратсияи ҷории овоз (муҳаррикҳо, танзимоти tuning)
POST /v1/voice/turn HTTP/1.1
Host: localhost:8780
Content-Type: application/json

{
  "audio": "<base64-encoded clip>",
  "format": "wav"
}

[!NOTE] Хусусиятҳои нутқ қисми core ҳастанд — онҳо ба plugin-и SIP вобаста нестанд. Канали SIP ҳамин муҳаррикҳои STT/TTS-ро барои муҳаррики local-и худ истифода мебарад, аммо нутқ ба дарун/берун барои ҳар client, ки ба /v1/voice/turn занг мезанад, кор мекунад.

Sidecar-ҳои овоз

Порт Sidecar Муҳаррик Нақш Симбандӣ бо
8001 STT faster-whisper нутқ → матн AIHUMMER_STT_URL
8002 TTS edge-tts матн → нутқ AIHUMMER_TTS_URL

Ҳарду муҳаррик ройгон ва маҳаллӣ ҳастанд: чизе ба фурӯшандаи пулакии нутқ фиристода намешавад. Мисли ҳар sidecar, gateway онҳоро тавассути URL дастрас мекунад, бинобар ин шумо метавонед онҳоро дар паҳлӯи gateway иҷро кунед ё ба instance-и муштарак ишора кунед.

Симбандӣ

Насбкунандаи host-native URL-ҳои STT ва TTS-ро барои шумо муқаррар мекунад. Тағйирёбандаҳо инҳоянд:

# gateway.env — voice in/out (auto-set by the installer)
AIHUMMER_STT_URL=http://127.0.0.1:8001
AIHUMMER_TTS_URL=http://127.0.0.1:8002

[!TIP] Азбаски ҳар sidecar танҳо як URL аст, якчанд gateway метавонанд як instance-и STT/TTS-ро муштарак истифода баранд. Хидматҳои вазнинтари нутқро марказонед, ба ҷои иҷро кардани як нусха барои ҳар host.

Танзими масири аудио

Танзимоти сифати овоз дар гурӯҳи танзимоти “Media · Voice” зиндагӣ мекунанд ва аз UI-и веб-admin танзимшаванда ҳастанд — бе ниёз ба redeploy. Онҳо масири аудиои real-time-ро дар бар мегиранд:

Танзим Чиро идора мекунад
Duplex Full-duplex (гӯш кардан ҳангоми гап задан) ё half-duplex
AEC Бекоркунии акустикии echo
Подавлении шум Шумоти заминаро пеш аз STT филтр мекунад
AGC Идоракунии худкори gain (нормализатсияи сатҳ)
Остонаи VAD Ҳассосияти муайянкунии фаъолияти овоз
Barge-in Ба занггузоранда иҷозат медиҳад агентро дар миёнаи ҷавоб қатъ кунад

GET /v1/voice/config конфигуратсияи амалкунандаро бармегардонад, то client тавонад муҳаррикҳои фаъол ва ин танзимотро кашф кунад.

Қадами навбатӣ ба куҷо