HomeWeb & BusinessWhisper AI: trascrivi automaticamente un audio (quasi perfetto)

Whisper AI: trascrivi automaticamente un audio (quasi perfetto)

In questa storia: Google meglio di ChatGPT 4, un "antomiragio" e il sogno di poter sbobinare 50 ore di audio con due click (e magari farsele anche riassumere dalla AI). Ecco come.

HomeWeb & BusinessWhisper AI: trascrivi automaticamente un audio (quasi perfetto)

Whisper AI: trascrivi automaticamente un audio (quasi perfetto)

In questa storia: Google meglio di ChatGPT 4, un "antomiragio" e il sogno di poter sbobinare 50 ore di audio con due click (e magari farsele anche riassumere dalla AI). Ecco come.

Newsletter

Iscriviti per ricevere l'ultimo articolo!

N.B.: in questo post possono essere presenti link affiliazione.

Sogni un software gratuito, semplice, che usi l’AI e che sia preciso nella trascrizione automatica di lunghi file audio? Whisper AI è ciò che cerchi. Progettato da OpenAI (la stessa di ChatGPT), è davvero la soluzione che cercavi.

Nativo in Python e, come la maggior parte degli applicativi che implementano l’AI, necessitante di una solida base hardware per girare (soprattutto di una scheda grafica di ultima generazione), in realtà è anche stato “portato” in C++, al fine di poter esser istallato velocemente, gratuitamente e di poter esser usato su qualunque pc, anche il più rottame.

Ma andiamo con ordine e vediamo come nel mio caso – forse – potrà avere una svolta nel trascrivere 50 ore di audio.

Ecco come perché questa storia ha inizio.

Il mio problema si chiama “50 ore di audio da sbobinare”

A ottobre 2022 ho partecipato ad un corso di psicofarmacologia, a Roma, tenuto dal Prof. Giulio Perugi e da altri collaboratori. Una figata spaziale di corso, che mi ha lasciato, come già anticipato dallo stesso eclettico professore, l’1% di ciò che mi aveva spiegato. Però io ho anche le registrazioni.

Che però non ho ancora sbobinato. 50 ore di registrazioni che qualche mese fa avevo “passato” già con l’AI per migliorare l’audio, usando Clarity Vx di Wave, con risultati talmente sbalorditivi da esser imbarazzanti.

Però erano ancora in audio e io volevo le trascrizioni. Come fare? Sbobinare a mano? Ma certo che no! Ovviamente a quest’ora forse avrei già finito, forse.

Al tempo mi spesi per una settimana almeno nel capire se esisteva un benedettissimo programma per la trascrizione automatica, prima di arrendermi allo sporco lavoro manuale in solitaria.

Provai Google Cloud Speech-to-Text e altri, con risultati più che deludenti. Quindi sbobinai quasi una lezione, impiegando un giorno intero, poi mi arenai.

Chiesi a colleghi se fossero interessati ad aiutarmi e feci un gruppo WhatsApp, fermo ad oggi, in cui sono morti tutti i buoni propositi… fino a 3 giorni fa, quando incappai in Whisper AI.

Da ChatGPT a… Google?

Ormai in craving come un cocainomane, apro ChatGPT, mi collego ad esso in VPN con TunnelBear e inizio a chiederle direttive su come sbobinare questo inferno.

A nulla sono valsi i miei lusinghieri complimenti: ChatGPT-4 non si sbottonava e – essendo una AI senza accesso ad internet (meglio, che sennò ci distruggerebbe 😂) non sapeva suggerirmi nulla di utile. Sapevo di un plugin che ora integra Google a ChatGPT-4, ma sarebbe stato uno sbatta e umiliante battere anche questa strada al posto che aprire una nuova scheda di edge e chiedere a Google la stessa domanda.

Risultato? Scopro che esiste Whisper AI ed è pure prodotto da OpenAI.

Volo.

Fotonico.

