Trascrivere audio in testo e ottenere una traduzione precisa con l'intelligenza artificiale

Come ottenere la trascrizione testuale di un file audio senza alcuna fatica grazie all'aiuto dell'intelligenza artificiale e dei modelli generativi. Le infinite possibilità che aprono le API OpenAI per trascrivere testi e avere traduzioni precise e puntuali.

Trascrivere audio in testo modificabile è un’attività sempre più richiesta in molti settori. Tuttavia, trasformare ore di registrazioni in testo scritto può essere un processo lungo e tedioso, che richiede molte ore di lavoro. Fortunatamente, ci sono strumenti e servizi online che possono aiutare a semplificare questo compito.

In questo articolo, mostreremo come trascrivere audio in testo utilizzando l’intelligenza artificiale e un servizio che si serve delle API Whisper di OpenAI, società che ha sviluppato l’ormai arcinoto chatbot ChatGPT.

Lo strumento in questione si chiama Writeout.ai ed è al momento completamente gratuito. Si utilizza da browser Web e permette di convertire audio in testo in modo semplicissimo e in pochi minuti.

La caratteristica “bonus” che contraddistingue Writeout.ai è che permette di tradurre il testo scritto che è stato generato a partire da una registrazione audio. Oltre a semplificare il processo di trascrizione audio in testo e migliorare la propria produttività, diventa possibile tradurre il testo trascritto in diverse lingue, per rendere più facile la comprensione del contenuto audio in tutto il mondo.

In questo articolo ci concentriamo dapprima sugli aspetti pratici ovvero su com’è possibile ottenere una trascrizione precisa di uno spezzone audio di lunghezza variabile; nella seconda parte, invece, vedremo per sommi capi il funzionamento di uno strumento come Writeout.ai e di come gli sviluppatori possano sfruttare le potenzialità delle API OpenAI anche in ambito locale.

Come trascrivere audio in testo con Writeout.ai

Preparatevi perché il risultato al quale consente di pervenire uno strumento come Writeout.ai è qualcosa di davvero impressionante!

Supponiamo di avere a disposizione un file audio registrato in una delle 10 lingue attualmente supportate da Writeout.ai: c’è ovviamente anche l’italiano oltre a inglese, tedesco, spagnolo, francese, olandese, portoghese, russo, giapponese, cinese e… klingon.
Quest’ultima è la lingua parlata dalla specie extraterrestre umanoide dell’universo fantascientifico di Star Trek: qualora voleste comunicare anche con loro… non si sa mai. Che dire? Senso dell’umorismo ai massimi livelli e fantastica intuizione degli autori di Writeout.ai che hanno evidentemente approfittato del fatto che il modello generativo conosce anche lingue frutto della fantasia e non parlate su questo pianeta.

Il file audio non può al momento superare i 25 MB di peso e deve essere in uno dei formati seguenti: mp3, mp4, mpeg, mpga, m4a, wav, webm. Cosa c’entra MP4 con l’audio? Writeout.ai è in grado di estrarre la traccia audio contenuta nei video.

Inoltre, utilizzando uno dei tool disponibili sul Web è addirittura possibile generare file MP3, M4A o WAV a partire da un contenuto multimediale pubblicato sulle principali piattaforme di condivisione video.

Dalla home page di Writeout.ai basta cliccare su Transcribe for free quindi scegliere il file audio il cui contenuto deve essere trasformato in testo modificabile.

Nel riquadro Prompt consigliamo caldamente di inserire una descrizione dettagliata, va bene in italiano o comunque, preferibilmente, nella lingua utilizzata all’interno della registrazione audio, di quanto contenuto nel file. Le informazioni di Prompt devono fornire una descrizione del contenuto audio che sarà molto utile per il modello generativo al fine di “comprendere” nel modo più corretto parole e acronimi specifici.
Con un clic su Transcribe, dopo qualche istante di attesa, Writeout.ai mostra una pagina come quella che segue confermando che la trascrizione è stata effettuata ed è disponibile.

Cliccando sul pulsante Download transcript, il browser provvede automaticamente a scaricare un file in formato VTT.
L’acronimo VTT sta per WebVTT, che significa Web Video Text Tracks: si tratta di un formato creato per i sottotitoli dei video sul Web ma è diventato uno standard ampiamente utilizzato in diverse piattaforme video online, come YouTube e Vimeo.

Il file VTT è un testo puro che può essere aperto con un normale editor di testo (o un software specializzato) e che contiene informazioni sui sottotitoli, come il tempo di inizio e fine di ogni frase rispetto a un contenuto audio o video e il testo da mostrare in tempo reale.

Ciò che si vede aprendo un file VTT generato con Writeout.ai è simile a quanto riprodotto in figura. Nell’esempio abbiamo usato l’audio di questo nostro video su YouTube per verificare la bontà della trascrizione ottenuta. Il risultato? Assolutamente perfetto!

In un altro articolo abbiamo visto come trascrivere il testo dei sottotitoli YouTube ma qui, con Writeout.ai siamo a un livello nettamente superiore. Ai video YouTube è accluso un file che contiene i corrispondenti sottotitoli: Writeout.ai, invece, usa l’intelligenza artificiale per trascrivere testo da tracce audio che non hanno alcun sottotitolo “allegato”.

