Andare al contenuto principale
SubtitleMatrix

Trascrivere l’audio in sottotitoli

Input multimedialeDalla voce ai sottotitoli

La prima esecuzione scarica il modello vocale: circa 45 MB per il livello veloce, 81 MB per quello preciso, serviti da questo sito e poi messi in cache dal browser. Nulla viene caricato, e la trascrizione è prodotta da una macchina: rileggere le parole e le temporizzazioni prima di pubblicarla.

Opzioni

Due livelli dello stesso modello. Quello veloce pesa circa 45 MB e trascrive all’incirca due volte più in fretta; quello preciso pesa circa 81 MB e avvicina di più maiuscole e punteggiatura. Entrambi girano qui, e il download avviene una volta per browser. Su una registrazione lunga, provare prima il livello veloce per verificare che la lingua sia giusta.

La lingua parlata nella registrazione. Non esiste un’opzione automatica: questa build del modello non rileva la lingua, e senza alcuna scelta assume l’inglese. Una registrazione cinese letta come inglese non fallisce: produce un nonsenso dall’aria fluente, che è molto più difficile da notare. Scegliere la lingua che si sente davvero.

.srt funziona ovunque, compresi editor e televisori più vecchi; .vtt è il formato del web e porta un po’ più di struttura. Entrambi contengono esattamente gli stessi blocchi con esattamente le stesse temporizzazioni, quindi scegliere quello che si aspetta il prossimo strumento della catena.

Questa pagina ascolta una registrazione e scrive quello che sente, come file di sottotitoli: un blocco per frase, con inizio e fine posizionati dove le parole accadono davvero. Trascina un’intervista, una lezione, un promemoria vocale o la traccia audio di un film che non ha alcuna traccia di sottotitoli, e ottieni un .srt o un .vtt che si riproduce in qualsiasi lettore. Non serve che esista prima una traccia di sottotitoli: è la pagina per quando non c’è nulla da estrarre.

L’ascolto avviene nella scheda. Il modello vocale gira su WebAssembly tramite onnxruntime, i file del modello sono serviti da questo sito e l’unico traffico di rete è quel download: circa 45 MB per il modello veloce, circa 81 MB per quello accurato, memorizzati dal browser in seguito. La registrazione non viene mai inviata da nessuna parte. Se controlli il pannello Rete mentre un file viene trascritto vedrai richieste in discesa per i dati del modello e nemmeno un byte in salita. Quello che esce è la migliore ipotesi di una macchina, non una trascrizione ufficiale: le parole che sente male restano sbagliate, e i tempi sono precisi all’incirca alla lunghezza di una frase piuttosto che al fotogramma. Rileggi prima di pubblicare e tratta il risultato come tratteresti una prima passata battuta da una persona veloce che non conosceva l’argomento.

La registrazione viene tagliata in finestre da 30 secondi con 5 secondi di sovrapposizione, e ogni finestra viene trascritta per conto suo. È ciò che rende possibili i file lunghi senza tenere un’ora di audio dentro il modello in una volta, ed è anche il motivo per cui l’annullamento ha effetto alla finestra successiva invece che all’istante: l’inferenza è una chiamata wasm indivisibile, senza punti di aggancio a metà, quindi la pagina controlla il segnale di annullamento tra una finestra e l’altra. Le frasi a cavallo di un confine vengono deduplicate scartando tutto ciò che la finestra successiva riporta come iniziato prima della fine della precedente: vince la lettura precedente, perché ha sentito la frase intera. Le frasi lunghe vengono divise ai confini di frase e poi con due limiti: nessun blocco oltre sette secondi e nessun blocco oltre 84 caratteri, mandato a capo ad al massimo 42 caratteri per riga. Sono gli stessi limiti che indicano la maggior parte degli emittenti, quindi l’uscita di solito supera un primo controllo di conformità senza modifiche.

Domande frequenti

Che cosa succede quando la registrazione è in una lingua diversa dall’inglese?

Devi dire alla pagina quale lingua è parlata, perché questa build del modello non la rileva. Non esiste un’opzione automatica, ed è voluto: senza una lingua scelta il modello presume l’inglese. Una registrazione cinese letta come inglese non fallisce, restituisce parole inglesi dall’aria sicura che somigliano vagamente all’originale, molto più difficile da notare di un messaggio di errore. Scegli la lingua che senti davvero e, se sei incerto, trascrivi prima trenta secondi con il modello veloce e controlla.

Quanto sono accurati i tempi rispetto a un sottotitolo fatto a mano?

Abbastanza per riprodurre, non abbastanza per trasmettere senza montaggio. Inizio e fine di ogni blocco vengono dai confini di segmento del modello, che cadono sui bordi delle frasi più che sul fotogramma esatto in cui comincia una parola. Dove due blocchi si sovrapporrebbero, il successivo viene spinto avanti e la correzione è conteggiata nell’elenco delle perdite, così nulla si sovrappone e nulla torna indietro nel tempo. Se un cliente ha bisogno di una sincronizzazione esatta al fotogramma, l’uscita è una bozza da temporizzare a mano, non una consegna.

Perché viene offerto anche il modello veloce, se esiste quello accurato?

Perché su un file lungo la differenza è la differenza tra aspettare e rinunciare. Misurato su un minuto di parlato chiaro, il modello veloce impiega circa 3,7 secondi e quello accurato circa 7,5: all’incirca il doppio dell’attesa per ogni minuto di audio. Il modello veloce mette anche più maiuscole del dovuto e a volte inventa la punteggiatura; quello accurato è più vicino a ciò che scriverebbe una persona. Un modo di procedere comune è far girare il modello veloce su un’intervista di un’ora per controllare la lingua e la qualità dell’audio, poi rieseguire con quello accurato una volta accertato che il file vada bene.

Che cosa significa «non è stato riconosciuto parlato» quando io sento parlare?

Significa che il modello non ha sentito nulla che sapesse scrivere, e ci sono tre cause abituali: l’impostazione della lingua non corrisponde a ciò che è parlato, la voce è coperta dalla musica o dal rumore, oppure la traccia audio è molto bassa. Il file è intatto: la pagina distingue questo caso da un file il cui audio non è stato decodificabile, perché i due richiedono correzioni diverse. Cambia la lingua parlata, o controlla che la traccia audio che hai trascinato sia quella che intendevi (la traccia di commento di un film è un flusso diverso da quello del dialogo).

Posso fermare una trascrizione che impiegherà troppo tempo?

Sì, e la pagina è esplicita su quando si ferma. Il download del modello si può annullare in qualsiasi momento. Durante il riconoscimento il modello non si può interrompere a metà di una finestra, quindi l’annullamento ha effetto all’inizio della finestra di 30 secondi successiva, che sul modello veloce è a un paio di secondi di distanza. Nulla di parziale viene offerto come download. Il modello resta in cache, quindi riprovare non lo scarica di nuovo.

L’SRT risultante conserva le etichette degli interlocutori o la punteggiatura?

Conserva la punteggiatura che il modello ha prodotto, di solito sensata ma non affidabile, e non inventa etichette di interlocutore: questo modello non separa le voci, quindi due persone che parlano diventano un unico flusso di testo. Aggiungere le etichette è un lavoro manuale qui. Se ti servono, trascrivi prima e poi modifica: il file si apre in qualsiasi editor di sottotitoli e i blocchi sono già divisi ai confini di frase, il che rende la passata molto più rapida che partire da una timeline vuota.

Strumenti correlati