Whisper AI: cos’è e perché il resto fa schifo (e lui un po’ meno)

Whisper AI è stato rilasciato gratuitamente qualche mese fa, mi pare a settembre 2022, da Open AI, i creatori della celeberrima ChatGPT. Rispetto ai competitors tipo Google Cloud Speech-to-Text, o alle alternative che non usano nemmeno l’intelligenza artificiale, devo dire, ha fatto meno pietà.

Cioè, lascia che ti spieghi.

Whisper AI non è perfetto, ma è – attualmente – la tua alternativa gratuita migliore allo sbobinamento manuale. Quasi certamente, se l’audio non è proveniente da un microfono ben piazzato, ci potranno essere dei refusi da correggere. Anche se con implementazioni come quella con WhisperX potrebbero davvero migliorare ulteriormente il riconoscimento.

Whisper AI userà intensamente le risorse del tuo pc. Lo strizzerà fino a farlo fumare, quasi. E allora, quando ti salirà la voglia di un bel AMD 7950X raffreddato a liquido, proverai un’enorme gioia e senso di realizzazione ad aver spinto il tuo pc al limite non solo per cazzeggiare con il visore, ma anche per una cosa seria: sbobinare.

Whisper AI può usare la CPU (più lenta) o la GPU (i cuda cores, nettamente più veloce).

Prevede 5 principali modelli, con crescente precisione e necessità hardware: tiny, small, base, medium e large. Consiglio di usare il large, se possibile.

Ognuno è capace di riconoscere più di 80 tipi di lingue e, guarda te che culo, l’italiano è anche più preciso che l’inglese.

Tasso di errore con il modello large.

Whisper AI: come installare l’applicativo con Python

Whisper AI per CPU (per chi non ha la GPU figa)

Whisper AI nasce per CPU, quindi ecco un video guida dove si esplicita l’installazione di Whisper AI in Phyton, in modo da sfruttare la CPU (nota bene!).

Alla fine ti basterà posizionarti all’interno della cartella dove hai il file audio, fare click destro e aprire il terminale dei comandi, scrivendo il seguente codice per avviare la trascrizione con Whisper AI (supponendo tu abbia scelto il modello medium):

whisper "audio.wav" --model medium --language Italian

A questo punto, a breve, il tuo pc inizierà a decollare, con la CPU che oscillerà tra il 100% e il 90% di utilizzo. Buona fortuna.

Vedrai il testo materializzarsi a monitor, con tanto di timestamp. All’interno della stessa cartella dove c’è il file audio troverai anche un file .txt contenente la trascrizione. Come spiegato verso la fine di questo articolo, potrai togliere le interruzioni di riga con Remove Line Breaks Online Tool di textfixer.com.

Ma vediamo dove la magia accade.

Whisper AI per GPU

Dopo aver cercato e provato diverse soluzioni, ne ho trovata una che finalmente poteva andare sulla mia RTX 2060 laptop con Windows 11.

  1. Scarica cuda_11.7.0_windows_network.exe network installer da CUDA Toolkit 11.7 Downloads | NVIDIA Developer
  2. seleziona only Runtime at install.
  3. install pytorch with CUDA via pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
  4. Check CUDA availability with python -c 'import torch; print(\"CUDA enabled:\", torch.cuda.is_available());'che dovrebbe dare i noutputCUDA enabled: True
  5. A questo punto basterà scrivere:
whisper "audio.wav" --model medium --language it --device cuda

Purtroppo, a meno di avere una GPU grossa come una casa, difficilmente riuscirete a fare girare il modello large. Quindi ero depresso e un po’ curioso, ma – ancora una volta – il buon vecchio Google mi ha aiutato.

Whisper AI: come usare il modello large con meno di 6 gb di VRAM

Esistevano modi di usare la ram del pc e non la Vram?

In un certo senso si. Dopo una mirabolante ricerca, non so come né quando, sono finito su questa pagina web. Dio benedica il momento in cui è successo.

