Ci sono software che possono generare sottotitoli basati sul parlato dal file video? Poi convertire quel sottotitolo in inglese?

Così ho preso un approccio diverso e ho provato a scrivere un programma per questo. Ho usato Google Cloud Functions per questo e ho creato due funzioni. Entrambe le funzioni guardano diversi Google Cloud Storage Buckets. Quindi il flusso è come il seguente

L'utente carica un video nel secchio GCS (chiamiamolo secchio video).
La prima funzione cloud chiamata extractAudio sarà attivata e userà la libreria ffmpeg per estrarre l'audio dal video.
Convertirà poi l'audio in un file flac e lo caricherà nel secondo bucket (chiamiamolo bucket audio)
Non appena l'audio viene caricato nel bucket audio, verrà attivata la seconda funzione cloud chiamata transcribeAudio.
Invierà quindi l'audio a Google Cloud Speech-To-Text API e aspetterà la risposta.
La risposta sarà in un file JSON e poi sarà caricata in un terzo bucket GCS (chiamiamolo bucket dei risultati).

Così avrete la trascrizione del video nel terzo bucket dei risultati, anche se in formato JSON. Puoi sicuramente scrivere il tuo codice per convertirlo in un formato di file SRT. Il JSON contiene il timestamp di tutte le parole pronunciate nel video, quindi puoi usarlo per dare un timestamp ai dialoghi.

Il progetto è ospitato su Github e potresti dargli un'occhiata. Anche se sono abbastanza sicuro che non lo proverete per ottenere i sottotitoli per un film, dato che vi costerà molto usare le Cloud Functions e le Speech API, per non parlare del processo di caricamento del video.

Potreste provare a convertire il progetto per essere eseguito sulla vostra macchina locale, anche se il costo per le Speech API sarà ancora in vigore. Hanno un limite gratuito che puoi usare.

Ho in programma di usare lo stesso codice per essere eseguito sulla macchina locale e ottenere un file SRT invece di JSON da quello. Sto solo aspettando che arrivi un po' di tempo libero. Nel caso siate interessati, ho scritto un blog[1] su questo. Se volete, potete seguirlo per gli aggiornamenti.

Footnotes

[1] Il lungo viaggio di uno sviluppatore - Abhishek Jain - Medium