Grai · Modelul
Un sistem realtime cascadat: trei modele care lucrează în lanț, plus stratul care le face să se comporte ca o singură conversație.
Există două feluri de a construi un agent vocal. Full-duplex nativ — un singur model care primește audio și scoate audio, cum face ChatGPT Live. Și cascadat — recunoaștere, apoi model de limbaj, apoi sinteză, trei piese distincte.
Grai e cascadat. Asta e o alegere, nu o limitare accidentală: piesele se pot schimba independent, două din trei rulează local, iar costul de rulare al audio-ului e zero. Prețul plătit e că nu putem produce sunete în timp ce ascultăm — pauza dintre tura ta și a lui e reală.
Aproape toată piața comercială e cascadată, inclusiv ElevenLabs Agents și majoritatea furnizorilor. Full-duplex nativ, în producție și cu română, azi nu are nimeni.
| Piesa | Model | Unde rulează | Licență | Româna în fișă | Măsurat, p50 |
|---|---|---|---|---|---|
| Recunoaștere | Nemotron 3.5 ASR streaming, 0,6 miliarde de parametri | local, pe GPU-ul integrat (M3 Max, MLX) | OpenMDW-1.1 | broad-coverage | 92 ms |
| Model de limbaj | schimbabil, prin poartă compatibilă OpenAI | în afară | a furnizorului | — | 2180 ms |
| Sinteză | Supertonic 3, 99 de milioane de parametri, 31 de limbi | local, pe procesor | OpenRAIL-M | — | 305 ms |
| Stare Supertonic: upstream arhivat 23.07.2026; funcționează local, fără dezvoltare upstream; înlocuitorul e în evaluare. | |||||
Cele trei cifre: p50, n=17, model de limbaj gpt-5.4-nano, cu umplutura oprită. 92 ms e golirea recunoașterii după ce taci; textul parțial din timpul vorbirii vine cu întârzierea ferestrei de 1120 ms (~1,1 s). În aceeași rulare, decizia de tură ia 586 ms, iar primul sunet vine la 3172 ms p50 — modelul de limbaj e ~69% din total. „Broad-coverage" e a doua treaptă din trei în fișa NVIDIA: modelul a văzut puțină română la antrenare. Fără placă dedicată.
Singura piesă care pleacă de pe mașina ta e modelul de limbaj, și primește text, nu audio. Poate fi și el local, dacă ai hardware — atunci nu iese nimic.
Modelele de mai sus sunt împrumutate și se pot înlocui. Ce e al nostru — și ce face diferența dintre o demonstrație și un agent care poate răspunde la telefon — e stratul dintre ele.
Decide când ai terminat de vorbit, pe panta intonației. Distinge confirmările scurte („mhm") de preluarea turei, ridică pragul când dictezi cifre, se calibrează pe ritmul tău în silabe pe secundă.
1.019 linii · 86 de testeMăsoară înălțime, energie, ritm, ezitare, șoaptă — normalizate față de linia ta de bază, nu absolut. Panta F0 pe ultimele 600 ms e semnalul care decide tura.
731 linii · 1,9 ms per replicăȚine minte între conversații, cu revizuire în timp: „vine vineri" devine „a venit vineri" după ce trece vineri. Ștergerea funcționează pe disc, nu doar în interfață.
976 linii · 104 testeÎn ambele sensuri. De la om: „douăzeci și trei de mii patru sute optzeci" devine 23480 înainte de model. Spre om: 069123456 devine „zero șase nouă unu…", cifră cu cifră. Ore, date, sume, fiecare cu regula ei.
1.280 linii · 98 de testeAgentul trăiește în afara conexiunii. Închizi fila, cade rețeaua, repornește serverul — conversația continuă. Uneltele își termină treaba și rezultatul te așteaptă la coadă.
632 liniiLimite pe client și pe adresă, cu poziția în coadă în loc de refuz sec. Închirierea recunoașterii se face pe tură, nu pe conexiune — de aici capacitatea.
506 linii · 57 de teste16.082 de linii de cod, din care 4.112 de teste. Cifrele de lângă fiecare bloc sunt numărate din sursă, nu estimate.
Când are nevoie de o informație din afară, majoritatea agenților tac și așteaptă. Grai bifurcă: spune o punte scurtă, trimite treaba pe alt fir, și rămâne întreruptibil.
Partea grea a întreruperii nu e oprirea. Sinteza merge mai repede decât redarea, deci în momentul în care vorbești peste el rămâne în tampon audio care n-a ajuns niciodată la urechea ta.
Fără corecție, modelul crede că a spus tot — și la replica următoare zice „v-am spus deja" despre ceva ce n-ai auzit. Istoricul se taie la câte milisecunde au ieșit efectiv din difuzor. Oprirea propriu-zisă durează între 1 și 3 milisecunde.
Cifrele de performanță de mai sus au măsurători în spate, cu eșantion, condiții și, unde se poate calcula, interval de încredere.