due chiacchiere

Trascrivere registrazioni audio con Python

Di tanto in tanto mi capita di pubblicare sul blog alcuni frammenti audio estratti dai podcast che ascolto durante la settimana. Come sanno i miei lettori di vecchia data, ho sempre avuto un particolare occhio di riguardo per l’accessibilità del web, quella branca dell’informatica che si preoccupa di rendere i contenuti online fruibili a tutte le categorie di visitatori, inclusi i motori di ricerca, che riusciranno a capire meglio di cosa sto parlando, grazie alle informazioni aggiuntive disponibili dietro le quinte.

Per quei file audio che condivido, ad esempio, aggiungo sempre la trascrizione testuale, che può tornare comoda anche in situazioni in cui non sia possibile ascoltare le parole, perché ci si trova ad esempio in un luogo pubblico affollato. Trascrivere quel testo a mano è noioso e richiede un po’ di tempo, e così mi son ingegnato per automatizzare l’operazione. Per un po’ mi ero affidato a servizi online (grazie Trap per aver suggerito whisper, all’epoca), ma nella versione gratuita avevano sempre tante limitazioni. Così mi sono messo a cercare un’alternativa, ed ho scoperto che il buon vecchio linguaggio Python ha in realtà una libreria apposta.

Vorrei condividere oggi i semplici passaggi per configurare il tuo computer per generare trascrizioni di file audio in pochi minuti. Il prerequisito è che tu abbia il linguaggio Python installato sul tuo computer, ed il suo fedele amico pip per la gestione di pacchetti ed estensioni. A questo punto apri una finestra a riga di comando e digita:

pip install SpeechRecognition

Questo pacchetto abilita il riconoscimento vocale tramite i server di Google. Sarà dunque sufficiente salvare il proprio file audio in formato WAV, e darlo in pasto ad un semplice script:

import speech_recognition as sr
recognizer = sr.Recognizer()
# Dove si trova il file audio
audio_file = './registrazione.wav'
# Avvia la trascrizione e stampa il risultato
with sr.AudioFile(audio_file) as source:
    data = recognizer.Record(source)
    risultato = recognizer.recognize_google(data, language="it-IT")
print(risultato)

Salva questo script, ad esempio trascrizione.py, e buon divertimento 🙂 Semplice, no?

Piace a

Lascia un commento

Torna in cima alla pagina