Home Blog Portfolio Biografia Contatti
Qwibo – Trascrizione Audio e Video Offline per Windows

“Qwibo nasce da un’esigenza semplice: hai una registrazione e vuoi il testo senza caricarla su un servizio cloud né pagare al minuto. Scarichi l’installer, fai il setup una volta, e trascrizione e sottotitoli restano sul tuo PC.”

Qwibo è un’app desktop Windows per la trascrizione automatica di audio e video in italiano, progettata per l’utente finale: niente Python da installare, niente terminale, niente Docker. Trasforma riunioni, podcast, interviste e lezioni in testo cercabile e sottotitoli SRT, con riassunti LLM opzionali — senza upload obbligatori, senza abbonamenti, senza costi al minuto.

Il progetto nasce da un’esigenza concreta e diffusa: chiunque lavori con l’audio — consulenti che vivono di call, creator che pubblicano ogni settimana, giornalisti che devono citare con precisione, studenti che ripassano da lezioni lunghe — si scontra con lo stesso collo di bottiglia. La registrazione ce l’hai già; quello che manca è il testo, e il tempo per ricavarlo a mano.

Le soluzioni cloud esistono (Otter, servizi a pagamento al minuto, trascrizione delle piattaforme di videoconferenza), ma condividono due limiti fondamentali: costano in proporzione ai minuti e richiedono di caricare i file su server di terzi. Per chi tratta call con clienti, interviste non pubblicate o contenuti riservati, questo secondo punto non è un dettaglio: è un vincolo di privacy che spesso rende quelle soluzioni semplicemente non utilizzabili.

Qwibo risolve il problema alla radice: la trascrizione gira sul tuo PC, i file restano tuoi dall’inizio alla fine, e per uso personale è gratuito.


Il Prodotto: App Desktop Electron (retail)

La punta di diamante del progetto è l’installer Windows Qwibo-Setup-*.exe:

  1. Doppio click → installazione guidata → l’app si apre
  2. Setup iniziale (~4–5 GB, una sola volta): modello vocale Parakeet + opzionale Qwen locale se RAM ≥ 16 GB
  3. Uso quotidiano: carica file, attendi, scarica trascrizione e SRT

L’utente non vede Python, ffmpeg o configurazioni di rete. Electron avvia un backend Python embedded in background; l’interfaccia è la stessa pipeline FastAPI + HTMX già collaudata in sviluppo, ma incapsulata in una finestra desktop con tray icon e log diagnostici.

Cosa include l’installer

Componente Dettaglio
Runtime Python standalone + venv con torch, NeMo, FastAPI
Media ffmpeg statico bundled
Backend Codice qwibo sincronizzato in backend/vendor/
UI Electron + finestra nativa, backend su 127.0.0.1
Dati utente %APPDATA%\qwibo-desktop\ (modelli, job, log)

Sfide tecniche affrontate (Electron)

  • Runtime relocatable su hardware consumer senza AVX (mini PC, CPU baseline)
  • llama-cpp-python compilato MinGW baseline per evitare crash 0xC000001D su CPU senza AVX
  • Cache scrivibili (numba, matplotlib) — Program Files è read-only su Windows
  • Worker separato dal processo web: NeMo non gira dentro uvicorn
  • Wizard modelli al primo avvio, senza download durante la prima trascrizione
  • NSIS installer ~2–3 GB (normale per ASR locale offline)

Il Problema: Perché Trascrivere Bene l’Italiano È Difficile

1. Il parlato reale non è pulito

Le riunioni hanno voci sovrapposte, interruzioni, ritmo informale, microfoni mediocri e rumore di fondo. Serve un modello robusto al parlato spontaneo.

2. L’italiano è cittadino di seconda classe

La maggior parte dei modelli ASR ottimizza sull’inglese. Qwibo adotta NeMo Parakeet TDT 0.6B v3 con forte focus sul parlato italiano.

3. I file lunghi non devono bloccare la giornata

