Vorbe în și din afară (STT / TTS)
Mânere AiHummer discurs în și discurs din cutie — nu este necesar un API de vorbire plătit. Un fragment audio primit este transcris (STT), textul conduce o rundă normală a agentului, iar răspunsul este redat vorbit (TTS). Ambele motoare sunt gratuit și local și rulează ca motoscaune: faster-whisper pentru transcriere și edge-tts pentru sinteză.
Cum funcționează un turn de voce
O schimbare de voce este o schimbare normală a agentului cu audio activ la ambele capete:
- Poarta trimite audio-ul de intrare către Sidecar STT (
:8001, faster-whisper) și primește înapoi text. - Acest text declanșează runda obișnuită de apelare a funcțiilor — același router, același orchestrator, unelte și memorie ca un mesaj text.
- Textul de răspuns este trimis către TTS partener (
:8002, edge-tts) și audio-ul vorbit este returnat apelantului.
Acesta este expus ca un singur punct final, POST /v1/voice/turn, astfel încât un canal sau client să poată transfera audio și să primească audio fără a orchestrat pașii singur.
Punctele finale
| Metodă | Punct final | Scop |
|---|---|---|
POST |
/v1/voice/turn |
Intrare audio → tură agent → ieșire audio |
GET |
/v1/voice/config |
Configurația curentă a vocii (motoare, butoane de reglare) |
POST /v1/voice/turn HTTP/1.1
Host: localhost:8780
Content-Type: application/json
{
"audio": "<base64-encoded clip>",
"format": "wav"
}
[!NOTE] Caracteristicile vorbirii fac parte din miez — ele nu sunt legate de pluginul SIP. Canalul SIP folosește aceste aceleași motoare STT/TTS pentru acesta
localmotor, dar voce în/înafara funcționează pentru orice client care apelează/v1/voice/turn.
Sidecarurile vocale
| Port | Atelaj lateral | Motor | Rol | Conectat cu cablu |
|---|---|---|---|---|
| 8001 | STT | șoaptă-mai-repede | discurs → text | AIHUMMER_STT_URL |
| 8002 | TTS | edge-tts | text → voce | AIHUMMER_TTS_URL |
Ambele motoare sunt gratuite și locale: nimic nu este trimis unui furnizor de vorbire plătit. Ca în cazul fiecărui sidecar, gateway-ul ajunge la ele prin URL, astfel încât să le puteți rula lângă gateway sau să indicați către o instanță partajată.
Încărcare cabluri
Instalatorul nativ al gazdei setează pentru tine URL-urile STT și TTS. Ele sunt setările catalogului — schimbă-le din interfața de administrare (Management → Setări) sau cu aihummer settings set; gateway.env este doar bootstrap și este ignorat pentru acestea:
# Voice in/out (auto-configured by the installer)
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] Pentru că fiecare sidecar este doar un URL, mai multe gateway-uri pot împărți un singur STT/TTS instanță. Centralizați serviciile de vorbire mai grele în loc să rulați o copie pentru fiecare gazdă.
Ajustarea căii audio
Butonii pentru calitatea vocii se află în “Media · Voce” grup de setări și sunt configurabile din interfața web de administrare — nu este necesară o redeployare. Acestea acoperă traseul audio în timp real:
| Buton | Ce controlează |
|---|---|
| Dublu | Full-duplex (ascultă în timp ce vorbești) vs half-duplex |
| AEC | Anularea ecoului acustic |
| Suprimarea zgomotului | Filtrează zgomotul de fundal înainte de STT |
| AGC | Control automat al câștigului (normalizarea nivelului) |
| Prag VAD | Sensibilitatea detectării activității vocale |
| A întrerupe brusc | Permiteți apelantului să întrerupă agentul în timpul răspunsului |
GET /v1/voice/config returnează configurația efectivă astfel încât un client să poată descoperi motoarele active și aceste setări.
Unde următor?
- Modelul de transport din spatele acestor servicii: Atelaje laterale.
- Traducerea vorbirii și înțelegerea videoclipurilor: Traducere vorbită și video.
- Vocile pe o linie telefonică: Telefonie SIP.