Studiu de caz · 2026
dubidu: filme dublate în română, în timp real, pentru copiii care nu citesc încă subtitrarea.
O extensie Chrome transformă subtitrarea din Netflix sau YouTube în voci românești, câte una pentru fiecare personaj. Muzica și efectele rămân ale filmului.
- Rol
- Fondator. Produs, design, cod, date
- Perioadă
- Octombrie 2026 - prezent
- Stare
- Beta. Lansare pe 1 decembrie 2026
- Platforme
- Extensie Chrome, web, server de voce
- 8 zile de lucru intens, de la v0.7 la v0.19
- 429 commit-uri în 3 repo-uri
- 237 teste automate pe backend
- 31 de limbi în motorul de voce
Cifrele vin din istoricul git al celor trei repo-uri și din cod, la 4 noiembrie 2026. Cele 8 zile sunt intervalul 28 octombrie - 4 noiembrie; primele versiuni le făcusem înainte.
01 · Problema
„Mami, ce zice?”
În România, filmele străine de pe platformele de streaming vin cu subtitrare. Un copil sub 8-9 ani nu citește destul de repede ca să țină pasul. Părintele are două variante: traduce tot filmul cu voce tare sau închide filmul după zece minute.
Am numărat. Din 244 de titluri Netflix pentru familie disponibile în România, 39% nu au pistă audio în română. Platformele dublează titlurile mari în limbile mari. Restul rămân doar cu subtitrare.
Sunt tată a doi băieți, așa că am privit problema și ca părinte.
02 · Ce face
Un buton pe video. Personajele vorbesc românește.
Părintele deschide filmul pe platforma pe care o plătește deja și apasă butonul dubidu. Replicile vin în română, fiecare personaj cu vocea lui, în timp ce muzica și efectele rămân cele originale.
03 · Drumul
Patru versiuni, trei schimbări de direcție.
Am început cu ChatGPT până la v0.7, apoi am continuat cu Claude Code. Fiecare experiment are un document cu data, rezultatul și limitele lui. Așa se vede de ce am renunțat la o idee, nu doar că am renunțat.
- v0.1 - v0.7
Traducere live, sunet în sunet
Prima variantă trimitea sunetul tabului la Gemini Live și reda traducerea. Am auzit română pe YouTube și Netflix, dar cu circa 3 secunde întârziere. Engleza se auzea pe dedesubt, iar când am coborât tot mixul a dispărut și muzica.
Merge, dar sună a interpret, nu a film.
- v0.8
Scoatem doar dialogul din mix
Un filtru audio în browser (STFT de 2048 de eșantioane, banda 150-7.000 Hz) scoate ce e în centrul stereo, unde stă de obicei vocea. Muzica și ambianța, care sunt late, rămân. Pe semnale de test vocea scade cu 20 dB, ambianța se schimbă cu 0,13 dB.
Muzica rămâne. Pe filme reale, testul se face la ureche.
- v0.14
Dublaj din subtitrări
Am schimbat abordarea. Subtitrarea în română există deja pe platformă și știm replicile dinainte. Un model de limbaj stabilește cine spune fiecare replică, iar fiecare personaj primește o voce. Pilotul pe Sintel a arătat 1,4-4,2 secunde de sinteză pe replică, așa că vocile se pregătesc cu 45 de secunde înainte.
Întârzierea dispare. Apar vocile pe personaje.
- v0.15 - v0.19
Motor de voce propriu: Dubnow
Am testat mai multe motoare de voce și le-am ales după ureche. Câștigătorul, un model deschis, a devenit Dubnow. Rulează pe procesoare obișnuite, așa că am mutat serverele de pe plăci video închiriate pe CPU.
Costul pe oră dublată scade la o fracțiune de cent (estimare).
04 · Arhitectura
Trei piese. Sunetul nu trece niciodată prin site.
Platforma web dă tichete și numără minutele. Sunetul circulă direct între extensie și serverul de voce, pe o conexiune WebSocket securizată. Dacă platforma web are o problemă, filmul care rulează nu se oprește.
05 · Componente
Ce am construit, piesă cu piesă.
Extensia Chrome
O bară discretă pe video, care apare la mișcarea mouse-ului, ca la Meet. Pornește dublajul, reglează separat vocea română și sunetul filmului, arată timpul rămas.
- Citește subtitrarea afișată și găsește singură pista în română
- Captează sunetul tabului și scoate 85% din dialogul original
- Redă replicile pe ceasul video-ului: pauză, derulare, viteză
- Setări în pagină, cu taburi; scurtătura Alt+Shift+D
- Ecran de consimțământ și pachet separat pentru Chrome Web Store
Platforma dubidu.net
Laravel 13 și PostgreSQL. Tot ce nu e sunet: conturi, plăți, catalog, conținut. Nu stă niciodată în drumul audio.
- Conturi de familie, dispozitive, istoric, recomandări
- Abonamente Stripe pe ore, facturi automate
- Contor de minute cu registru, ca într-o contabilitate
- Tichete de sesiune semnate Ed25519 pentru serverele de voce
- Catalog de filme, ghid pentru părinți, articole, ajutor
Dubnow, motorul de voce
Motorul nostru de voce, pornit de la un model open-weight. Sintetizează o secundă de vorbire în 0,35 secunde pe patru fire de procesor.
- 31 de limbi dintr-un singur model
- 72 de voci în paletă, distribuite pe personaje
- Rulează și în browser, prin WebGPU (0,20× timp real, măsurat pe un PC)
- Dubnow Studio: actorii înregistrează replici pentru voci noi
- Servere pornite la cerere, oprite când nu mai e nimeni
Panoul de administrare
Filament 5, cu 87 de fișiere de resurse și pagini. Aici se pregătesc filmele și se urmăresc costurile.
- Catalog cu stadiul fiecărui titlu
- Atribuirea replicilor pe personaje cu AI, apoi verificare umană
- Distribuirea vocilor: copiii nu primesc voci de adult
- Cereri de dublaj de la clienți, cu termen de 24 de ore
- Costul fiecărui apel la modele, la cursul BCE al zilei
06 · Catalogul
Fiecare film pregătit are o distribuție.
Pentru un film, un model de limbaj citește replicile și decide cine vorbește, ce vârstă și ce gen are personajul. Fiecare personaj primește o voce din paletă, iar o voce de copil nu ajunge la un adult. Adnotările rămân ciornă până le verifică un om.
Pagina fiecărui film spune dacă are deja dublaj pe platformă, câte replici și câte personaje are. Paginile sunt făcute pentru căutările părinților: „Epoca de gheață dublat în română”.
07 · Pentru părinți
Un ghid: ce film să vadă copilul în seara asta.
Părintele spune vârsta copilului, ce îi place și pe ce platforme are cont. Primește filmele potrivite, cu nota IMDb și cu informația dacă sunt deja în română. Răspunsurile nu se salvează în cont. Din aceleași date ies liste pe vârste și pe teme, pentru căutări.
08 · Motorul de voce
Aceeași scenă, în orice limbă, generată pe loc.
Dubnow are propriul studiu de caz, cu un demo în care scrii orice text. Pe pagina pentru investitori, vizitatorul alege o limbă. Serverul sintetizează fiecare replică din scena Sintel, iar pagina arată timpul măsurat chiar în browserul lui. Nimic nu e preînregistrat. Demo-ul arată că același produs poate intra în altă țară fără să schimbăm extensia, plățile sau serverele.
09 · Metrici
Ce am măsurat și ce am estimat.
Fiecare cifră are eticheta ei. Produsul nu e încă lansat, așa că nu există încă cifre de abonați sau de venit.
- 39% din 244 de titluri Netflix pentru familie verificate în România nu au audio în română măsurat
- 693 titluri în catalogul public, din care 376 pregătite pentru dublaj cu dubidu măsurat
- 536 / 19 replici și personaje cu voce proprie pentru Epoca de gheață măsurat
- 0,35× timp real pentru sinteză pe CPU: 1 secundă de vorbire în 0,35 secunde măsurat
- 20 de spectatori simultan pe un server cu 10 fire, niciunul în urmă test simulat
- −20 dB vocea din centru, pe semnale de test; ambianța rămâne aproape neatinsă măsurat
- 45 s replici pregătite înaintea momentului în care sunt rostite în cod
- ~3 s → 0 întârzierea vocii față de imagine: traducerea live față de replicile pregătite dinainte din design
- 93% marja de contribuție pe planul Start, după plăți și servere estimare
- 41,2 mil. copii de 3-9 ani în cele 25 de țări a căror limbă o vorbește Dubnow Eurostat
Cât cod
- 34
- modele de date
- 47
- migrații
- 35
- servicii în backend
- 87
- fișiere în panoul de admin
- 28
- fișiere de teste
- 77
- documente de analiză
10 · Modelul de business
Plătești cât te uiți.
Trei planuri pe ore de dublaj pe lună, de la 5,99 €, fără perioadă minimă. Prima oră e gratuită. Prețurile se citesc din panoul de administrare, așa că site-ul, contul și pagina pentru investitori arată mereu aceleași cifre.
Sinteza rulează pe procesoare obișnuite, nu pe plăci video. Asta face ca o oră dublată să coste foarte puțin. Pentru mine e cifra care contează cel mai mult în tot proiectul.
11 · Ce am învățat
Patru lucruri pe care le iau cu mine în următorul proiect.
Schimbă problema, nu doar soluția
La început am încercat să fac traducerea live mai rapidă. Subtitrarea în română exista deja. Odată ce am pornit de la ea, întârzierea a dispărut de tot.
Urechea decide, nu benchmark-ul
Am eliminat motoare de voce care arătau bine pe hârtie. Fiecare voce a trecut un test de ascultare înainte să ajungă în produs.
Scrie ce e măsurat și ce e estimat
Fiecare cifră din analize are o etichetă: măsurat, estimat, netestat. Pagina pentru investitori păstrează aceeași regulă.
Gândește de la început pentru mii de clienți
Serverele de voce nu țin stare și pot fi înlocuite oricând. Platforma web stă în afara drumului audio, iar minutele se țin într-un registru, ca banii.
12 · Ce urmează
Lansare pe 1 decembrie 2026.
- Voci de actori. Actori români înregistrează replici în Dubnow Studio, cu contract, ca vocile să fie ale noastre.
- Dubnow în browser. Sinteza pe placa video a utilizatorului, aproape fără cost de server.
- Alte browsere. Edge și Opera folosesc același motor ca Chrome, deci se pot adăuga ieftin. Firefox și Safari nu permit încă captura sunetului din tab.
- Alte țări. Bulgaria, Grecia, Ungaria, Polonia și alte țări unde filmele pentru copii vin tot cu subtitrare.
Limite pe care le spun deschis: dubidu depinde de subtitrarea pe care platforma o afișează în browser, iar în beta l-am testat doar pe Netflix și YouTube, în Chrome.
Ai o idee de produs pe care vrei s-o duci până la capăt?
Lucrez ca dezvoltator sau ca cofondator tehnic. Scrie-mi și vedem dacă se potrivește.