Vai al contenuto

Ingegneria dei sottotitoli

Cosa chiedono i dischi veri ai sottotitoli

Tempi PGS, trascrizioni che conservano le frasi intere e riconoscimento vocale sulla GPU: tre richieste dei dischi veri e come Quven le gestisce.

Una pila di custodie nere di Blu-ray accanto a un portatile

Abbiamo già scritto come un media server dovrebbe trattare i sottotitoli: tradurre le tracce di testo che esistono, eseguire l’OCR locale su quelle a immagini di DVD e Blu-ray, e ripiegare sull’ascolto dei dialoghi quando un file non ha nulla di utilizzabile. Tre strade, ciascuna con una traccia di testo temporizzata come arrivo.

Un’architettura così vale quanto il suo comportamento sui supporti veri, perciò abbiamo provato ogni strada su dischi e film reali. Tre dettagli hanno deciso se il risultato fosse utilizzabile, e nessuno emerge su un file di prova pulito.

Associare ogni immagine PGS alla sua battuta

Anche se un Blu-ray con solo PGS è la prima prova più difficile che esista, è quella giusta. La traccia non contiene testo, solo immagini con i tempi, e il server deve associare ogni immagine alla sua battuta prima che il riconoscimento possa partire:

  1. Leggere il flusso con una finestra di analisi più ampia, perché FFmpeg non ricava la dimensione di un flusso PGS dall’analisi predefinita.
  2. Costruire il grafo dei filtri dalle dimensioni del sottotitolo, non da quelle del video.
  3. Leggere i piani colore, dato che il decodificatore consegna fotogrammi a tavolozza il cui piano alfa risulta piatto a zero mentre i glifi stanno nei piani colore.
  4. Sottrarre il tempo di inizio del contenitore, perché FFprobe riporta tempi grezzi mentre FFmpeg riporta a zero la propria uscita.

Il quarto passaggio è quello che sposta in silenzio ogni battuta se nessuno ne tiene conto. Sul disco usato il contenitore partiva a 79 millisecondi, quindi ogni immagine sarebbe arrivata in anticipo. Con tutti e quattro gestiti, il disco ha associato 984 immagini su 984 alle rispettive battute, e la stessa correzione permette a VobSub di associarsi per tempo, 73 su 73 sul DVD misurato.

Abbiamo valutato anche il rilevamento di scena per scartare i fotogrammi trasparenti che il PGS emette tra un sottotitolo e l’altro, e l’abbiamo scartato. Ma due battute consecutive con lo stesso testo risultano come nessun cambio di scena, e una delle due sparisce, e una pipeline che perde in silenzio una riga di dialogo non è affidabile.

Trascrizioni che conservano le frasi intere

La strada dell’audio ha la sua trappola. Un riconoscitore restituisce intervalli di parlato, e un sottotitolo deve mostrarli per un tempo leggibile, due limiti diversi. Perché tenerli separati? Perché il primo è un fatto sull’audio e il secondo una scelta sulla lettura. Quven limita una battuta a sette secondi sullo schermo, ma quel limite appartiene alla passata di temporizzazione, che spezza le battute lunghe nelle pause naturali e non decide dove si taglia il testo, perciò una riga di dialogo di dieci secondi e mezzo resta una frase sola, invece di essere troncata nel punto in cui il tempo finisce. I test fissano i due limiti separati, ed è per questo che la trascrizione di un film intero si legge come un dialogo.

Il riconoscimento vocale sulla scheda grafica

Trascrivere un film di due ore solo con il processore richiede circa otto minuti e tiene occupati tutti i core, cosa che non vorresti in secondo piano. Perciò il riconoscimento può girare sulla scheda grafica, con Metal su macOS e Vulkan su Windows e Linux, e sulla scheda NVIDIA misurata il passaggio di codifica è sceso da 591 a 15,7 millisecondi, mentre un film di due ore richiede circa due minuti e mezzo con il processore quasi inattivo.

La selezione scende una scala: GPU dedicata, GPU integrata, versione CPU ottimizzata, versione CPU semplice, così una macchina senza adattatore utilizzabile trascrive comunque, solo più lentamente. La scheda dedicata si sceglie dall’elenco degli adattatori perché l’enumerazione arriva nell’ordine del driver, e sul percorso CPU Quven lascia libero almeno un processore.

Com’è un sottotitolo tradotto

Abbiamo rivisto riga per riga un episodio tradotto per intero, tutte le 740 battute, contro l’originale. Circa diciotto erano imprecise, e una dozzina meritava una correzione, come un modo di dire caduto male o uno scarto di continuità: un sottotitolo con cui si può guardare un film, e l’editor delle battute può occuparsi del resto.

E la strada dell’audio è andata bene anche lei. La traduzione di un film trascritto è tornata completa, 1593 battute su 1593, senza vuoti e senza residui della lingua di partenza. Resta il limite del riconoscitore, una riga corretta ma non proprio quella che l’attore ha detto, ed è per questo che un sottotitolo d’autore, quando esiste, viene sempre per primo.

Cosa è incluso in quale piano

Generare un sottotitolo dall’audio gira sul tuo processore e sulla tua scheda grafica e arriva con Pro, mentre una trascrizione già prodotta resta gratuita da riprodurre per chiunque possa aprire il titolo. Ma la traduzione è diversa: il testo esce dalla macchina e passa da un fornitore di modelli linguistici a pagamento dietro una coda di lavori che sopravvive ai riavvii, perciò ogni film ha un costo reale e numerabile. Per questo la traduzione con l’AI arriva con Max e Lifetime, con una quota settimanale condivisa dai server collegati all’account, e la pagina dei piani ne elenca i dettagli.

Le versioni pratiche sono le guide a tradurre i sottotitoli con l’AI e a generare i sottotitoli per un film che non ne ha.

Sottotitoli con Pro

Scrivi il sottotitolo che manca a un film

Pro scrive un sottotitolo dall'audio sul tuo server, e l'audio non lascia mai la macchina. Max aggiunge l'editor delle battute insieme alla traduzione in un'altra lingua.

Pro €3,49 /mese

€129, una volta sola.

Comunità

Commenti

0 commenti

Verrà mostrato pubblicamente con il commento.

Gli invii degli ospiti registrano dati limitati di rete e dispositivo per prevenire abusi. Consulta l’Informativa privacy.

Non ci sono ancora commenti. Inizia la conversazione.

Conferma azione

Riporta a casa la tua libreria.

Gratuito per uso personale, da installare sul tuo hardware in pochi minuti.