Овоз / Нутқ ба дарун ва берун (STT / TTS)
Нутқ ба дарун ва берун (STT / TTS) v1.0.x · навсозӣ шуд 2026-06-26 ⧉ Нусхабардорӣ ҳамчун Markdown ✓ Нусхабардорӣ шуд
AiHummer нутқ ба дарун ва нутқ ба берунро аз қуттӣ берун идора мекунад — ҳеҷ
API-и пулакии нутқ лозим нест. Як клипи аудиои воридшаванда transcribe мешавад
(STT), матн як навбати муқаррарии агентро пеш мебарад ва ҷавоб бо овоз баргардонида
мешавад (TTS). Ҳарду муҳаррик ройгон ва маҳаллӣ ҳастанд ва ҳамчун
sidecar иҷро мешаванд: faster-whisper барои
transcription ва edge-tts барои синтез.
Чӣ тавр навбати овозӣ кор мекунад
Навбати овозӣ як навбати муқаррарии агент бо аудио дар ҳарду тараф аст:
Gateway аудиои воридшавандаро ба sidecar-и STT (:8001, faster-whisper)
мефиристад ва матнро бармегардонад.
Он матн навбати муқаррарии function-calling-ро пеш мебарад — ҳамон router,
orchestrator, асбобҳо ва хотира мисли паёми матнӣ.
Матни ҷавоб ба 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 тавонад
муҳаррикҳои фаъол ва ин танзимотро кашф кунад.
Қадами навбатӣ ба куҷо
← Қаблӣ
Generic inbound
Баъдӣ →
Diarization, тарҷума, клонкунӣ ва видео
AiHummer **нутқ ба дарун ва нутқ ба берунро аз қуттӣ берун** идора мекунад — ҳеҷ
API-и пулакии нутқ лозим нест. Як клипи аудиои воридшаванда transcribe мешавад
(STT), матн як навбати муқаррарии агентро пеш мебарад ва ҷавоб бо овоз баргардонида
мешавад (TTS). Ҳарду муҳаррик **ройгон ва маҳаллӣ** ҳастанд ва ҳамчун
[sidecar](/tg/v1.0/architecture/sidecars) иҷро мешаванд: 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) |
```http
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-ро барои шумо муқаррар мекунад.
Тағйирёбандаҳо инҳоянд:
```ini
# 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 тавонад
муҳаррикҳои фаъол ва ин танзимотро кашф кунад.
## Қадами навбатӣ ба куҷо
- Модели нақлиёт дар паси ин хидматҳо:
[Sidecar-ҳо](/tg/v1.0/architecture/sidecars).
- Diarization, тарҷума, клонкунии овоз ва видео:
[Diarization, тарҷума ва клонкунӣ](/tg/v1.0/voice/diarization-translation-clone).
- Овоз дар хатти телефон:
[Телефонияи SIP](/tg/v1.0/channels/sip).