API Whisper di OpenAI per Trascrizione e Traduzione

OpenAI's API Whisper for Transcription and Translation.

Questo articolo ti mostrerà come utilizzare l’API Whisper di OpenAI per trascrivere l’audio in testo. Ti mostrerà anche come utilizzarlo nei tuoi progetti e come integrarlo nei tuoi progetti di data science.

Hai accumulato molte registrazioni, ma non hai energia per iniziare ad ascoltarle e trascriverle? Quando ero ancora uno studente, ricordo che dovevo lottare ogni giorno ascoltando ore e ore di lezioni registrate e la maggior parte del mio tempo veniva tolta dalla trascrizione. Inoltre, non era la mia lingua madre e dovevo trascinare ogni frase in Google Translate per convertirla in italiano.

Ora, la trascrizione e la traduzione manuali sono solo un ricordo. La famosa società di ricerca per ChatGPT, OpenAI, ha lanciato Whisper API per la conversione del discorso in testo! Con poche righe di codice Python, è possibile chiamare questo potente modello di riconoscimento del parlato, liberare la mente e concentrarsi su altre attività, come la pratica con progetti di data science e il miglioramento del proprio portfolio. Iniziamo!

Cos’è Whisper?

Whisper è un modello basato su reti neurali sviluppato da OpenAI per risolvere compiti di conversione del parlato in testo. Appartiene alla famiglia GPT-3 ed è diventato molto popolare per la sua capacità di trascrivere l’audio in testo con grande precisione.

Non si limita a gestire l’inglese, ma la sua capacità si estende a oltre 50 lingue. Se sei interessato a capire se la tua lingua è inclusa, controlla qui. Inoltre, può tradurre qualsiasi audio in qualsiasi lingua in inglese.

Come altri prodotti OpenAI, esiste un’API per accedere a questi servizi di riconoscimento del parlato, consentendo a sviluppatori e data scientist di integrare Whisper nelle loro piattaforme e app.

Come accedere a Whisper API?

Prima di procedere, è necessario seguire alcuni passaggi per accedere a Whisper API. Innanzitutto, accedi al sito web dell’API di OpenAI. Se non hai ancora un account, devi crearne uno. Dopo aver effettuato l’accesso, fai clic sul tuo nome utente e premi l’opzione “Visualizza chiavi API”. Quindi, fai clic sul pulsante “Crea nuova chiave API” e copia la nuova chiave API creata nel tuo codice Python.

Trascrivi con Whisper API

Innanzitutto, scarichiamo un video di YouTube di Kevin Stratvert, un famoso YouTuber che aiuta gli studenti di tutto il mondo a padroneggiare la tecnologia e migliorare le competenze apprendendo strumenti come Power BI, video editing e prodotti AI. Ad esempio, supponiamo che vogliamo trascrivere il video “3 Mind-blowing AI Tools”.

Possiamo scaricare direttamente questo video utilizzando la libreria pytube. Per installarlo, è necessario il seguente comando:

pip install pytube3
pip install openai

Installiamo anche la libreria openai, poiché verrà utilizzata in seguito nel tutorial. Una volta installate tutte le librerie Python, dobbiamo solo passare l’URL del video all’oggetto Youtube. Successivamente, otteniamo lo stream video con la risoluzione più alta e, quindi, scarichiamo il video.

from pytube import YouTube

video_url = "https://www.youtube.com/watch?v=v6OB80Vt1Dk&t=1s&ab_channel=KevinStratvert"

yt = YouTube(video_url)
stream = yt.streams.get_highest_resolution()
stream.download()

Una volta scaricato il file, è il momento di iniziare la parte divertente!

import openai

API_KEY = 'tua_chiave_api'
model_id = 'whisper-1'
language = "en"
audio_file_path = 'audio/5_tools_audio.mp4'
audio_file = open(audio_file_path, 'rb')

Dopo aver impostato i parametri e aperto il file audio, possiamo trascrivere l’audio e salvarlo in un file Txt.

response = openai.Audio.transcribe(
    api_key=API_KEY,
    model=model_id,
    file=audio_file,
    language='en'
)
transcription_text = response.text
print(transcription_text)

Output:

Ciao a tutti, sono Kevin. Oggi, vedremo cinque strumenti diversi che utilizzano l'intelligenza artificiale in modi veramente incredibili. Ad esempio, qui posso cambiare la mia voce in tempo reale. Posso anche evidenziare un'area di una foto e farla scomparire automaticamente. Uh, dove è andato mio figlio? Posso anche dare istruzioni al computer, tipo, non so, scrivi una canzone per la Kevin cookie company....

Come previsto, l’output è molto preciso. Anche la punteggiatura è così precisa, sono molto impressionato!

Traduci con Whisper API

Questa volta, tradurremo l’audio dall’italiano alla lingua inglese. Come prima, scarichiamo il file audio. Nel mio esempio, sto utilizzando questo video di Youtube di un popolare YouTuber italiano, Piero Savastano, che insegna machine learning in modo molto semplice e divertente. Devi solo copiare il codice precedente e cambiare solo l’URL. Una volta scaricato, apriamo il file audio come prima:

audio_file_path = 'audio/ml_in_python.mp4'
audio_file = open(audio_file_path, 'rb')

Poi, possiamo generare la traduzione inglese a partire dalla lingua italiana.

response = openai.Audio.translate(
    api_key=API_KEY,
    model=model_id,
    file=audio_file
)
translation_text = response.text
print(translation_text)

Output:

Vediamo anche alcuni grafici in stile statistico, quindi dovremmo anche capire come leggerli. Uno è il box plot, che permette di vedere la distribuzione in termini di mediana, primo quartile e terzo quartile. Ora ti dirò cosa significa. Prendiamo sempre i dati dal data frame. X è la stagione. Su Y mettiamo il conteggio delle bici che vengono affittate. E poi voglio distinguere questi box plot in base a se è un giorno di festa o meno. Esce fuori questo grafico. Come si legge questo? Qui sull'X c'è la stagione, codificata in termini numerici. In blu abbiamo i giorni non festivi, in arancione le festività. Ed ecco il conteggio delle bici. Cosa sono questi rettangoli? Prendiamo questo box qui. Lo sto girando con il mouse....

Considerazioni finali

Ecco fatto! Spero che questo tutorial ti abbia aiutato ad iniziare con Whisper API. In questo caso di studio, è stato applicato con video di Youtube, ma puoi anche provare podcast, chiamate zoom e conferenze. Ho trovato gli output ottenuti dopo la trascrizione e la traduzione molto impressionanti! Questo strumento AI sta sicuramente aiutando molte persone in questo momento. L’unico limite è il fatto che è possibile tradurre solo il testo in inglese e non viceversa, ma sono sicuro che OpenAI lo fornirà presto. Grazie per la lettura! Buona giornata!

Risorse

  • Guida alla trascrizione di Whisper API
  • Iniziare con OpenAI Whisper API in Python | Video di Youtube

Eugenia Anello è attualmente un ricercatore presso il Dipartimento di Ingegneria dell’Informazione dell’Università di Padova, in Italia. Il suo progetto di ricerca è incentrato sul Continual Learning combinato con la Rilevazione di Anomalie.