HomeTutorials Creazione sottotitoli in After Effects
Creazione sottotitoli in After Effects
di Paperinik
lunedì 03 novembre 2008
Pagina 1 di 3
Introduzione
Durante la produzione di un video può capitare di dover inserire dei sottotitoli in determinate sequenze, causa traduzione del parlato in altra lingua, descrizione dei luoghi e delle immagini o più semplicemente la classica sottotitolazione di un videoclip musicale. Questo articolo vuole descrivere un sistema semplice quanto efficace per creare i nostri sottotitoli in After Effects e, di conseguenza, in Premiere Pro tramite Dynamic Links o in qualsiasi altro software di editing del mercato, tramite esportazione con trasparenza.
La creazione in After Effects
Pensate alla sottotitolazione di un videoclip musicale come il seguente:
(l'utilizzo del brano “People help the people” dei Cherry Ghost è esclusivamente a scopo didattico)
Ebbene, abbiamo impiegato solo una decina di minuti di lavoro per la realizzazione e la sincronizzazione dei sottotitoli dell'intero video, che dura in totale circa 4 minuti. Questo grazie al sistema che andiamo a descrivere.
After Effects mette a disposizione uno degli strumenti più potenti ed allo stesso tempo flessibili che ci siano: le expressions. Generalmente gli utilizzatori tendono ad avere timore di questo strumento che prevede, come noto, l'inserimento di codice in JavaScript. Possiamo assicurare che è un timore infondato e che, quando inizieremo ad utilizzarle, non ne potremo più fare a meno. Seguendo inoltre i nostri articoli dedicati ed i nostri tutorials, si potranno trovare una moltitudine di applicazioni interessanti che faranno capire quanto possano alleggerire il lavoro del compositor nella motion graphic o nel compositing.
Dopo questa premessa veniamo al caso specifico e vediamo subito una interessante applicazione delle expressions di After Effects. Prendiamo per l'occasione un caso tipico: la creazione di sottotitoli in un videoclip musicale.
Se non utilizzassimo le expressions la creazione comporterebbe inevitabilmente una lunga serie di layer text per ogni frase del nostro materiale audio/video ed ogni layer andrebbe di conseguenza sincronizzato con il parlato/cantato. Altra strada potrebbe essere la modifica con keyframes del parametro Source Text del layer text, aggiornando di volta in volta il testo e sincronizzando i keyframes così generati con la traccia audio. Comunque un lavoro lungo e sfiancante che non permette una modifica veloce del mio testo e, soprattutto, rende non facilmente riutilizzabile il mio progetto, qualora volessi creare una seconda traduzione dei miei sottotitoli.
Ma ecco che ci vengono in soccorso le expressions. Quello che in genere abbiamo a nostra disposizione quando dobbiamo fare questo tipo di lavori è un testo già preparato, quale miglior modo per risparmiare tempo quindi se non quello di inserire questo testo direttamente nella mia expression? Ma procediamo con ordine.
Prima cosa da fare è quella di importare il nostro video (oppure solo l'audio) per creare una composition di riferimento, la qualità del materiale non è importante in questo momento in quanto ci servirà esclusivamente per sincronizzare i nostri sottotitoli. Anzi, il primo consiglio che diamo è quello di utilizzare un audio/video molto leggero in modo che durante le varie RAM preview che faremo, non intralci o rallenti il nostro lavoro di sincronizzazione.
Il secondo passo è creare in questa composition un nuovo Null Object che rinomineremo (selezionandolo e premendo CTRL+SHIFT+Y) in "Controller" e che conterrà uno Slider Control, il quale non è altro che un cursore vuoto prelevabile dalla lista effetti cartella Expression Controls, senza alcun riferimento a parametri di After Effects ed utilizzabile esclusivamente in congiunzione con le expressions. Rinominiamo questo Slider Control dal nome di default in "TXT Number" (selezionandolonella finesta Effect Controls e premendo INVIO).
Adesso creiamo un nuovo layer text con le caratteristiche e la formattazione che vogliamo, consigliamo un allineamento al centro per quanto riguarda i sottotitoli di tipo classico. Apriamo il campo expression sul parametro Source Text (facendo ALT+click sullo stopwatch relativo) ed inseriamo le seguenti linee, ponendo attenzione alla corretta sintassi e al maiuscolo/minuscolo presente:
Le linee di codice sopra sono tutto quello che ci serve per implementare i nostri sottotitoli. Possiamo modificarne la morfologia, per così dire, mettendo ogni linea di testo a capo col tasto INVIO, per permetterne una più semplice lettura del testo inserito. Ricordiamo che in JavaScript una linea ha termine solo nel momento in cui il compilatore trova un simbolo di ";" (punto e virgola). Le nostre tre linee di codice possono quindi essere scritte anche nel seguente modo:
txt = ["testo 1","testo 2","testo 3\rsu due linee"];
assegna alla nostra variabile "txt" un array (ovvero una schiera, un gruppo) di valori di testo, separati da virgole e racchiusi tra virgolette, in questo caso:
testo 1
testo 2
testo 3\rsu due linee
il tutto a sua volta racchiuso tra due parentesi quadre. La prima cosa interessante che notiamo è la sintassi dell'ultimo valore di testo, ovvero:
testo 3\rsu due linee
la combinazione di caratteri \r sta ad indicare che in quel punto c'è un rimando a capo e che la prossima parola o frase si troverà nella seconda linea di testo. Ogni volta che avremo necessità di spezzare il nostro testo in due linee, dovremo utilizzare questo metodo.
ha lo scopo di catturare il sottotitolo giusto ed assegnarlo alla variabile "subtitle". Per fare questo va a leggere il valore numerico presente nello Slider Control "TXT Number", posizionato nel Null Object "Controller" creato in precedenza; l'espressione Math.floor restituisce il primo intero inferiore rispetto al valore immesso, questo per evitare che siano presenti decimali nella nostra variabile "subtitle", dovuti allo spostamento manuale dello Slider Control. Quindi letteralmente la linea di codice si potrebbe leggere: prendi il valore dello Slider posizionato nello Slider Control “TXT Number” applicato al Null Object “Controller”, presente in questa composizione, trova il numero intero inferiore più vicino (es.: numero 2.34 valore restituito 2) ed assegnalo alla variabile “subtitle”.
La terza ed ultima linea infine:
txt[subtitle]
assegna al Source Text, del nostro layer text, un valore di testo preso dalla variabile "txt" ed indicizzato dal parametro "subtitle". Quindi nel caso che subtitle abbia:
valore 0, il testo risultante a video sarà:
testo 1
valore 1, il testo risultante a video sarà:
testo 2
valore 2, il testo risultante a video sarà:
testo 3
su due linee
Questo è tutto quello che ci serve sapere per realizzare i nostri sottotitoli in After Effects.