Vorbire intrare și ieșire (STT / TTS)
AiHummer gestionează vorbirea intrare și vorbirea ieșire din start — fără niciun API de vorbire plătit necesar. Un clip audio primit este transcris (STT), textul conduce un tur normal de agent, iar răspunsul este rostit înapoi (TTS). Ambele motoare sunt gratuite și locale și rulează ca sidecar-uri: faster-whisper pentru transcriere și edge-tts pentru sinteză.
Cum funcționează un tur de voce
Un tur de voce este un tur normal de agent cu audio la ambele capete:
- Gateway-ul trimite audio-ul de intrare către sidecar-ul STT (
:8001, faster-whisper) și primește înapoi text. - Acel text conduce turul obișnuit de function-calling — același router, orchestrator, tools și memorie ca un mesaj text.
- Textul de răspuns este trimis către sidecar-ul TTS (
:8002, edge-tts) și audio-ul rostit este returnat apelantului.
Acest lucru este expus ca un singur endpoint, POST /v1/voice/turn, astfel încât un canal sau
client poate preda audio și primi audio fără a orchestra el însuși pașii.
Endpoint-urile
| Metodă | Endpoint | Scop |
|---|---|---|
POST |
/v1/voice/turn |
Audio intrare → tur de agent → audio ieșire |
GET |
/v1/voice/config |
Configurația curentă de voce (motoare, butoane de reglaj) |
POST /v1/voice/turn HTTP/1.1
Host: localhost:8780
Content-Type: application/json
{
"audio": "<base64-encoded clip>",
"format": "wav"
}
[!NOTE] Funcțiile de vorbire fac parte din core — nu sunt legate de plugin-ul SIP. Canalul SIP folosește aceleași motoare STT/TTS pentru motorul său
local, dar vorbirea intrare/ieșire funcționează pentru orice client care apelează/v1/voice/turn.
Sidecar-urile de voce
| Port | Sidecar | Motor | Rol | Conectat cu |
|---|---|---|---|---|
| 8001 | STT | faster-whisper | vorbire → text | AIHUMMER_STT_URL |
| 8002 | TTS | edge-tts | text → vorbire | AIHUMMER_TTS_URL |
Ambele motoare sunt gratuite și locale: nimic nu este trimis către un furnizor de vorbire plătit. La fel ca fiecare sidecar, gateway-ul le accesează prin URL, deci le poți rula lângă gateway sau le poți îndrepta către o instanță partajată.
Conectare
Instalatorul nativ pe gazdă setează URL-urile STT și TTS pentru tine. Variabilele sunt:
# 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] Deoarece fiecare sidecar este doar un URL, mai multe gateway-uri pot partaja o singură instanță STT/TTS. Centralizează serviciile de vorbire mai grele în loc să rulezi o copie pe fiecare gazdă.
Reglarea căii audio
Butoanele de calitate a vocii se află în grupul de setări „Media · Voice“ și sunt configurabile din admin UI web — fără reimplementare necesară. Acestea acoperă calea audio în timp real:
| Buton | Ce controlează |
|---|---|
| Duplex | Full-duplex (ascultă în timp ce vorbește) vs half-duplex |
| AEC | Anularea ecoului acustic |
| Suprimarea zgomotului | Filtrează zgomotul de fundal înainte de STT |
| AGC | Control automat al amplificării (normalizarea nivelului) |
| Prag VAD | Sensibilitatea detecției activității vocale |
| Barge-in | Permite apelantului să întrerupă agentul în mijlocul 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 mai departe
- Modelul de transport din spatele acestor servicii: Sidecars.
- Diarizare, traducere, clonare a vocii și video: Diarizare, traducere și clonare.
- Voce pe o linie telefonică: Telefonie SIP.