Text-to-speech local în 2026: calitate, cost și confidențialitate
TTS-ul din cloud taxează pe caracter și îți trimite textul afară. Modelele locale au ajuns destul de bune pentru narare, așa că alegerea reală e între hardware, calitate și comoditate. Comparăm F5-TTS, GPT-SoVITS, XTTS, Piper și Kokoro și testăm ce cere româna de fapt.

Un serviciu de text-to-speech din cloud taxează pe caracter și primește textul tău pe serverele lui. Un model local te taxează o dată, în hardware, iar textul nu pleacă niciodată de pe calculator. Ani la rând schimbul a fost simplu: vocile locale sunau sintetic, așa că cine ținea la calitate plătea cloudul. Pentru narare, lucrul acesta nu mai e adevărat. Un model deschis cu un clip de referință bun citește un paragraf destul de bine pentru un podcast, iar ce rămâne ține de hardware, de configurare și de limbă.
Avem un post local de TTS, VoiceSynth Studio, deci subiectul ne interesează practic. Iată ce familii merită rulate, cât costă și unde se strică lucrurile la română.
Ce se schimbă când modelul rulează local
Prețul din cloud crește liniar cu numărul de caractere. E comod la un articol pe lună și dureros la patruzeci de ore de audio pentru un curs, pentru că factura crește la fiecare revizie. Prețul local este o treaptă: un GPU, sau un CPU dacă accepți să aștepți, apoi un cost marginal aproape zero. Plătești treapta indiferent dacă o folosești, iar defecțiunile rămân ale tale.
Confidențialitatea se schimbă și ea. La un serviciu din cloud întrebarea este ce face furnizorul cu textul tău. Documentația OpenAI despre datele din API spune că datele trimise prin API nu sunt folosite pentru antrenare fără acord explicit și listează endpointul de voce cu treizeci de zile de păstrare pentru monitorizarea abuzurilor și cu eligibilitate pentru retenție zero. Alți furnizori au alți termeni; citește-i pentru planul tău. „Cloudul îți păstrează textul” e o scurtătură, nu o regulă universală.
Cu un model local întrebarea dispare. Dacă ponderile sunt deja pe disc, rețeaua poate fi oprită. Asta contează pentru materiale sub NDA și pentru text medical sau juridic.
Familiile pe care le poți rula cu adevărat
Toate opțiunile de mai jos sunt ponderi deschise pe care le rulezi singur. Diferă prin arhitectură, licență și acoperire lingvistică, iar licența elimină adesea o variantă înainte să o facă quality-ul.
F5-TTS
F5-TTS este un transformer de difuzie cu flow matching, antrenat pentru clonare zero-shot dintr-un clip de referință, și este modelul pe care îl folosim cel mai mult. Codul este MIT, dar ponderile publicate sunt CC-BY-NC, deci un produs comercial are nevoie de permisiune sau de alt checkpoint. Checkpointul v1 base are 1,35 GB. Generarea se oprește la circa treizeci de secunde pe apel, inclusiv promptul, iar documentația de inferență cere o referință sub douăsprezece secunde, cu o secundă de liniște la final. Pe un L20, depozitul raportează un RTF de 0,1467 în PyTorch, adică un minut de vorbire în aproximativ nouă secunde.
GPT-SoVITS
GPT-SoVITS are licență MIT și este construit în jurul datelor puține: cinci secunde pentru zero-shot, circa un minut pentru un fine-tune. Limbile lui sunt chineza, engleza, japoneza, coreeana și cantoneza. README-ul raportează RTF 0,028 pe un 4060 Ti și 0,526 pe un CPU M4 și livrează o interfață web pentru tăiere, denoizare, ASR și corectarea transcrierilor înainte de antrenare. Dacă limba ta e în listă, este rapid și flexibil. Româna nu e în listă.
XTTS v2
XTTS v2 clonează din șase secunde și acoperă șaptesprezece limbi. Româna nu este una dintre ele. Ponderile folosesc Coqui Public Model License, care nu e permisivă, iar fișierul principal are 1,87 GB. Încă funcționează, dar pentru un proiect nou am începe în altă parte, dacă licența și limba nu se potrivesc exact.
Piper
Piper este celălalt capăt: un model VITS mic, exportat în ONNX, cu espeak-ng făcând fonemizarea după reguli. Motorul are licență GPL-3.0. Vocea românească, ro_RO-mihai-medium, este un fișier ONNX de 63 MB la 22.050 Hz, antrenat pornind de la o voce engleză de calitate medie. Piper rulează lejer pe CPU, potrivit pentru loturi lungi, dispozitive încorporate și hardware offline. Compromisul este expresivitatea: clar, previzibil, mai aproape de un cititor de ecran bun decât de o persoană.
Kokoro și Chatterbox
Kokoro are 82 de milioane de parametri, licență Apache-2.0 și opt limbi, toate mari. Chatterbox, de la Resemble AI, are 0,5B, licență MIT, 23 de limbi și controale de emoție. Niciunul dintre ele nu listează româna, iar ambele arată ce poate un model mic și permisiv în engleză.
Cât costă în memorie și timp
Orice cifră de VRAM este un prag minim. F5-TTS încarcă checkpointul de 1,35 GB, plus un vocoder și encoderul de text, iar clipul de referință adaugă memorie pentru activări. Un card de 6 până la 8 GB e confortabil. O transcriere goală face modelul să ruleze ASR pe clip, ceea ce consumă memorie GPU suplimentară. Unealta noastră indică 1,5 GB ca minim pentru încărcarea F5-TTS, nu cantitatea cu care vrei să îl rulezi.
CPU-ul e posibil și de obicei dezamăgitor pentru difuzie. Piper e excepția, construit pentru asta. GPT-SoVITS pe un CPU M4 raportează RTF 0,526, deci zece minute de audio durează cam cinci, bun pentru un lot de peste noapte, nu pentru lucru interactiv. F5-TTS pe CPU e prea lent ca să îl livrăm așa.
Toate cifrele RTF de aici sunt măsurate pe clipuri scurte, cu modelele deja încărcate. Prima cerere plătește compilarea și alocarea memoriei, iar textul lung plătește overheadul de segmentare. Cronometrează materialul tău.
Prima rulare nu este offline
Un flux local tot descarcă ceva la prima utilizare. F5-TTS trage 1,35 GB plus un vocoder, vocea românească din Piper are 63 MB, iar depozitul XTTS v2 are 2,09 GB. Descărcarea se face o dată, într-un cache, apoi modelul se încarcă de pe disc. Pentru un calculator izolat, copiază cache-ul înainte și testează offline. Local descrie starea de regim, nu prima lansare.
Text lung: segmente, suprapunere, crossfade
Modelele de difuzie generează într-o fereastră limitată. F5-TTS se oprește la circa treizeci de secunde, inclusiv promptul, așa că un capitol de douăzeci de minute devine zeci de apeluri. La îmbinări se strică de obicei calitatea.
- Taie la granițe de propoziție, nu la un număr de caractere. O tăietură la mijlocul propoziției produce o intonație greșită pe care niciun crossfade nu o repară.
- Unește propozițiile foarte scurte cu următoarea. Trei cuvinte dau prea puțin context pentru accentul corect.
- Suprapune segmentele cu 50 până la 100 ms și aplică un crossfade cu putere egală. O tăietură dură lasă un clic și când ambele părți sunt curate.
- Nu face crossfade peste o pauză. Dacă propoziția se termină cu punct, păstrează liniștea și îmbină în interiorul ei.
- Aplică un singur câștig de sonoritate pe fișierul final. Normalizarea pe segment pompează nivelul la fiecare îmbinare.
- Păstrează o sămânță fixă cât reglezi, pentru că alta schimbă interpretarea și orice comparație.
Ține textul fiecărui segment lângă audio, ca o îmbinare proastă să coste un singur segment.
Clipul de referință hotărăște vocea
Clonarea zero-shot este la fel de bună ca clipul. F5-TTS cere sub douăsprezece secunde, cu o secundă de liniște la final, și o transcriere care se potrivește cuvânt cu cuvânt. Dacă transcrierea are o greșeală, modelul învață greșeala. GPT-SoVITS pornește de la circa cinci secunde, XTTS de la șase. Mai scurt nu înseamnă mai bine: un clip cu o propoziție întreagă și o pauză naturală are mai multă prozodie decât trei secunde de salut.
Înregistrează în limba în care vei sintetiza. O referință românească citită de un vorbitor bilingv păstrează ritmul englezesc dacă textul a fost în engleză. Un singur vorbitor, fără muzică, ecou sau distorsiuni. Păstrează fișierul brut și transcrierea.
Consimțământul nu este opțional. O voce clonată este dată personală în UE, iar „era public pe YouTube” nu este o licență. Obține permisiune scrisă care numește scopul, durata și dreptul de retragere.
Româna este partea pe care trebuie să o testezi
Aici se decide proiectul. Majoritatea modelelor populare au fost antrenate pe engleză și chineză, iar româna este fie absentă, fie slab reprezentată.
- Checkpointul de bază F5-TTS este un model englez și chinez, antrenat pe date care includ Emilia. Din cutie nu citește românește.
- XTTS v2 listează șaptesprezece limbi, GPT-SoVITS cinci, iar româna nu e între ele. Nici Kokoro și Chatterbox nu o listează.
- Piper are română. Vocea mihai folosește regulile românești din espeak-ng, deci diacriticele sunt pronunțate după reguli, nu învățate. De aceea e previzibilă și sună plat.
- Există fine-tune-uri F5-TTS de comunitate. F5-TTS-Romanian a fost antrenat pe circa 1,3 ore de Common Voice românesc, sub Apache-2.0, iar autorul spune că quality-ul e sub original. Un fine-tune mic e un punct de plecare, nu un produs.
Diacriticele sunt primul eșec. Româna folosește ș și ț cu virgulă dedesubt, iar mult text folosește formele cu sedilă sau renunță la diacritice. Un model antrenat așa citește „sa” în loc de „să” și „cite” în loc de „câte”. Normalizează intrarea la caracterele corecte și păstrează-le.
Accentul este al doilea eșec. Româna nu îl marchează, iar unele cuvinte se scriu la fel cu accent și sens diferit. Copii poate însemna copiii sau copiile. Veselă poate însemna vasele sau fericită. Numerele, abrevierile și împrumuturile sunt al treilea: „2026”, „UE”, „online” și „target” cer fiecare o decizie.
Construiește zece propoziții de test înainte să te angajezi: fiecare diacritic, o întrebare, o exclamație, o virgulă zecimală, un acronim, un nume cu terminație românească, un împrumut. Ascultă-le pe toate, apoi din nou a doua zi, pentru că prima trecere te face să auzi ce te aștepți. Nu am valida o voce românească pe baza unei fișe de model sau a unui clip de prezentare.
Când câștigă totuși cloudul
- Ai nevoie de multe voci. Treizeci de limbi și două sute de vorbitori este o problemă de produs, nu de model.
- Nu ai GPU și nu vrei să închiriezi unul.
- Ai nevoie de latență strictă, de exemplu un agent live care răspunde în sub o secundă.
- Ai nevoie de un contract. Achizițiile cer un SLA, un acord de prelucrare a datelor și un om pe care să îl suni.
- Volumul e mic și textul nu e sensibil. Zece pagini pe lună costă mai puțin decât curentul și după-amiaza ta.
Cloudul e și primul test potrivit. Generează aceleași zece propoziții în ambele locuri înainte să cumperi un GPU. Un preț pe caracter e ușor de înțeles, de aceea supraviețuiește chiar când aritmetica favorizează varianta locală.
Unde se leagă VoiceSynth Studio
VoiceSynth Studio este postul nostru local de TTS, la tts.danubelabs.net. Pune o linie de comandă, o interfață desktop, referințe de voce, profiluri și cozi de procesare în fața modelelor deschise, fără conturi, fără chei API și fără încărcări de audio. F5-TTS este backendul implicit și cel mai complet. Celelalte backenduri din listă sunt schele: unul cere un pachet extern pe care aplicația nu îl livrează, altul nu are niciun motor de inferență conectat. Preferăm să spunem asta direct decât să sugerăm un meniu de motoare care funcționează azi.
Cum am decide noi
Rulează verificările în ordinea asta. Licența prima, pentru că un checkpoint necomercial închide discuția pentru munca de client. Limba a doua, pe propozițiile tale. Hardware-ul al treilea, pentru că un GPU de 6 până la 8 GB ajunge pentru o voce odată, iar un CPU ajunge pentru Piper. Volumul ultimul, pentru că el decide doar dacă hardware-ul se amortizează.
Pentru narare cu una sau două voci, local este acum o alegere rezonabilă. Dacă vinzi vocea ca funcție pentru mulți clienți, cloudul are încă povestea mai bună. Majoritatea echipelor ajung să le folosească pe amândouă.
Pentru problema inversă, vezi ghidul nostru despre transcrierea locală cu Whisper. Dacă vrei ajutor la rularea unui flux vocal local, vezi sisteme AI sau programează un apel introductiv gratuit.
Întrebări frecvente
- Pot rula text-to-speech local fără GPU?
- Da, dacă alegi un model mic. Piper este construit pentru inferență pe CPU, iar vocea românească este un fișier ONNX de 63 MB, deci rulează pe un laptop obișnuit. Modelele de difuzie precum F5-TTS sunt practice pe un GPU cu 6 până la 8 GB de memorie și suficient de lente pe CPU încât să nu le livrăm așa.
- Ce model local de TTS suportă româna?
- Piper are o voce românească oficială, ro_RO-mihai-medium, care folosește regulile românești din espeak-ng. F5-TTS nu livrează româna în checkpointul de bază, dar există fine-tune-uri din comunitate, inclusiv unul antrenat pe circa 1,3 ore de Common Voice românesc. XTTS v2, GPT-SoVITS, Kokoro și Chatterbox nu listează româna printre limbi.
- Text-to-speech local este chiar gratuit?
- Nu chiar. Plătești hardware-ul și curentul, iar licența decide ce poți face cu rezultatul. Codul F5-TTS este MIT, dar ponderile publicate sunt CC-BY-NC, motorul Piper este GPL-3.0, iar XTTS v2 folosește Coqui Public Model License. Verifică licența checkpointului exact înainte să construiești un produs comercial pe el.
- De ce sună prost îmbinările dintre segmentele audio?
- Pentru că modelul generează într-o fereastră limitată, adesea de circa treizeci de secunde, iar o tăietură la mijlocul propoziției dă intonația greșită. Taie la granițe de propoziție, suprapune segmentele cu 50 până la 100 ms, aplică un crossfade cu putere egală într-o pauză naturală și normalizează sonoritatea o singură dată pe fișierul final, nu pe fiecare segment.
- Cât de lung trebuie să fie clipul de referință pentru voce?
- F5-TTS cere sub douăsprezece secunde, cu aproximativ o secundă de liniște la final, și o transcriere care se potrivește exact cu sunetul. GPT-SoVITS folosește circa cinci secunde pentru zero-shot, iar XTTS v2 șase. Înregistrează un singur vorbitor, fără muzică sau ecou, în aceeași limbă în care vei sintetiza.
- Când ar trebui să folosesc totuși un serviciu TTS din cloud?
- Când ai nevoie de multe voci sau limbi, când nu ai GPU și nu vrei unul, când latența este strictă sau când achizițiile cer un SLA, un acord de prelucrare a datelor și suport de la furnizor. Textul cu volum mic și nesensibil este adesea mai ieftin pe caracter decât să deții hardware-ul.