L’elaborazione procede in background: carichi, chiudi la finestra (l’app resta in tray), torni quando il risultato è pronto.

4. Privacy come requisito, non come opzione

La trascrizione locale non è un’ottimizzazione: è la precondizione all’adozione per contenuti sensibili.


La Soluzione: Come Funziona

Step 1 — Installazione e setup

Scarica l’installer, completa il wizard modelli (una volta). Nessun account obbligatorio per il primo risultato.

Step 2 — Upload

Trascina un file (MP4, MKV, WAV, MP3, …) nell’app. Nessuna conversione manuale.

Step 3 — Trascrizione (in background)

Parakeet elabora in locale. Job asincrono con progresso live nella pagina dettaglio.

Step 4 — Download

Testo completo + sottotitoli SRT. Opzionale: riassunto LLM (cloud o Qwen locale).


Stack Tecnologico

Componente Tecnologia Ruolo
Desktop shell Electron 33 + NSIS Installer retail, tray, avvio backend
ASR NVIDIA NeMo Parakeet (TDT 0.6B v3) Trascrizione speech-to-text in italiano
Web UI FastAPI + HTMX Upload, coda job, download risultati
Riassunti LLM DeepSeek · OpenAI · Claude · Gemini · Kimi · Qwen locale Sintesi opt-in
Media ffmpeg (bundled) Estrazione e normalizzazione audio
CLI qwibo (Python, dev/Docker) Automazione e self-hosted
Self-hosted Docker (qwibo-docker) Deploy su mini PC / NAS Linux

Architettura desktop

┌─────────────────────────────────────────────────────────────┐
│  Qwibo Desktop (Electron)                                    │
│                                                              │
│  Installer ──► Electron ──► Python embedded (entrypoint)     │
│                    │              │                          │
│                    │              ├── uvicorn (FastAPI UI)   │
│                    │              └── worker (NeMo ASR)      │
│                    │                                         │
│                    └── %APPDATA%\qwibo-desktop\              │
│                         models · data · logs                 │
└─────────────────────────────────────────────────────────────┘
  • Coda job: stati tracciati (queued, running, completed, failed)
  • Worker in background: elaborazione non blocca l’interfaccia
  • Storico consultabile: lista job e pagina dettaglio per singolo file
  • Output multipli: TXT, SRT, riassunto opzionale

Competenze Dimostrate

Product Engineering (retail desktop)

Portare una pipeline AI da prototipo Python/Docker a installer Windows one-click per utenti non tecnici. Packaging di runtime pesante (torch, NeMo), gestione modelli al primo avvio, UX tray + log diagnostici.

AI Engineering / ASR

Integrazione NeMo Parakeet in pipeline locale, qualità sul parlato italiano reale, file lunghi con chunking. LLM multi-provider per sintesi (cloud + Qwen locale CPU).

Architettura Software

Pipeline a job asincroni con stati deterministici, worker subprocess separato dalla UI, disaccoppiamento ingestion / elaborazione / output.

DevOps e Packaging

Build installer con electron-builder, runtime verification (no AVX), sync backend vendor, repo separati (qwibo, qwibo-docker, qwibo.github.io). Documentazione MkDocs bilingue.

Privacy-by-Design

Trascrizione interamente on-device. La privacy è requisito di prodotto, non feature accessoria.


Modello di Licenza

Qwibo è gratuito per uso personale e non commerciale. Per uso aziendale/commerciale è prevista licenza dedicata. Nessuna bolletta cloud per la trascrizione: il costo è spazio disco e tempo di elaborazione sul proprio hardware.


🚀 Perché Questo Progetto Mi Interessava

Qwibo sta all’incrocio di tre temi stimolanti: esecuzione locale di modelli AI su hardware consumer, packaging retail di software AI complesso, e traduzione di un problema quotidiano in un prodotto che un non-tecnico può installare stasera.

La sfida interessante non è solo “far girare un modello ASR” — è portarlo su mini PC Windows senza GPU, compilare dipendenze native in modo relocatable, e consegnare un flusso carica → aspetta → scarica senza che l’utente tocchi un terminale.


