Grai · Povestea
Pentru că româna nu e o piață. Și pentru că vocea nu trebuie să plece de acasă ca să fie înțeleasă.
Nu e o plângere, e o observație de piață. Din șase laboratoare mari de inteligență artificială vocală, cinci nu au româna deloc. Cele care o au, o au ca pe a treizecea limbă dintr-o listă — antrenată pe puțin, testată pe și mai puțin, cu fișe de model care recunosc singure că pe limbile rare acuratețea cade.
Motivul e aritmetic. Douăzeci și ceva de milioane de vorbitori nu justifică un efort de antrenare separat când același buget aduce zece ori mai mulți utilizatori în spaniolă. Româna nu e ignorată din rea-voință. E ignorată fiindcă nu se face.
Consecința practică o vede oricine a încercat: un agent vocal care înțelege engleza perfect se împiedică de „douăzeci și trei de mii patru sute optzeci de lei", taie omul la mijlocul frazei fiindcă n-a înțeles intonația, și scrie „tara" acolo unde omul a spus „țara".
Tot ce e bun în vocea artificială azi rulează în cloud. Asta înseamnă că vocea clientului tău pleacă de pe serverul tău — la un furnizor, în altă țară, sub alt regim juridic. Pentru un magazin online e o formalitate. Pentru un cabinet medical, un birou de avocatură sau o instituție publică, e chiar motivul pentru care nu se poate.
Asta nu e o caracteristică pe o listă. E poziția din care se construiește tot restul.
Recunoașterea vorbirii și sinteza vocii rulează pe mașina ta. În configurația pe care am măsurat-o: sinteza pe procesor, recunoașterea pe GPU-ul integrat al unui Mac M3 Max, fără placă dedicată. Peste graniță, spre modelul de limbaj, trece text. Niciodată sunet. Iar dacă ai hardware să ții și modelul de limbaj local, nu iese absolut nimic.
Consecințele care contează:
Grai nu e un model antrenat de la zero, și n-am pretins niciodată că e. Recunoașterea e împrumutată. Sinteza e împrumutată. Modelul de limbaj e al altcuiva. Toate trei se pot înlocui într-o zi de lucru — și le-am și înlocuit, de mai multe ori.
Ce e al nostru e ce se întâmplă între ele. Iar asta e și partea pe care nu o poți cumpăra, fiindcă nu se vinde separat:
Aproape toți agenții vocali folosesc un cronometru: după atâtea milisecunde de liniște, presupun că ai terminat. E un cronometru, nu un detector — și taie oamenii la mijlocul frazei. Noi măsurăm panta intonației. Coboară ferm: ai încheiat. Rămâne sus: mai ai ceva de spus.
Sinteza merge mai repede decât redarea. Când îl întrerupi, în tampon rămâne sunet care n-a ajuns la urechea ta. Fără corecție, modelul crede că a spus tot — și data viitoare zice „v-am spus deja" despre ceva ce n-ai auzit niciodată.
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, rămâne întreruptibil. Dacă unealta întârzie peste conversație, rezultatul te așteaptă.
La aproape toți furnizorii, conversația e legată de sesiune. Închizi fila — se pierde. La noi agentul trăiește în afara conexiunii: supraviețuiește reîncărcării, deconectării și chiar repornirii serverului.
Modelul scrie „23480". Un om spune „douăzeci și trei de mii patru sute optzeci". Un număr de telefon se citește cifră cu cifră; o oră se citește ca oră. Trei reguli diferite, alese după context, în ambele sensuri.
Măsurăm pe undă ritmul, pauzele, energia și panta intonației, raportate la linia de bază a acelui om, nu absolut. E comportament vocal observabil, nu emoție. Analiza spectrală există în cod și e oprită implicit pe calea realtime.
Fiecare din cele de mai sus e o piesă de cod cu teste proprii. La 31 august 2026, sistemul avea 16.082 de linii, din care 4.112 erau teste. Arhitectura, în detaliu →
Cineva sună la un cabinet și spune: „Bună ziua, aș vrea să mă programez la doctorul Popescu pentru… stați puțin… pentru joi dacă se poate."
| Momentul | Un agent obișnuit | Grai |
|---|---|---|
| La „pentru…" | Liniștea depășește pragul fix. Presupune că ai terminat și începe să răspundă peste tine. | Intonația a rămas sus. Așteaptă. |
| La „stați puțin" | Tratează fragmentul ca întrebare nouă și răspunde la ce n-ai apucat să întrebi. | Recunoaște fraza neterminată și o lipește de continuare. |
| Verificarea agendei | Tace câteva secunde. Tăcerea într-o conversație vocală se simte ca o cădere. | Spune „verific imediat" și lucrează în paralel. Poți vorbi peste el. |
| Îl întrerupi | Se oprește, dar în istoric rămâne tot ce a generat. Mai târziu: „v-am spus deja". | Taie istoricul la câte milisecunde au ieșit efectiv din difuzor. |
| Confirmarea orei | „Ora zero nouă zero zero." | „Ora nouă." |
| Cade internetul | Conversația moare. O iei de la capăt. | Te reconectezi, continuă de unde a rămas. |
Niciunul din rândurile de mai sus nu ține de acuratețea recunoașterii — partea în care încă pierdem. Toate țin de stratul dintre modele, adică exact partea care e a noastră.
Cabinete medicale, avocatură, instituții publice, contabilitate. Nu e o preferință tehnică — e condiția juridică de a putea folosi ceva. În Republica Moldova, vocea unei persoane identificabile e dată biometrică sub Legea 195/2024.
Centre de apel, linii de suport, screening. La mii de minute pe lună, diferența dintre „gratuit la rulare" și „0,40–1,20 $ pe oră" decide dacă proiectul există.
Nu ca opțiune într-un meniu, ci ca limbă în care se poartă toată conversația — cu diacritice, cu cifre rostite corect, cu accent moldovenesc, și cu rusa alături, comutabilă în timpul aceleiași convorbiri.
Stratul dintre modele e un avans de câteva luni. Cineva îl poate reconstrui. Ce nu se reconstruiește ușor e datele.
Româna vorbită, înregistrată, cu drepturi curate, e resursa rară. Cel mai mare corpus curat care există e sub o licență care interzice până și derivatele. Al doilea ca mărime e necomercial. Ce rămâne cu licență comercială curată: ~173 de ore transcrise de oameni, plus ~12.400 de ore pseudo-etichetate automat (Granary) — pentru o limbă întreagă.
De aceea planul nu e „mai multe funcții". E, în ordinea asta:
Un model românesc deschis (SpeD, UPB) face offline 6,70% pe aceleași 200 de enunțuri FLEURS pe care noi facem 26,15% în flux. Planul: îl distilăm într-un elev mic care merge în flux. Costul îl scriem după primele rulări.
Modelul de referință are 23 de limbi și nu are româna, iar autorii nu mai adaugă limbi. Am fi primii.
Sinteza de azi (Supertonic) a fost arhivată upstream pe 23 iulie 2026; vocea proprie pornește de la o bază cu licență Apache. Aici avem nevoie de ajutor — căutăm înregistrări în română.
Ordinea nu e după impact, ci după cum fiecare pas îl ieftinește pe următorul. Detectorul de tură depinde de recunoaștere: verificarea că o tăietură cade la graniță de cuvânt se face transcriind bucata. Cu recunoaștere slabă, am construi setul de tură cu rigla strâmbă.
Regula asta e mai mult decât igienă. Într-un domeniu unde toată lumea publică „sub 300 ms" fără să spună de unde pornește cronometrul, a fi verificabil e o poziție comercială, nu doar una morală. Studiul despre cum se măsoară →
Toate măsurătorile, cu metodologia și comenzile de reproducere.