Vai al contenuto

Applicazioni pratiche di deep learning/Da voce a testo

Wikibooks, manuali e libri di testo liberi.

Se si vuole convertire un file audio in testo si possono utilizzare modelli di deep learning per la maggior parte delle lingue esistenti. Per la lingua italiana si può utilizzare il modello jonatasgrosman/wav2vec2-large-xlsr-53-italian che si trova su Hagging Face qui : https://huggingface.co/jonatasgrosman/wav2vec2-large-xlsr-53-italian , per la lingua inglese si può utilizzare il modello di Facebook facebook/wav2vec2-base-960h che si trova qui : https://huggingface.co/facebook/wav2vec2-base-960h .

1) Creare su Colab un nuovo file e installare la libreria huggingsound :

!pip install huggingsound

Caricare tramite il seguente codice un file audio in italiano (a scopo di esempio si utilizza il seguente file ESA-Astronaut-Paolo-Nespoli_Voice-intro-ITA_notch.flac prelevato da Wikimedia Commons qui : https://commons.wikimedia.org/wiki/File:ESA-Astronaut-Paolo-Nespoli_Voice-intro-ITA_notch.flac ):

from google.colab import files 
files.upload()

Importare il modello e fare l'inferenza :

from huggingsound import SpeechRecognitionModel

model = SpeechRecognitionModel("jonatasgrosman/wav2vec2-large-xlsr-53-italian")
audio_paths = ["ESA-Astronaut-Paolo-Nespoli_Voice-intro-ITA_notch.flac"]

transcriptions = model.transcribe(audio_paths)

Ottenere il testo dal file audio :

transcriptions[0].get('transcription')
salve sono paolo nespoli astronauta dell'agenzia spaziale europea nato a milano in italia vi parlo dalla stazione spaziale internazionale dove mi trovo a vivere e lavorare per la missione vita dell'agenzia spaziale italialeil mio primo vuolo nello spazio è stato la fine del duemilasette sullo space otle-americano discovery per la missione scentoventi una missine di costruzione della stazione spaziale internazionale con la navicella russa sojus sono poi tornato sulla stazione nel duemiladieci duemilaundici per la spedizione ventisei ventisette e ora di nuovo nel luglio duemila diciassette sempre con una navicella sojus sono tornato sulla stazione spaziale per la spedizione cinquantaduecinquantatré a tutti un saluto dallo spazio

1) Creare su Colab un nuovo file e installare la libreria transformers :

!pip install transformers

Caricare tramite il seguente codice un file audio in inglese (a scopo di esempio si utilizza il seguente file Watson_-_The_German_Peril.ogg prelevato da Wikimedia Commons qui : https://commons.wikimedia.org/wiki/File:Watson_-_The_German_Peril.ogg ):

from google.colab import files 
files.upload()

Importare il modello :

from transformers import pipeline

# This will work on any of the thousands of models at
# https://huggingface.co/models?pipeline_tag=automatic-speech-recognition
pipe = pipeline(model="facebook/wav2vec2-base-960h")

Ottenere il testo dal file audio :

pipe("Watson_-_The_German_Peril.ogg", chunk_length_s=10, stride_length_s=(4, 2))
{'text': "I KNOW THAT IT IS HARD FOR AMERICAN TO REALIZE THE MAGNITUDE OF THE WAR IN WHICH WE ARE IN VOLVE WE HAVE PROBLEMS IN THIS WAR NO OTHER NATION TALE FORTUNATELY THE GREAT MAJORITY OF AMERICAN CITIZENS OF GERMAN DETENT HAVE IN THAT GREAT PRITISE OF OUR HISTORY FOND THEMSELV SPLENDIDLY LOYAL TO OUR PLAY EVERYONE HAD A RIGHT TO SYMPATHIZE WITH ANY WARRING NATION BUT NOW THAT WE ARE IN THE WAR THERE ARE ONLY TWO DIE AND THE TIME HAS COME WHENEVER E CITITEM MUCH DECLARE HIMSELF ON MARICAN OR TRITER WE MUST GET THE POINT THAT GEMAN WHO HAM ALWAYS BELIEVED THAT THE GMAN AMERICANS HERE WOULD RENK THEIR PROPERTY THEY ARE CHILDREN FUTURE AND THEIR OWN NECK AND TAKE UP ARM FOR THE KAITER THE FOREIGN MINUTE GEROT GERMANY ONE FET COME YOUR COUNTRY DOES NOT DARE DO ANYTHING AGAINST GERMANY THE CAUD WE HAVE IN YOUR COUNTRY FIVE HUNDRED THOUSAND GERMAN REGERMIN WO WILL RIDE IN ARM AGAINST YOUR GOVERNMENT IF YOU'LL DARE YOU'LL MAKE A WO AGAINST GERMANY WELL I TOLD HIM THAT THAT MIGHT BE GULL BUT THAT WE HAD FIVE HUNDRED AND ONE THOUSAND LAMPOLT IN THIS COUNTRY AND THAT THAT WAS WHERE THE REDIVE WOULD BE HANGING THE DAY AFTER THEY TRIE TO RIVE AND IF THERE ARE ANY GERMAN AMERICANS HERE WHO ARE NO UNGRATEFUL FOR ALL THE BENEFIT THEY HAVE RETTEEVE THAT THEY ARE FILL FOR TACEITER THERE IS ONLY ONE THING TO DO WITH HIM AND THAT IS A HOB GEI THEM GIVE THEM BACK THE WOODEN HUES AND THE RAG THEY LANDED IN AND HIP THEM BACK TO THE FATHERLAND I HAVE TRAVELLED BITIERE OVER ALL THE UNITED STATES THROUGH THE ALEGENI THE WHITE MOUNTAINS AND THE CAP KILL THE ERAKIS AND THE BETTER ROTE MOUNTAIN THE CAP GAVE THE COAT REIN AND THE THE ERRAN AND IN ALL THESE MOUNTAINS THERE IS NO ANIMAL THAT FIGHT AND KICK AND WUALS AND FREAT THAT WOULD FIGHT AND FUAIL AND REAT EQUAL TO A FAT GIMAN AMERICAN IF YOL CERMENT TO TIE HIM UP AND TOLD HIM THAT HE WAS GONE HIS WAY BACK TO THE KAITER"}