Specifiche Tecniche

  • Desktop: Electron + Python embedded + NSIS installer
  • Linguaggio: Python 3.12+
  • ASR: NVIDIA NeMo Parakeet (TDT 0.6B v3)
  • Web / API: FastAPI + HTMX (in finestra Electron)
  • Riassunti LLM: DeepSeek / OpenAI / Claude / Gemini / Kimi / Qwen locale (opt-in)
  • Output: TXT, SRT, riassunto opzionale
  • Deploy: Windows installer (retail) · Docker self-hosted (repo separato)
  • Documentazione: MkDocs bilingue EN + IT
  • Licenza: gratuita per uso personale · commerciale su licenza dedicata

🌐 Sito ufficiale: qwibo.github.io

📚 Documentazione: qwibo.github.io/docs

💻 Codice sorgente: github.com/qwibo/qwibo

🐳 Docker self-hosted: github.com/qwibo/qwibo-docker

📩 Vuoi trascrivere i tuoi file in locale? Contattami

La Mia Filosofia

Non solo codice, ma ecosistemi.

L'obiettivo non è fornire semplice software, ma restituire sovranità. Unisco la robustezza di Linux e Docker con l'intelligenza degli agenti AI per creare piattaforme che scalano con il tuo business, senza vendor lock-in.

  • Sovranità dei Dati

    I tuoi dati rimangono tuoi. Infrastrutture self-hosted e sicure.

  • Automazione Cognitiva

    Agenti AI che non solo rispondono, ma agiscono ed eseguono task complessi.

  • Architetture Modulari

    Sistemi basati su Docker che crescono e si adattano senza rompersi.

Antonio Trento al lavoro

"La tecnologia deve essere un acceleratore, non un freno."

- Antonio Trento

Quali servizi offri in ambito integrazione sistemi?
Progetto e realizzo integrazioni tra ERP, CRM, database e servizi cloud, garantendo flussi dati sincroni e automazione dei processi per un’infrastruttura IT senza interruzioni.
Posso avere un’app personalizzata per il mio business?
Sviluppo applicazioni web e mobile su misura, dal front-end user-friendly al back-end scalabile, utilizzando tecnologie moderne come React, Node.js e API REST.
Offrite soluzioni di automazione dei workflow?
Sì: con strumenti come n8n e script in Python creo workflow automatici per ridurre attività ripetitive, inviare notifiche e generare report in tempo reale.
Come sfruttate n8n per potenziare i miei processi?
Con n8n disegno automazioni drag-and-drop che orchestrano API, database, chat e-mail: risparmi tempo e abbatti gli errori manuali, monto tutto su Docker per un deployment istantaneo.
Utilizzate tecnologie container per il deployment?
Assolutamente: grazie a Docker e Kubernetes impacchetto le tue applicazioni in container isolati, semplificando rollout, scaling e manutenzione.
Sviluppate progetti di intelligenza artificiale?
Implemento modelli di machine learning e AI con Python, TensorFlow e servizi cloud (AWS/GCP), per analisi predittive, classificazione dati e chatbot intelligenti.
Come posso integrare un assistente conversazionale AI?
Con LangChain creo pipeline di prompt personalizzati e memoria conversazionale che portano LLM come GPT in un vero strumento di business, collegandoli a CRM, database e interfacce custom.
Cosa è Langraph e come può aiutarmi?
Langraph è la mia soluzione per visualizzare e ottimizzare grafi di conoscenza: mappo entità e relazioni in modo intuitivo, migliorando le performance delle tue applicazioni AI-driven.
Come gestite la parte database?
Progetto e ottimizzo database MySQL e PostgreSQL, curando schema design, query performance e backup automatizzati per massima sicurezza e velocità.
Come posso richiedere un preventivo o una consulenza?
Contattami tramite il form qui o scrivi a info@antoniotrento.it per una consulenza gratuita e un’offerta personalizzata.