AI / Desktop

Transcribe

O aplicație desktop pentru înregistrarea și transcrierea locală a conversațiilor de lucru, cu Whisper pe dispozitiv. Fișierele audio rămân pe dispozitiv. Rezumatele și conversațiile bazate pe transcrieri folosesc modele locale sau furnizori externi, în funcție de modul ales; procesarea externă trimite conținutul transcrierii către furnizor.

Context

Ședințele, interviurile și apelurile cu clienții conțin decizii pe care nu le notează nimeni. Transcrierea în cloud trimite înregistrările către un furnizor, ceea ce poate să nu corespundă cerințelor de confidențialitate ale conversației. Transcribe păstrează procesarea audio locală și oferă transcriere în română. Modul de rezumare necesită o decizie separată privind datele, deoarece un furnizor extern poate primi conținutul transcrierii.

Problema de inginerie este fiabilitatea pe un laptop, nu scalarea în cloud: o înregistrare trebuie să supraviețuiască unei blocări a browserului sau închiderii capacului, modelul de recunoaștere vocală trebuie să ruleze indiferent de GPU-ul calculatorului, iar stratul de rezumare trebuie să trateze transcrierea ca pe o sursă de date neverificate.

Ce am construit

Aplicația acoperă înregistrarea live locală, transcrierea în lot a fișierelor existente și căutarea în înregistrări. Rezumatele structurate pot rula prin modele locale sau furnizori externi.

  • Motor de recunoaștere vocală independent de backend — o singură interfață alege automat backend-ul Whisper pentru Apple Metal, CUDA sau CPU, cu fallback, astfel încât aceeași bază de cod poate fi livrată pe Mac și Windows fără ramuri separate.
  • Înregistrare live rezistentă la blocări — fișierul audio este jurnalizat în fragmente numerotate, idempotente și scrise cu fsync, cu heartbeat și un manifest persistent; fragmentele salvate pot fi recuperate după o blocare sau o întrerupere cauzată de repaus, iar joburile întrerupte se reiau la pornire.
  • Transcriere în două treceri — o trecere live rapidă afișează frazele pe măsură ce vorbești și este calibrată pentru a limita deriva, în timp ce transcrierea salvată este obținută prin procesarea separată, la calitate maximă, a întregii înregistrări audio, cu detecția activității vocale și praguri de detectare a halucinațiilor.
  • Rezumate în sandbox — rezumatele structurate (titlu, puncte-cheie, decizii și acțiuni) și conversațiile bazate pe transcrieri rulează fie pe modele locale, fie prin CLI-urile furnizorilor, într-un mediu izolat (sandbox) read-only cu uneltele dezactivate, deoarece textul transcris este o sursă de date neverificate. Când este folosit un furnizor extern, conținutul transcrierii îi este trimis; sandbox-ul limitează accesul la unelte, nu procesarea prin rețea.
  • Limite care produc erori vizibile — aplicația refuză prompturile care depășesc fereastra de context a unui model local, în loc să lase modelul să omită instrucțiuni fără avertisment și să producă un rezumat convingător, dar greșit.

Stack

Python cu Flask care ascultă doar pe localhost, Whisper prin mlx-whisper sau faster-whisper, ffmpeg pentru decodare, reducerea zgomotului și normalizarea volumului, modele locale prin Ollama sau CLI-urile Claude și Codex pentru rezumate, o interfață JavaScript fără dependențe și fișiere JSON persistente, alături de fișierele audio de pe disc, în locul unei baze de date. Aplicația este împachetată pentru macOS și Windows. Suita de teste offline folosește injectarea de erori (stare coruptă, scrieri eșuate și operațiuni de finalizare concurente) și contracte statice pentru accesibilitate și paritatea traducerilor.

Status

Produs intern. Este disponibil într-o versiune privată, la cerere; aceeași abordare se aplică oricărui flux în care fișierele audio nu pot părăsi sediul.

Ai ceva care merită construit?

Începe un proiect→