Sostanzialmente ci sono due possibilità:

  1. quantizzare il modello (sembra una roba alla Ant-Men)
  2. usare l’implementazione di Whisper AI in C++

In questa guida, per la semplicità di implementazione e i risultati apparentemente promettenti, ho applicato la seconda, ma probabilmente proverò anche la prima, giacché ho riscontrato alcuni bug con questa soluzione che ti sto per proporre.

C’è da ridere.

TL;TR: Guida alla installazione di Whisper AI per la trascrizione automatica di file audio

#1 Scarica e installa Whisper Desktop

Scarica l’ultima versione di WhisperDesktp.zip.

Unzippala e aprila.

N.B.: può essere che il buon vecchio Windows vi dica di stare attenti a questo applicativo, siccome non rilasciato ufficialmente da una ditta a lui nota.

Ignoratelo e andate avanti. E ricordate:

“chi non rischia non beve champagne”.

#2 Scarica il modello “large”

Scarica il modello large di Whisper AI al seguente link: ggml-large.bin · ggerganov/whisper.cpp at main (huggingface.co). Selezionalo poi da Whisper.

Aggiornamento giugno 2023: consiglio di scaricare il modello largev2, più preciso ed efficiente!

#3 Avvia la trascrizione

Attendi sino al completamento. Qui sotto un esempio di tempistiche: con una RTX 2060 Laptop e un audio di 2 ore e 26 minuti ha impiegato 42 minuti di processamento.

#4 Rimuovi le interruzioni di riga

Usando il Remove Line Breaks Online Tool di textfixer.com, potrai copiare e incollare il testo nella casella in input per ottenere in output un testo scevro da interruzioni di riga.

Potrai ora copiarlo nuovamente in word e salvarlo, pronto per esser …modificato nei punti che servono.

Si può fare di meglio? WhisperX

Whisper AI è lungi dall’esser perfetto, ma è sufficientemente vicino alla soglia di intelligibilità per cui non ti servirà ascoltare il file audio per correggere le parole non correttamente trascritte.

A titolo esemplificativo riporto un pezzo della prima lezione. In Whisper AI le prime (ma non solo) frasi sono state massacrate e ho volutamente portare un pezzo brutto per non illuderti. Ci tengo comunque a specificare che l’audio non era tra i migliori in questo punto e se tu fossi interessato posso anche caricarlo.

Qui di seguito la parte sbobinata (e un po’ rielaborata) a mano, che può fare da paragone. Non mancano i typo, frutto della necessità di dover stare dietro all’audio incalzante.

Poi ti capiterà anche questo:

Ma questo l’ho solo riscontrato una volta, con il modello implementato in C++, dichiaratamente esplicitato dall’autore come buggoso.

Aggiornamento giugno 2023: per risolvere la perseverazione di Whisper AI nel trascrivere una medesima frase, nonostante il file audio sia esente da vizi, consiglio di salvare il file audio con una diversa estensione (tipo wma, mp3, ecc…). Puoi usare anche Audacity per farlo gratuitamente e in modo molto veloce (“importa” e poi “esporta”).

Dunque? Gettare la spugna? Trascrivere a mano? Prima di arrendersi c’è da provare a quantizzare il modello large e – ancora più coraggioso – cercare di implementare WhisperX come descritto in questa guida.

Ulteriore spunto: è possibile riassumere la sbobina con l’IA? Sarà ancora più un pastrugno?

Che ne pensi?

Ranieri
Ranierihttps://www.ranierisdesk.com/
Mi chiamo Ranieri Domenico Cornaggia, sono laureato in medicina e mi piace la tecnologia, il fitness e gli scacchi. Amo gli animali e le sfide!

Commenti

Leave a reply

Please enter your comment!
Please enter your name here

Articoli correlati

Questo sito utilizza cookie tecnici e di terze parti. Se vuoi saperne di più o negare il consenso ad alcuni cookie leggi la cookie policy.