|
Pagina 2 di 3
Un esempio pratico: la sottotitolazione di un videoclip musicale
Vediamo un esempio che chiarisca meglio di ogni altra cosa come si utilizza il codice sopra descritto. Ammettiamo di voler sottotitolare un videoclip musicale e di avere a disposizione il testo del brano. Carichiamolo in un editor di testo puro, come ad esempio il Blocco note di Windows, ed andiamo a sistemarne la sintassi in modo da permettere poi, con un semplice copia/incolla, l'inserimento diretto nella nostra expression.
Testo originale:
God knows what is hiding in that\rweak and drunken heart
I guess you kissed the girls\rand made them cry
those Hardfaced Queens of misadventure
God knows what is hiding in those\rweak and sunken eyes
a Fiery throng of muted angels
Giving love and getting nothing back
...
testo modificato per adattarlo alla sintassi dell'expression di After Effects:
"",
"God knows what is hiding in that\rweak and drunken heart",
"I guess you kissed the girls\rand made them cry",
"those Hardfaced Queens of misadventure",
"God knows what is hiding in those\rweak and sunken eyes",
"a Fiery throng of muted angels",
"Giving love and getting nothing back",
...
Come è possibile notare da subito, sono presenti le virgolette che racchiudono ogni linea del brano ed all'interno delle frasi più lunghe il parametro \r che porta a capo la seconda parte della frase. Ogni linea termina con una "," (virgola) in modo che After Effects riconosca i diversi valori dell'array. La prima linea è particolare, sono " " due virgolette senza testo dentro ed è un modo per dire ad After Effects che quello è un testo nullo; messa come primo valore nell'array questo sarà identificato dal valore 0 (zero) nello Slider Control "TXT Number" e sarà utilizzato ogni qualvolta sia necessaria una pausa nei sottotitoli, pensiamo ad un assolo senza cantato, non sarebbe ortodosso lasciare l'ultimo sottotitolo, inoltre con questo sistema evitiamo di andare ad agire sull'opacità del layer text per eliminarlo temporaneamente dal video.
Una volta preparato il nostro testo sull'editor Blocco note, selezioniamo tutto e facciamo copia/incolla nella nostra expression, precedentemente inserita, facendo attenzione di inserire il testo nel giusto punto, ovvero sostituendo solamente le parti evidenziate in rosso
txt = [
"testo 1",
"testo 2",
"testo 3\rsu due linee"
];
subtitle = Math.floor(thisComp.layer("Controller").effect("TXT Number")("Slider"));
txt[subtitle]
dopo l'inserimento avremo la nostra expression trasformata in:
txt = [
"",
"God knows what is hiding in that\rweak and drunken heart",
"I guess you kissed the girls\rand made them cry",
"those Hardfaced Queens of misadventure",
"God knows what is hiding in those\rweak and sunken eyes",
"a Fiery throng of muted angels",
"Giving love and getting nothing back",
"People help the people",
"And if your homesick,\rgive me your hand and I’ll hold it",
"People help the people",
"And nothing will drag you down",
"Oh and if I had a brain,\rOh and if I had a brain",
"I’d be cold as a stone\rand rich as the fool",
"That turned, all those\rgood hearts away",
"God knows what is hiding,\rin that world of little consequence",
"Behind the tears, inside the lies",
"A thousand slowly dying sunsets",
"God knows what is hiding in those\rweak and drunken hearts",
"I guess the loneliness came knocking",
"No on needs to be alone, oh save me",
"People help the people",
"And if your homesick,\rgive me your hand and I’ll hold it",
"People help the people",
"Nothing will drag you down",
"Oh and if I had a brain,\rOh and if I had a brain",
"I’d be cold as a stone\rand rich as the fool",
"That turned, all those\rgood hearts away",
"People help the people",
"And if your homesick,\rgive me your hand and I’ll hold it",
"People help the people",
"Nothing will drag you down",
"Oh and if I had a brain,\rOh and if I had a brain",
"I’d be cold as a stone\rand rich as the fool",
"That turned,\rall those good hearts away"
];
subtitle = Math.floor(thisComp.layer("Controller").effect("TXT Number")("Slider"));
txt[subtitle]

Questo è tutto quello che ci serve a livello di codice, adesso andiamo a sincronizzare i sottotitoli appena inseriti col video di riferimento. Il sistema sperimentato non è una assioma, è solo un modo empirico per ottimizzare i tempi di lavorazione nel caso specifico. Dopo aver caricato il nostro video di riferimento, oppure solo l'audio, selezioniamo il layer del testo e generiamo delle RAM preview durante il play delle quali andremo a posizionare dei markers premendo il tasto "*" (asterisco) del tastierino numerico. Questo in occasione di ogni cambio di frase, cercando di tenere in vista il testo del brano ed anticipando leggermente l'ingresso del sottotitolo successivo. Tutto dipende dal brano, in genere il fatto di anticipare leggermente funziona nel 99% dei casi. Spostiamo via via la Workarea sulle parti non ancora sincronizzate (premendo il tasto B per definire il nuovo inizio), si può così ricoprire l'intero videoclip, come pure un intero film del resto. Nulla vieta di estrapolare il timecode da un player esterno o dal software di editing e di applicarlo direttamente in After Effects, i sistemi possono essere vari, scegliere quello che più aggrada e che velocizza il lavoro.
Una volta generati i markers sul layer di testo ci spostiamo con i tasti J (indietro) e K (avanti) nella timeline, saltando velocemente da un marker all'altro e posizionando in corrispondenza di ognuno il valore della linea di testo nel Null Object "Controller". Consigliano di generare dei keyframes di tipo Hold per i valori di "TXT Number" (selezionare il keyframe e CTRL+ALT+H, oppure tasto destro > Toggle Hold keyframe).
Quindi la sequenza di azioni sarà:
1. selezionare il Null Object "Controller" e visualizzare lo Slider Control "TXT Number"
2. posizionarsi all'inizio del brano
3. cliccare sul valore dello slider di "TXT Number" ed inserire il numero 0 (testo nullo)
4. spostarsi con il tasto K al primo marker
5. cliccare sul valore dello slider di "TXT Number" ed inserire il numero 1 (prima linea di testo)
6. premere K per spostarsi al prossimo marker
7. cliccare sul valore dello slider di "TXT Number" ed inserire il numero 2 (seconda linea di testo)
ripetere i passi 6 e 7 fino alla fine del brano, inserendo i numeri progressivi 3, 4, 5 etc... e il numero 0 (zero) nel caso si voglia creare un vuoto.
Forniamo il progetto AEP in modo che sia possibile prendere esempio e studiarsi la disposizione degli elementi al suo interno, nonché riutilizzare il codice appena visto.
|