Usando gli stessi suggerimenti presentati nell’articolo dedicato a YouTube, è comunque possibile pulire il file VTT e ottenere solo la trascrizione del testo.

Nonostante tutto, Chrome e altri browser Web considerano il formato VTT come “poco comune”: così, al momento del download della trascrizione testuale, potrebbe essere mostrato l’avviso Questo file non viene comunemente scaricato e potrebbe essere pericoloso.

Per procedere, basta fare clic sul pulsante Continua download e autorizzare lo scaricamento del file di testo in formato VTT.

Come tradurre la trascrizione con un semplice clic

Non è finita qui. Selezionando una delle lingue supportate da Writeout.ai, e cliccando su Change, è possibile ottenere una traduzione della trascrizione generata in precedenza: anche in questo caso si ottiene un file VTT con l’indicazione di tutti i tempi per l’eventuale sottotitolazione del contributo audio o video.

Come eliminare le informazioni superflue dal file VTT

Se si volesse ottenere semplicemente del testo a scorrere a partire dalla trascrizione generata da Writeout.ai, si può aprire ad esempio un editor di testo come Notepad++ quindi premere la combinazione di tasti CTRL+H per aprire la finestra Sostituisci.

Incollando quanto segue nella casella Trova, lasciando vuoto il campo Sostituisci con e selezionando infine l’opzione Espressione regolare, con un clic su Sostituisci tutti Notepad++ rimuove tutte le indicazioni temporali:

\d{2}:\d{2}:\d{2}.\d+ --> \d{2}:\d{2}:\d{2}.\d+\s*\r?\n?

Per eliminare le righe vuote nel file VTT, basta incollare ciò che segue nel campo Trova ripetendo quindi la procedura appena illustrata:

^\s*\r?\n

Quali sono i limiti di Writeout.ai?

Come abbiamo spiegato in precedenza, Writeout.ai si appoggia alle API di OpenAI ma utilizza il piano gratuito. Quando i crediti offerti mensilmente da OpenAI si esauriscono, l’applicazione non funziona più lato Web mostrando il messaggio d’errore Transcription failed.
Writeout.ai funziona per il momento sulla base del principio first come, first served: gli utenti che per primi “consumano” i token forniti gratuitamente da OpenAI possono tradurre subito l’audio in testo.

Come spieghiamo al paragrafo successivo, tuttavia, il codice sorgente di Writeout.ai è stato pubblicato su GitHub. Chiunque può quindi attivare un account OpenAI (anche a costo zero) e usare Writeout.ai da un sistema locale, all’interno della propria infrastruttura di rete. In questo modo è possibile superare le limitazioni al momento presenti nella versione Web di Writeout.ai.

Come funziona la trascrizione da audio a testo basata sull’intelligenza artificiale

Laravel è un framework open source per lo sviluppo di applicazioni Web basate su PHP che mette a disposizione un’architettura solida e modulare oltre a una vasta gamma di funzionalità predefinite, come la gestione degli utenti, l’autenticazione, l’elaborazione dei dati, il caching e molte altre, per creare codice efficiente (facile anche da gestire e manutenere) in modo rapido.

Nella pagina GitHub di Writeout.ai gli sviluppatori hanno spiegato di aver usato proprio Laravel per interloquire in tempo reale con le API OpenAI.
Nello specifico, sono stati usati i cosiddetti queued job di Laravel per eseguire i compiti asincroni, in modo affidabile e scalabile, che portano alla generazione delle trascrizioni audio.

Grazie alla pubblicazione su GitHub del codice sorgente di Writeout.ai, gli sviluppatori possono semplicemente clonare il repository con il comando git clone https://github.com/beyondcode/writeout.ai quindi registrare un account su OpenAI al fine di ottenere la chiave per l’utilizzo delle API.
La propria chiave deve essere quindi specificata nella variabile OPENAI_API_KEY all’interno del file di configurazione .env di Writeout.ai.

L’utilizzo delle API OpenAI ha un costo, come abbiamo visto anche nell’articolo sull’integrazione tra ChatGPT e Google Fogli. Il lavoro svolto da Writeout.ai risulta però adattabile, con un minimo sforzo, all’utilizzo in locale.

Lo stesso modello OpenAI Whisper, infatti, può funzionare gratis in locale: in questo modo è possibile gestire trascrizioni e traduzioni senza passare per il Web e servizi cloud remoti.

Ai programmatori che ci leggono segnaliamo Whisper basato su WASM: si tratta di un interessante progetto, anche in questo caso pubblicato su GitHub, che permette di elaborare i dati audio in locale, sul computer dell’utente. Grazie a WASM (WebAssembly) e alle sue capacità di aumentare le prestazioni delle applicazioni Web, rendendo possibile l’esecuzione di codice ad alte prestazioni direttamente nel browser, la trascrizione del testo e la relativa traduzione avvengono davvero rapidamente anche in ambito locale, sui propri sistemi. Fantastico, vero?

Ti consigliamo anche

Link copiato negli appunti