News & Blog

Whisper - Trascrizione di file audio e video... sbobiniamo la cassettina 30 anni dopo

Whisper - Trascrizione di file audio e video... sbobiniamo la cassettina 30 anni dopo

Mi chiama un caro amico e mi domanda se posso dargli un suggerimento per un software open source che gli permettesse di trascrivere una registrazione di una riunione su testo. 

Che bellezza..... un software open source e poi su PC Linux!!!! Perchè l'amico userà un notebook con Linux Mint, goduria....

Io: "Beh si non ce ne sono molti, ma ci si può lavorare! i risultati dipendono dal software e dalla qualità della registrazione quindi per prima cosa ti consiglio di dotarti di un buon sistema di registrazione, va bene anche il cellulare ma purchè collegato ad un buon microfono" 

Lui: "Ma con l'AI?" 

Partiamo....

 

Aggiornamento del 13/04/2026 - Repo GitHub

Potete scaricare WhisperGUI direttamente da questo mio Repositori GitHub: https://github.com/dado70/Whisper-GUI 

 

si, con l'AI perchè effettivamente per questo scopo mi sembra che Whisper di OpenAI (purtroppo) per questo scopo funzioni discretamente bene, 

Ovviamente quando si parla di AI si pensa subito alla potenza del computer che andremo ad utilizzare, ed in particolare alla GPU. Quindi in questo progetto, per non avere problemi, ho cercato di andare ad ottimizzare l'utilizzo per la CPU anche non proprio recenti. In fondo all'articolo metterò i benchmark sul mio Intel i5 8th Gen.

Cos'è OpenAI-Whisper

Il progetto Whisper di OpenAI (si, purtroppo è di loro), "è un sistema di riconoscimento vocale automatico (ASR) addestrato su 680.000 ore di dati multilingue e multitasking supervisionati, raccolti dal web. Dimostriamo che l'utilizzo di un set di dati così ampio e diversificato porta a una maggiore robustezza agli accenti, al rumore di fondo e al linguaggio tecnico. Inoltre, consente la trascrizione in più lingue, nonché la traduzione da tali lingue all'inglese. Stiamo rendendo open source modelli e codice di inferenza per fungere da base per la creazione di utili", questo è quanto riportato sul sito del progetto https://openai.com/index/whisper/ mentre il codice è disponibile su github qui:  https://github.com/openai/whisper 

Vibe Coding

Ebbene si, per fare questo progetto mi sono fatto aiutare dall'AI, e nello specifico ho deciso di farmi aiutare da Claude di Anthropic, paradossale che abbia utilizzato Anthropic su un progetto di OpenAI vero?! Comunque ho utilizzato Claude per controllare il Codice, per darmi suggerimenti, debuggare e correggermi errori. L'ho utilizzato anche per scrivermi la traccia di questa guida.

Utilizzo

All'unizio avevo semplicemente pensato di utilizzarlo da terminale, ma pensando che potrebbe andare in mano ad utilizzatori meno tecnici ho deciso di scrivere una UI. La base non è altro che un comdando Python passando le varie opzioni. L'interfaccia grafica (UI) non fa altro che proporre i menu di scelta. 

E' possibile caricare un file Audio o un Video, ffmpeg provvederà ad estrarre e normalizzare l'audio. 

E i file audio/video dove li trovo?

Questo è un aspetto diverso, lo aggiungo a questa guida più tardi, dico solo che i file possono essere: 

Fate solo attenzione ad avere i diritti per farlo e a rispettare il GDPR.

Partiamo!

Parte 1 — Installazione CLI (terminale)

Nei passi successivi do per scontato che si sappia quantomeno districarsi nell'interfaccia grafica di Linux e nel menù, che si sappia cos'è un terminale e come si eegue un comando dal terminale ... chiedo troppo? non credo dai...comunque, ciò che è preceduto da:

  • # è un commento
  • $ è un comando da compiare nel terminale

Step 1 — Software e dipendenze di sistema

Apriamo il terminale e digitiamo

$ apt update
$ sudo apt install python3 python3-pip python3-venv ffmpeg

il primo comando aggiorna i repository ed il secondo installa i pacchetti necessari: python e ffmpeg obbligatoria per decodificare i file audio

Step 2 — Creare e attivare il venv

Adesso dobbiamo creare l'ambiente virtuale per il progetto.

Cos’è un ambiente virtuale (venv)

Un ambiente virtuale è una directory che contiene:

  • una copia “privata” di Python
  • pip , il gestore dei pacchetti Python
  • tutte le librerie installate solo per quel progetto

Ciò che viene installato lì dentro non va a modificare l'installazione Python di sistema e quindi non rischia di creare conflitti con altri progetti. Con venv:

  • ogni progetto ha le sue versioni
  • puoi riprodurre l’ambiente identico su un altro computer
  • niente conflitti, niente sorprese

python bashcd ~/Documenti   # o dove preferisci

# adesso creo lo spazio venv di nome .spaziowhisper
$ python3 -m venv .spaziowhisper

adesso lo attivo
$ source .spaziowhisper/bin/activate

 

Step 3 — Installare Whisper

Adesso è il momento di installare whisper, il programma vero e proprio che gestirà la trascrizione. l'AI...come direbbero i più. Lo facciamo all'interno dello spazio virtuale utilizzando il comando pip (Python Package Index), il gestore di pacchetti standard per Python, utilizzato per installare, aggiornare e rimuovere librerie di terze parti dal repository PyPI . 

(whisper_env) dado@X390:~$ pip install --upgrade pip
(whisper_env) dado@X390:~$ pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
(whisper_env) dado@X390:~$ pip install openai-whisper

Dato che vogliamo utilizzare il programma anche su computer senza GPU, installiamo anche la vesione ottimizzato per CPU Intel

(whisper_env) dado@X390:~$ pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

Gia adesso saremo in grado di trascrivere il testo estraendolo dall'audio, da riga di comando come segue

Opzioni di comando

dal più veloce al più preciso per Intel 8th + 16GB, come il mio Intel(R) Core(TM) i5-8365U CPU @ 1.60GHz (thinkpad X390)

Profilo Comando Tempo/ora audio stimato RAM
⚡ Ultrarapido --model tiny --beam_size 1 ~2 min ~1 GB
⭐ Consigliato --model small --beam_size 1 ~8 min ~2 GB
🎯 Alta qualità --model medium --beam_size 1 ~25 min ~5 GB


Comando consigliato (miglior compromesso):

(whisper_env) dado@X390:~$ bashwhisper audio.mp3 \
  --model small \
  --language it \
  --device cpu \
  --fp16 False \
  --output_format txt \
  --output_dir . \
  --task transcribe \
  --beam_size 1 \
  --condition_on_previous_text True

L'output sarà audio.txt nella directory specificata.

potete scrivere tutto su un unica linea, ma per una miglior lettura utilizziamo il carattere \ per andare a capo 

Dove: 
--fp16 False → obbligatorio su CPU (evita crash)
--beam_size 1 → dimezza i tempi con minima perdita di qualità
--language it → evita il costoso auto-rilevamento della lingua

 

Per disattivare il venv quando abbiamo terminato il lavoro: 

(whisper_env) dado@X390:~$ deactivate

 


Parte 2 — GUI grafica

Pur essendo gia utilizzabile da command-line dentro il terminale, creare una GUI per renderlo maggiormente user-friendly mi è sembrato d'obbligo. L'interfaccia grafica, comunque da lanciare da command line permette di:

  • Caricare il file audio o video da trascrivere (sbobinare come termine mi piace sempre di più)
  • Scegliere la directory di output del file di testo contenente la trascrizione
  • Scegliere le varie opzioni (parametri) da passare al comando whisper (per default quelle sopra consigliate per CPU Intel 8th senza GPU: modello, lingua, formato, beam size, task)
  • Barra di avanzamento con stato in tempo reale
  • Log output completo con scroll automatico
  • Pulsante Interrompi che termina il processo in modo pulito

Per facilitare il tutto ho creato anche un file eseguibile che: 

  1. verifica la presenze e/o installa tutti i pacchetti neessari (da python in poi)
  2. installa whisper
  3. installa la gui

Download files

clicca qui per scaricare lo zip con i 2 file: 

  • install_whispergui.sh
  • whisper_gui.py

Il file e protetto da una password solo per ottenerla utilzza il form in fondo alla pagina.... mi serve solo per monitore quanti lo utilizzeranno

Note

Quando selezioni un file, la GUI riconosce automaticamente il tipo e mostra un badge colorato sotto il campo:

🎵 verde → file audio, trascrizione diretta
🎬 giallo → file video, estrazione automatica prima della trascrizione
🎬 rosso → file video ma ffmpeg non trovato (con istruzioni)

Per i video la pipeline è in due step visibili nel log:

  1. ffmpeg estrae l'audio in un .mp3 temporaneo (16kHz mono, ottimale per Whisper) salvato nella cartella di output
  2. Whisper trascrive quell'audio
  3. Il file .mp3 temporaneo viene cancellato automaticamente alla fine

Formati video supportati

Sono supportati i seguenti tipi di file video: mp4, mkv, avi, mov, webm, flv, ts, m2ts, wmv, 3gp, mpeg. 

 

Installazione GUI (Linux Mint)

Hai scaricato il file zip, richiesto la password e decompresso i due file: whisper_gui.py e install_whispergui.sh. Mettili nella stessa cartella e poi:

# Rendi eseguibile lo script
$ chmod +x install_whispergui.sh

# Lancia l'installazione
$ ./install_whispergui.sh

Lo script installerà tutto automaticamente: dipendenze di sistema, venv .spaziowhisper, PyTorch CPU e openai-whisper. Al termine trovi WhisperGUI nel menu applicazioni di Linux Mint  (ma non funziona :(  devo sistemarlo) quindi lancialo da terminale con il comando:

$ python3 ~/.local/share/whispergui/whisper_gui.py 

 

Versione windows

L'università di bologna ha creato una GUI per windows disponibiel qui https://whisper.ditlab.it/ 

 

Da sistemare

Il lanciatore del programma dal menù di Mint-Cinnamon non mi funziona

altre mille cose, perchè io non amo le interfacce grafiche e solitamente lanciavo il comdando da terminale, ma me lo hanno chiesto, ed in qualche modo ho cercato di accontare la richiesta

questo articolo 

 

 

 

 

Related Articles

Lo studio

Rag. Alessandro Scapuzzi

Piazza Attias, 37 - 57125 Livorno
Piazza Virgilio, 36 57037 Portoferraio (LI

[Mob.] 393 401 3332 [mail] segreteria@scapuzzi.it
[C.F.] SCPLSN70E15E625X - [P.IVA] 01156620492

Servizi

CC 2026 Alessandro Scapuzzi. Designed By JoomShaper