0% ont trouvé ce document utile (0 vote)
466 vues18 pages

Aegisub 5 PDF

Transféré par

Narendra Shrivas
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
466 vues18 pages

Aegisub 5 PDF

Transféré par

Narendra Shrivas
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Tutoriel Karaoke

Partie 5 : Exemples d’effets simples, Les fonctions Aegisub, Autres fonctions


utiles, Création d’effets avec la fonction « retime », Initiation à la création de
macros Aegisub et scripts NyuFX avec les avantages/inconvénients, Exercices.

Création d’effets simples :

Nous parlons « d’effets simples », puisque dans cette sous partie, nous allons apprendre à créer des
effets karaoké de type « template line » en utilisant la balise « \r » à chaque effet de syllabe de la
ligne. En effet souvenez-vous, la balises « \r » pour « reset » permet d’annuler le style et donc les
balises de la ligne avant cette balise.

Ce type d’effet est pratique pour commencer à apprendre à créer des effets, cependant vous verrez
assez rapidement qu’être limité aux mêmes nombres de ligne qu’au début pose un sérieux problème
dès lors que nous voulons faire des choses un peu plus poussé.

Exemple 1 : Exemple [Link]

Explication : Voici un effet qui change la couleur de bordure de la syllabe et ajoute 2 à la balise
\blur. La modification n’est que temporaire puisque elle se déroule du début du temps de la syllabe
jusqu’à sa « durée/2 » pour ensuite retourner à l’état initial. La balise \fad, effectue un fondu de
« 300 ms » au début et à la fin de la ligne. Cela peut devenir un problème si la première syllabe
commence peu de temps après le début de la ligne. Vous pouvez toutefois corriger ce genre de
problème en jouant sur la synchronisation. Ici la balise \r est mise, cependant elle n’est pas forcement
utile, puisque nous remettons toujours les balises utilisées à leurs états initial. Cependant si nous
n’avions pas fait ceci, la balise \r aurait été indispensable.

Exemple 2 : Exemple [Link]

Tutoriel par Spyne21


Explication : Même principe que pour le premier exemple, sauf qu’ici nous effectuons une
augmentation de l’échelle suivant l’axe Y.

Exemple 3 : Exemple [Link]

Explication : Même principe que pour le premier exemple, sauf qu’ici nous effectuons une
augmentation de l’échelle suivant l’axe X et Y.

Exemple 4 : Exemple [Link]

Explication : Dans cet exemple, nous effectuons un changement de couleur primaire et de bordure
pendant toute la durée de la syllabe. Pour le reste, ça suit la même logique que sur le premier
exemple.

Exemple 5 : Exemple [Link]

Explication : Ici nous effectuons une rotation suivant l’axe X et un changement de couleur primaire
pendant toute la durée de la syllabe. La balise \r est indispensable puisque nous n’avons pas initialisé
la balise \frx à « 0 ». De plus nous effectuons un fondu à la fin en utilisant la balise \alpha de
transparence. Elle commence « 1000 ms » avant la fin de la ligne en ajoutant « 50 ms » multipliées
par l’indice de la ligne pour que le fondu s’effectue dans l’ordre croissant des syllabes.
Tutoriel par Spyne21
Exemple 6 : Exemple [Link]

Explication : Voici un effet un peu spécial, En effet, nous définissons une origine sur l’axe X très
éloigné de la syllabe en utilisant la balise \frz pour simuler le déplacement de la syllabe suivant l’axe
Y. L’éloignement est tellement grand que la rotation suivant l’axe Z avec un faible degré, nous
permet de « tricher » sur l’effet. La balise \r est indispensable puisque nous n’avons pas initialisé la
balise \frz à « 0 ».

Exemple 7 : Exemple [Link]

Explication : Même principe que sur l’effet précédent, sauf qu’ici nous simulons un déplacement de
la syllabe suivant l’axe X. La balise \r est indispensable puisque nous n’avons pas initialisé la balise
\fry à « 0 ».

Exemple 8 : Exemple [Link]

Explication : Dans cette exemple, nous initialisons une balise \iclip de « 0 » jusqu’au début de notre
ligne. La hauteur est comprise entre le haut et le bas de notre ligne.

Cela nous donne ceci :


Tutoriel par Spyne21
Ainsi il nous reste plus qu’à effectuer un mouvement de droite vers la gauche en tenant compte de la
largeur de la ligne. Cet effet de ligne n’est pas conseillé, puisqu’il déplace la ligne sans tenir compte
de la durée de la syllabe. Nous pouvons voir ce défaut quand la balise \kf$kdur se fait rattraper par le
déplacement. C’est un des défauts des « template line »

Exemple 9 : Exemple [Link]

Explication : Voici un exemple d’effet utilisant la balise \clip. Les rectangles essayent d’atteindre la
gauche de la ligne pendant la durée de la syllabe en ayant pour position initiale la gauche de la
syllabe. De ce fait, nous simulons le recouvrement « du rectangle » sur la ligne entière en tenant
compte de la durée des syllabes.

Certes il est possible de créer quelques petits effets sympathiques à première vue en utilisant la ligne.
Cependant elle comporte beaucoup de limite.

Les limites : Il n’est pas possible de changer le temps de le la ligne. De plus chaque effet sur la
syllabe agit sur la ligne elle-même, ce qui peut causer certains effets non désirables. Les balises de
positionnement, de mouvement ou d’origine ne peuvent être réellement employé de façon optimal ici.
Enfin, il n’est pas possible d’exploiter toute les balises que l’on a vues et de faire tout ce que l’on
voudrait faire.

Conseil : Lorsque vous créez des effets de type line « template line », même si vous contrôlez que
les balises sont mis à l’état initial, il est préférable de rajouter la balise \r afin de ne pas avoir de
surprise. Attention la balises \r se met toujours au début (cf : Tutoriel - Partie 3 sur les balises pour en
connaitre la raison).

Cependant comme vous devez vous en souvenir, nous avons vu les autres types de template, essayons
maintenant de diviser la ligne en syllabe en utilisant « template syl ».
N’oubliez pas que la division de ligne en syllabes va créer de nouvelles lignes contenant seulement
une syllabe par ligne.

Exemple 10 : Exemple [Link]

Tutoriel par Spyne21


Explication : Cet exemple est similaire à l’exemple 3. Mais comme vous pouvez le constater, la
ligne ne bouge plus lors du changement d’échelle de la syllabe. En effet les syllabes sont
indépendantes les unes des autres, puisqu’elles sont contenus dans des lignes différentes avec leurs
propres positions. Cependant cela fait naître un nouveau problème. En faisant ça, la syllabe qui
augmente d’échelle a un indice supérieur à la précédente, mais inférieur à la suivante. Cela provoque
donc un effet indésirable lors de l’augmentation d’échelle puisque la syllabe du côté droit, se retrouve
superposée en dessous de la prochaine syllabe. Même en changeant le niveau de calque en fonction
de la syllabe, il ne sera pas possible d’effacer ce problème, puisque ce sera toujours le côté gauche ou
droit de la syllabe qui sera impacté.

Bien que la divisions de la ligne apporte une certaine révolution dans la façon de créer des effets, il
n’en demeure pas moins que la simple division de ligne en syllabe ou caractère a encore des limites.

Les limites : Il n’est toujours pas possible de changer le temps des syllabes. Les syllabes doivent
encore gérer leur temps d’apparition de disparition et d’effet. Il n’est pas possible d’effectuer une
augmentation d’échelle de syllabe sans se retrouver d’un côté ou de l’autre inférieur au niveau du
calque de la syllabe qui nous précède ou de la prochaine syllabe. (En réalité il y a une solution,
cependant, cette solution consiste à diviser notre syllabe image par image et augmenter son niveau de
calque pendant l’augmentation d’échelle puis de le descendre après lorsque l’échelle de la syllabe
revient à sa position initial. Cependant ce nous ne verrons pas cette démarche qui serait fastidieuse.).
Il n’est pas encore possible de faire tout ce que l’on voudrait faire.

Les fonctions que propose Aegisub :

Fonction « retime »

retime(mode, startadjust, endadjust)

Cette fonction s'utilise une fois au début du template dans un bloc de code. Elle permet d'effectuer
des changements sur le temps de début et de fin de la ligne de sortie, de diverses manières.

Le paramètre « mode » détermine comment les temps de début et de fin de ligne seront modifiés. Ce
paramètre doit être une chaine de l'une des valeurs suivante. De plus, parce que c'est une chaine, le
nom du mode doit être placé entre des guillemets.

Les paramètres « startadjust » et « endadjust » changent légèrement de sens en fonction du mode.


En général vous ajouterez ou retirez du temps à la ligne avec de simples nombres. Ces nombres
peuvent être des entiers ou décimaux, positifs ou négatifs. De plus il est possible d'inclure des
variables « $ » et LUA pour l'ajustement des temps.

Les différents modes possibles sont :

- abs ou set : Les deux « startadjust » et « endadjust » sont utilisés comme pour valeurs de temps
absolu pour spécifier directement le temps de début et de fin de ligne.

Tutoriel par Spyne21


- preline : Destiné à faire des effets qui se produisent avant le début de la ligne actuelle. Les deux
valeurs de temps de début et de fin sont les temps de début de ligne. « startadjust » est ajouté au
temps de début et « endadjust » est ajouter au temps de fin. Habituellement « startadjust » doit
être négatif et « endadjust » à zéro.
- line : Le temps de début et de fin de ligne.
- start2syl : Le temps entre le début de la ligne et le début de la syllabe.
- presyl : Similaire à preline, mais cette fois c’est pour la syllabe.
- syl : Le temps de début de syllabe à la fin de syllabe.
- postsyl : Similaire à presyl, mais les temps de bases sont les temps de fin de la syllabe.
Généralement vous utiliserez « addstart » à « 0 » et un « addend » positif.
- syl2end : Le temps entre la fin de la syllabe et la fin de la ligne.
- postline : Similaire à postsyl, mais cette fois c’est pour la ligne.

Il y a aussi un mode spécial :

- sylpct : Les deux temps « startadjust » et « endadjust » sont traités comme des valeurs en
pourcentage allant de « 0 à 100 % ». Ils sont utilisés pour régler la synchronisation de la ligne
jusqu’à la partie du temps de la syllabe que vous avez définis en %.

Attention : Lorsque vous utilisez la fonction « retime », pour créer vos effets, veuillez à ne le mettre
qu’une fois par ligne. De plus si vous l’utilisez, vous serez obligé dans mettre dans chaque template
que vous définirez afin d’être cohérant avec ce que vous faite, et surtout d’avoir le rendu que vous
voulez à la fin.

Tableau récapitulatif des temps en variable LUA suivant les modes :

Mode Temps de début Temps de fin


abs ou set startadjust endadjust
preline line.start_time + startadjust line.start_time + endadjust
line line.start_time + startadjust line.end_time + endadjust
start2syl line.start_time + startadjust line.start_time + syl.start_time + endadjust
presyl line.start_time + syl.start_time + startadjust line.start_time + syl.start_time + endadjust
syl line.start_time + syl.start_time + startadjust line.start_time + syl.end_time + endadjust
postsyl line.start_time + syl.end_time + startadjust line.start_time + syl.end_time + endadjust
syl2end line.start_time + syl.end_time + startadjust line.end_time + endadjust
postline line.end_time + startadjust line.end_time + endadjust
sylpct line.start_time + syl.start_time + line.start_time + syl.start_time +
startadjust*[Link]/100 endadjust*[Link]/100

Voici une image expliquant les différents modes de la fonction « retime » :

Tutoriel par Spyne21


Nous verrons des exemples d’utilisation dans la sous-partie « Création d’effet avec la fonction
« retime » (plus avancé) »

Fonction « relayer »

relayer(newlayer)

Change le numéro de calque de la ligne pour un nouveau numéro de calque. Si vous voulez générer
un numéro de calque statique, vous n'avez pas besoin de cette fonction. Vous avez juste à définir le
numéro de calque du template de la ligne.

Exemple : template syl : !relayer($si+1)!

Chaque syllabe aura un numéro de calque supérieur de 1 à la précédente syllabe.

Fonction « restyle »

restyle(newstyle)

Change le style de la ligne pour un nouveau style.


Aucun exemple parce que la fonction a une utilité limitée.

Attention : Le fait de changer de style influe sur le positionnement, l’espacement des caractères, etc..
, de la ligne ou de la syllabe. En effet cela ne met pas à jours ces informations. Ainsi, si vous changez
de style où si l'une de ces propriétés est différente, le positionnement et les informations de taille ne
seront pas valides.

Fonction « maxloop »

maxloop(newmax)

Permet de contrôler dynamiquement le nombre de fois qu'un template sera bouclé.

Attention : si vous utilisez cette fonction de manière incorrecte, cela peut entrainer un template qui
boucle à l'infini, jusqu'à ce qu’Aegisub manque de mémoire ou bien que vous annuliez la génération
du template.

Vous n'avez pas besoin d'utiliser le type « template loop » sur un template qui utilise cette fonction.

Exemple : !maxloop(j+1)!

Créer une boucle infinie qui ne s’arrêtera jamais puisqu’elle n’a aucune condition d’arrêt.

Fonction « remember/recall »

remember(name, value)

Stocke la valeur donnée avec le nom donné pour une utilisation ultérieure. Retourne la valeur
stockée.

Exemple : !remember("pos_sright",$sright)!

Ici nous stockons la valeur de la position gauche de la syllabe actuelle pour une utilisation prochaine.

Tutoriel par Spyne21


recall(name[, default]) ou [Link]

Retourne la valeur stockée par la fonction remember pour le nom donné.


Vous pouvez éventuellement donner une valeur par défaut qui est utilisé si il n'y a rien de stockée
pour le nom (ou la valeur stockée est fausse ou nul.)

Exemple : !recall.pos_sright!

Ici nous utilisons la valeur que nous avons stockée ultérieurement.

Remarque : Vous pouvez aussi rencontrer la fonction « set_temp(name, value) » dans certains
scripts ASS et qui est correspond à la même chose.

Pour plus d’informations complémentaires : Karaoke Templater Reference : Code execution


environment

Fonction « ms from frame »

ms = aegisub.ms_from_frame(frame)

Utilisez les données des images chargées pour convertir une image de la vidéo dans un temps absolu
en millisecondes.

Pour avoir la durée d’un frame :

frame_duration = (_G.aegisub.ms_from_frame(101) - _G.aegisub.ms_from_frame(1)) / 100

Cette fonction est utile pour décomposer une line/syllabe/caractère en plusieurs lignes.

Pour plus d’informations complémentaires : Automation 4 Lua Miscellaneous APIs

Les fonctions dans « [Link] »

Ces quatre fonctions Aegisub disponible dans le manuel ne sont pas les seules existante. En effet il
est possible d’avoir accès à d’autres fonctions, en allant voir dans le fichier [Link]

Toutes ces fonctions peuvent s’utiliser à l’intérieur des templates, des classes de code.

Pour les utiliser il suffit de mettre « _G. » avant chaque nom de fonction.

Voici une liste de ceux que vous serez le plus susceptible d’utiliser :

Fonction « ass_color »

colorstring = ass_color(r, g, b)

Permet d'avoir une couleur sous forme hexadécimal en sortie, en donnant 3 arguments, « r » (rouge),
« g » (vert) et « b » (bleu) sous forme de nombre compris entre « 0 et 255 » seulement.

Fonction « ass_alpha »

alphastring = ass_alpha(a)

Tutoriel par Spyne21


Permet d'avoir une transparence sous forme hexadécimal en sortie, en donnant un argument, « a »
sous forme de nombre compris entre « 0 et 255 » seulement.

Fonction « HSV_to_RGB »

r, g, b = HSV_to_RGB(h, s, v)

Transforme une couleur donnée de Teinte, Saturation, Valeur d'espace en Rouge, Vert et Bleu.

La valeur « h » est donnée en degrés, c'est à dire qu'il a une portée nominale comprise entre
« 0 et 360 ». Les valeurs « s » et « v » sont comprises entre « 0 et 1 ». Les valeurs de sortie
« r », « g » et « b » sont comprises entre « 0 et 255 ».

Fonction « interpolate »

outval = interpolate(t, a, b)

Permet d'interpoler entre « a » et « b ». « t » est la variable de temps entre 0 et 1.

Fonction « interpolate_color »

outcolor = interpolate_color(t, "color1", "color2")

Permet d'interpoler entre « color1 » et « color2 ». « t » est la variable de temps entre « 0 et 1 ». Les
couleurs doivent être au format hexadécimal. La couleur de sortie sera aussi en hexadécimal.

Fonction « interpolate_alpha »

outalpha = interpolate_alpha(t, "alpha1", "alpha2")

Permet d'interpoler entre « alpha1 » et « alpha2 ». « t » est la variable de temps entre « 0 et 1 ». Les
transparences doivent être au format hexadécimal. La transparence de sortie sera aussi en
hexadécimal.

Autres fonctions utiles :

Fonction « char_counter »

code line : ci = { 0 }; cn = _G.[Link](orgline.text_stripped:gsub(" ",""))


code syl : function char_counter(ref) ci[ref] = ci[ref] + 1; return "" end

La première ligne « code line » : contient l’initialisation de ci comme étant un tableau avec la valeur
« 0 ». La valeur « cn » nous retourne le nombre total de caractère sans les espaces du texte de la
ligne. « gsub(" ","") » est la fonction qui permet de remplacer les espaces en rien du tout.

La seconde ligne « code syl » : définie une fonction « char_counter » prenant un entier en entrée
(ref). ci[1] = ci[1] + 1 = 0 + 1 = 1 et ainsi de suite …

Exemple : fonction char_counter.ass

Tutoriel par Spyne21


Remarque : Si vous utilisez cette fonction pour plusieurs templates ayant des styles différents, il
peut être souhaitable de rajouter aux différentes classes de code « all » (cf : Tutoriel Karaoké – Partie
4).

Fonction « glitter » modifié

Originalement crée par une personne nommé « Pyointa ».

A utiliser avec « code once » :

Cette fonction permet d’effectuer un effet de scintillement avec augmentation passagère de l’échelle
suivant X et Y. Elle est très utilisée avec des effets de dessins.

Dans cette version modifié, vous devez ajuster vous-même la durée ou l’effet commence avec
« dur », la limite avec « limit », la première taille aléatoire « rand1 » comprise généralement entre
« la taille initiale de votre dessin et n », la taille du milieu de la durée, la seconde taille aléatoire
« rand2 » également comprise entre « la taille initiale de votre dessin et n ». « size_out »
correspond à la taille final que vous voulez obtenir.

En principe, dans la version originale de la fonction, « size_mid » et « size_out » ont la même


valeur, pouvant être un entier ou un nombre décimal positif seulement.

Exemple : fonction [Link]

Remarque : Si vous utilisez cette fonction pour plusieurs templates ayant des styles différents, il
peut être souhaitable de rajouter aux différentes classes de code « all » (cf : Tutoriel Karaoké – Partie
4).

Fonction « autotags » modifié

Originalement crée par une personne nommé « Asedark ».

A utiliser avec « code line » ou « code syl » :

Cette fonction permet d’alterner « deux ou n » balises pendant une durée et un intervalle fixé.
L’intervalle correspond à « interval », et doit être un entier ou décimal supérieur à « 0 ». La durée de
l’alternance correspond à « duration », et doit être un entier ou décimal supérieur à « 0 ».
Généralement, la valeur que vous renseignerez sera la durée de la ligne « $ldur »/« [Link] »
ou « $sdur »/« [Link] ». Enfin les balises « tags1 » et « tags2 » doivent être sous forme de
chaine.

Tutoriel par Spyne21


Il toutefois possible de mélanger à la fois chaine et variables entiers ou décimaux en utilisant la
concaténation (cf : Tutoriel Karaoké – Partie 4).

Exemple : fonction [Link]

Remarque : Si vous utilisez cette fonction pour plusieurs templates ayant des styles différents, il
peut être souhaitable de rajouter aux différentes classes de code « all » (cf : Tutoriel Karaoké – Partie
4).

Autres fonctions

Bien sûr vous pouvez rencontrer des scripts ASS utilisant d’autres fonctions. En effet il en existe
beaucoup, qui sont plus ou moins pertinentes. Il ne tiendra qu’à vous de les utiliser ou non, et surtout
de les comprendre par vous-même.

De plus, vous pouvez aussi créer vos propres fonctions, que vous pensez digne d’intérêt et qui vous
servira lors de la création de vos effets karaokés.

Création d’effet avec la fonction « retime » (plus avancé) :

Comme vous devez l’avoir remarqué, la fonction « retime » couplé avec la division de ligne en
syllabes ou caractères est une solution permettant à la fois d’utiliser toute les balises de façon
optimale, mais aussi de pouvoir influer sur le temps des lignes de la division de ligne en syllabes ou
caractères.

Explication sur les numéros de calque :

Afin de ne pas avoir de problème de superposition, il est essentiel de faire attentions aux numéros de
calques des templates.

C’est pourquoi il vous suffit d’appliquer les règles suivantes sur les « retime » :

- Les effets de dessin doivent avoir en principe le plus petit numéro de calque. Tous les autres
doivent être supérieurs de « 1 » par rapport à lui.
- « start2syl » doit être inférieur de « 1 » par rapport à « syl » mais supérieur de « 1 » par rapport
à « syl2end » lors des superpositions entre disparition et apparition.
- « syl » doit être supérieur de « 1 » par rapport à « start2syl ».
- « syl2end » doit être inférieur de « 1 » par rapport à « start2syl ».

Bien entendu, vous êtes libres d’appliquer ou non ces règles. Elles vous sont expliquées, afin de vous
éviter d’avoir des problèmes au niveau des numéros de calque.

Remarque : Il est possible d’avoir des cas particuliers ou ces règles ne s’appliquent pas forcement.

Exemple 1 : Exemple retime [Link]

Explication : Cet exemple est semblable à l’exemple « 1 » ou « 10 » de la première sous partie. La


particularité se situe dans au niveau de la fonction « retime ». Ici nous affichons la ligne « 300 ms »

Tutoriel par Spyne21


avant et elle disparait « 300 ms » après. De plus chaque syllabe apparait/disparait de façon croissante
en suivant le calcul « 50*$si » Pour plus d’information à propos du calcul, reportez-vous à l’exemple
5.

Exemple 2 : Exemple retime [Link]

Explication : Dans cet exemple, nous avons modifié le premier exemple tout en ajoutant un second
effet de syllabe. Cet effet de syllabe disparait « 300 ms » après la durée de la syllabe.

Exemple 3 : Exemple retime [Link]

Explication : Ici, nous avons repris le premier exemple de cette sous-partie en incluant un effet de
tremblement \jitter sur les trois templates « retime ».

Remarque : N’oubliez pas que la balise \jitter est une balise vsfiltermod, ainsi il vous faudra faire
en sorte de pouvoir le visualiser dans Aegisub.

Exemple 4 : Exemple retime [Link]

Explication : Nous effectuons un déplacement des syllabes de « 100 pixels » vers la gauche. A la fin
de la durée de la ligne, les syllabes retournent à leurs positions initiales.

Exemple 5 : Exemple retime [Link]

Explication : Voici un effet basique d’augmentation/diminution d’échelle avec changement de


couleur pendant la durée de la syllabe. Le seul point intéressant réside dans l’effet de dessin. Ici les
étoiles sont définies avec des rotations aléatoires suivant l’axe X, Y et Z. Elles partent du milieu de la
syllabe pour effectuer un mouvement aléatoire suivant X compris entre « -75 et 75 » et suivant Y
compris entre « -50 et 50 ». Pendant la durée du mouvement (qui correspond à la durée de la syllabe
+ 1000), des rotations aléatoires suivant l’axe X, Y et Z sont effectués. Enfin la fonction « glitter »
est utilisé, bien que peu voyant pour ce genre de couleur.

Tutoriel par Spyne21


Exemple 6 : Exemple retime [Link]

Explication : Cet exemple sert juste à vous montrer comment utiliser la fonction « autotag » dans un
template utilisant la fonction « retime ». Ici nous jouons avec la balise « frz » et la balise « 3c » en
alternant deux valeurs et couleurs opposés.

Exemple 7 : Exemple retime [Link]

Explication : Cet exemple sert juste à vous montrer comment utiliser la fonction « char_counter »
dans un template utilisant la fontion « retime ». Il y a aussi un effet aléatoire de rotation suivant l’axe
X, Y ou Z en fonction du caractère.

Exemple 8 : Exemple retime [Link]

Explication : Voici deux effets de syllabe utilisant les balises \clip pour l’un et \iclip pour l’autre. Au
moment où les syllabes doivent se jouer, l'une va apparaitre tandis que l'autre va disparaitre, le tout
de façon progressive.

Initialisation :

« \clip(!$[Link]!,$stop,!$[Link]!,$sbottom) »

Ici un rectangle est créé, qui va avoir la hauteur des syllabes, mais qui sera seulement sur la gauche.
En clair pour l'instant, le rectangle n'est pas visible car le côté droit est caché.

Déroulement :

« \t($sstart,$send,\clip(!$[Link]!,$stop,!$sright+[Link]!,$sbottom) »

Au moment où les syllabes ce jouent, on passe de l'état initial à cette état ci-dessus. Cette fois nous
voulons une progression de gauche à droite, donc il faut ajouter $sright.

Remarque :

- L'initialisation n'est pas facultative, elle est obligatoire !


- Lorsque vous utiliser des balises \clip, il faut veiller à prendre en compte les bordures. C'est
pourquoi dans le cas présent « [Link] » a été ajouté.
- Même principe pour \iclip, sauf qu'il effectue le contraire de \clip.
Tutoriel par Spyne21
Exercices :

Pour tous les exercices, vous pouvez télécharger ce fichier et les faire directement à partir de celui-
ci : [Link]

Exercice 1 :

Pour ce première exercice, vous devez créer un effet qui augmente d’échelle pendant « $sdur/2 »
puis revenir à son échelle initial à « $sdur ». Une fois revenu en place, les caractères de la syllabe
devront partir de façon aléatoire avec un mouvement de rotation suivant X, Y et Z eux-mêmes
aléatoires. Cette deux dernières étape se ferons de « $sdur » à « $sdur + 500 ».

Correction : Exercice retime [Link]

Exercice 2 :

Dans cet exercice, vous devez faire varier l’échelle suivant X ou Y choisi de façon aléatoire. La
variation s’effectuera de « 100 à 140 % » pour les deux toutes les « 50 ms ».

Remarque : Si vous ne le savez pas déjà, la fonction « autotags » est recommandé.

Correction : Exercice retime [Link]

Exercice 3 :

Vous devez faire un effet de syllabe qui positionne les caractères d’indice pair de « 10 pixels » vers
le haut, et les caractères d’indice impair de « 10 pixels » vers le bas. Les caractères auront toute la
durée de la syllabe pour atteindre la vraie position initiale des syllabes.

Remarque : Si vous ne le savez pas déjà, la fonction « char_counter » est plus que recommandé.

Correction : Exercice retime [Link]

Exercice 4 :

Vous devez réaliser un effet de dessin similaire à l’exemple 5 mais cette fois, avec les étoiles qui ne
commence et ne se termine pas en même temps. Le temps dépend de la durée de la syllabe en
fonction du nombre d’étoile. Elles partent du milieu de la syllabe pour effectuer un mouvement
aléatoire suivant X et Y compris entre « -75 et 75 ». Vous utiliserez également la fonction « glitter ».
L’échelle du dessin doit varier aléatoirement entre « 10 et 20 pixels » suivant X, et l’échelle suivant
Y doit être la même que suivant X. C’est-à-dire qu’ils devront avoir la même valeur aléatoire.

Remarque : L’utilisation de la fonction « remember » est recommandé.

Correction : Exercice retime [Link]

Exercice 5 :

Dans cet exercice, vous devez diviser votre syllabe en deux. L’une ira du haut de la syllabe jusqu’au
milieu et l’autre, du milieu vers le bas. De plus, le premier effectuera un mouvement de « 50 pixels
vers le haut », tandis que pour l’autre ce sera de « 50 pixels vers le bas ». Par ailleurs, il n’y aura
pas de « template retime syl2end ». Ainsi un fondu de « 300 ms » sur le « template syl sera
imposé.
Tutoriel par Spyne21
Remarque : Il vous faudra utiliser la balise \clip deux fois dans le « template syl » !!!

Correction : Exercice retime [Link]

Exercice 6 :

Réaliser un effet utilisant un dessin/point répété « n fois » qui effectuera une courbe de Bézier sur
quatre points de trajectoires aléatoires et revenant à la fin au centre et au milieu des syllabes. La
couleur du dessin/point sera blanche de couleur primaire et de bordure. Lorsqu’ils arriveront sur la
syllabe, elle devra se changer en blanc de couleur primaire et de bordure.

Remarque : Les valeurs aléatoires ne doivent pas être stockées directement dans la ligne du
template.

Correction : Exercice retime [Link]

Exercice 7 :

Dans cet exercice, vous devez répliquer votre syllabe vers la gauche et la droite dans des proportions
équivalentes à l’aide de boucle et en utilisant le changement d’échelle suivant X pendant ¼ du temps.
De plus vous devrez aussi flouter l’effet avec la fonction « interpolate_alpha » pendant la moitié du
temps. La couleur initiale sera blanche pour revenir au noir. Vous devrez tenir compte du nombre de
boucle pour avoir une bordure et un floutage de bordure en cohérence avec l’effet de « template
start2syl et syl2end ».

Remarque : Il est possible de faire ce genre d’effet en travaillant sur la position X/Y ou bien en
utilisant les balises de rotations couplé avec la balise d’origine \org.

Correction : Exercice retime [Link]

Exercice 8 :

Cet exercice porte sur le placement des kanjis. Faites en sorte de créer un template vous permettant
de placer les kanjis des lignes verticalement tout en tenant compte des différents alignements. De
plus il devra aussi tenir compte des différentes marges gauches et droites.

Vous pouvez le faire de la façon dont vous voulez, c’est-à-dire que vous pouvez directement le faire
en codes blocs dans le template, ou bien en passant par les classes de code.

Remarque : Il est conseillé de bien lire le « Tutoriel Karaoké – Partie 4 », sans quoi il vous sera
très difficile de le faire.

Correction : Exercice retime [Link]

Ne pas mettre de balise d’alignement \an<n> dans le script ASS de correction !!!
De plus le template ne permet pas de placer les espaces qui ont été ajouté manuellement dans la ligne
d’origine entre les kanjis. Cependant vous pouvez simuler un espace en ajoutant « {\k0} un_espace »

Exercice 9 :

Souvenez-vous de l’effet de tremblement de « l’exemple retime 3 ». Ici vous devez réaliser un effet
de tremblement uniquement sur les syllabes et sans utiliser vsfiltermod. Il y aura deux types

Tutoriel par Spyne21


d’intervalle possible. Le premier sera celui par défaut que vous obtiendrez avec la fonction « ms
from frame ». Le second sera une variable, ou vous fixerez un intervalle quelconque.

Remarque : Dans cet exemple il vous faut tenir compte du nombre de boucle nécessaire pour
réaliser cet effet, et des temps de syllabes que vous devez fixer. L’utilisation de la fonction
« remember » est recommandé.

Correction : Exercice retime [Link]

Exercice 10 :

Faite en sorte de déplacer le dessin suivant, syllabe par syllabe pendant toute la durée de la ligne. Le
dessin devra effectuer une rotation pendant la durée de la syllabe de « -180° ». Il devra arriver « 300
ms avant » et disparaitre « 300 ms après » avec la même rotation. Rajoutez « {\k0} » en début et fin
de ligne vous permettra de répondre au problème.

shape = "m 25 -7 l 0 36 l 50 36 l 25 -7"

De plus si le nom d’acteur est égal à « white », faite en sorte que la couleur primaire du dessin soit
blanche. On considère par défaut que la couleur est noire.
Enfin vous ajouterez un effet de type « pre-line » pour avoir les lignes de karaoké sans effets
particulier.

Attention : Le dessin doit être inférieur à la ligne de karaoké en termes de numéro de calque.

Remarque : Ne pensez pas pouvoir faire l’effet avec un seul dessin, mais il faut essayer de donner
l’illusion que c’est toujours le même !!!

Correction : Exercice retime [Link]

Initiation à la création de macros Aegisub et scripts NyuFX :

Une macro Aegisub, est en quelque sorte un petit logiciel à l’intérieur du logiciel. En effet, Il vous ait
possible d’écrire un script LUA, de le charger dans Aegisub (cf : voir la première partie du tutoriel) et
de générer un effet. Cependant il possible d’aller plus loin en créant un ou plusieurs type d’effet en
relation avec une interface qui s’affichera lorsque vous cliquerez dessus. Une interface peut être assez
pratique pour pouvoir modifier les détails d’un effet jusqu’au type d’effet même que vous voulez
avoir en sortie après génération. Cela permet de rendre « dynamique » votre script qui jusqu’alors
était « statique ».

Exemple de création de macro : [Link]

Pour plus d’information sur la façon de le charger sur Aegisub, veuillez consulter la première partie
du tutoriel.

NyuFX est petit logiciel de création d’effets karaokés, pouvant aussi servir pour l’édition. Il permet
de créer des scripts en langage LUA plus facilement que la création de Macro. De plus il comporte
une grande bibliothèque de fonction très pratique pour la création d’effets avancés.

Tout d'abord, téléchargez le logiciel et l'installer : [Link]

Ensuite pour pouvoir appliquer l'effet :

- Charger le script LUA à gauche,


Tutoriel par Spyne21
- Charger le script ASS (Input) à droite,
- Donner un nom de script ASS en sortie différent de celui de l'input (Output),
- Cliquer sur le bouton Générer.

Exemple de création de script NyuFX : Script_NyuFX.lua

Pour plus d’informations sur le fonctionnement du logiciel NyuFX, vous pouvez consulter un tutoriel
vidéo sur l’application du logiciel : How to apply effect with NyuFX

Les deux effets sont identiques à deux détails près.

Remarque : Les fichiers ont été commentés pour que vous puissiez les comprendre. Pour cela, il est
conseillé de les ouvrir avec un éditeur de texte tel que Notepad++.

Attention : la création de macro tout comme de script NyuFX, demande un minimum de


connaissance dans la création d’effet et surtout la programmation LUA.

Voici une liste des avantages et inconvénient entre l’automation 4 d’Aegsiub et NyuFX :

Avantages Inconvénients
- Possède beaucoup de fonctions utiles
pour la création avancée d’effets.
- Beaucoup plus court à écrire. - Pas de possibilité de création de
NyuFX - Placement des Kanjis en haut/bas macro.
automatiquement. - Pas pour les débutants.
- Utilisation des caractères ou mots déjà
prêt pour utilisation.
- Permet une prévisualisation directe
après génération avec possibilité de
faire des corrections/modifications plus - Pas de fonctions avancées.
Automation 4 facilement. - Impossible d’exploiter les
- Possibilité de création de macro. caractères facilement.
- Création de template pour les
débutants.

Bien sûr cette liste regroupe seulement les principaux avantages et inconvénients, il y en a bien
entendu d’autres.

Conclusion : Si vous avez acquis assez d’expérience avec les templates, et que vous désirez aller
plus loin tout en voulant continuer d’avoir un script ASS en sortie, NyuFX est conseillé. Cependant
si vous désirez créer des macros, il va sans dire qu’il vous faudra continuer à utiliser Aegisub mais de
façon différente.

Il est clair que ceci n’est qu’une introduction. Il n’est pas possible de faire un tutoriel complet sur la
création de macro ou de script NyuFX dès lors que vous venez à peine d’apprendre les templates
Aegisub. De plus ce serait très long à expliquer, et pas forcément facile pour vous à comprendre.

Les défauts qu’un karamaker doit prendre en compte :

Il n’était pas envisageable de finir ce tutoriels sans parler de ce qui différencie un bon karamaker
d’un mauvais ou bien d’une personne qui ne l’ait pas.

Voici une liste d’argument qu’un karamaker devrait considérer :


Tutoriel par Spyne21
- Ne pas accepter des fichiers k-time (fichier ASS synchronisé pour le karaoké) avec
traduction ayant des problèmes de temps. Une mauvaise traduction ou synchronisation
peut ruiner votre travail. Il vous faudra donc toujours vérifier ces points si vous ne
l’avez pas fait vous-même.
- Planifiez ce que vous voulez créer comme effets. Un grand nombre de
problèmes/corrections peut vous démotiver, voir ralentir votre progression et dans le
pire des cas, vous faire abandonner. C’est pourquoi si jamais vous n’arrivez pas à faire
ce que vous voulez, faite une pause.
- Il est important que les effets s’adaptent à la vidéo. Pour cela il vous faudra regarder la
vidéo et faire attention à certains éléments de la vidéo, le style de la musique ou bien
des éléments de base (lumières, mouvements simples), les crédits pour vous aider à
trouver des idées.
- Il faut faire attention au placement du karaoké sur la vidéo en le mettant tout en haut
pour les roumajis, tout en bas pour la traduction et si vous avez des kanjis, tout à gauche
verticalement.
- Apprenez ce que vous avez besoin ! Ne perdez pas du temps à apprendre de choses
difficiles pour impressionner les autres. Les effets qui sont simples restent les meilleurs.
Si vous voulez toutefois apprendre à faire des choses compliquées, n’attendez pas
d’avoir un karaoké à faire pour vous y mettre, faites des tests de ce que vous voulez
faire.
- Ne pas utiliser des effets que vous pouvez trouver sur internet ! Ils sont destinés à être
des références pour apprendre certains effets ou bien avoir des idées sur ce qu’il est
possible de faire. Prendre des effets déjà fait, ne fera pas de vous un karamaker, de
plus l’effet ne correspondra pas forcement à votre vidéo, et sera sans âme.
- Il faut tenir compte que votre karaoké doit être lisible, c’est sa vocation première. Il est
donc exclu de faire des effets pouvant altérer cette lisibilité.
- Il y a deux éléments pour les effets karaoké, le texte en lui-même et les dessins. Il faut
faire attention à ce que le dessin ne prenne pas le dessus (niveau de calque au-dessus du
texte). Ainsi il faut utiliser une bonne combinaison des deux, tout en se focalisant sur le
texte du karaoké.
- Le choix de la police, ainsi que sa taille reste crucial. En effet si vous choisissez un font
qui s'accorde avec la vidéo, dès lors vous aurez réussi à faire une bonne partie du
travail. Attention à ne pas utiliser des polices loufoque et illisible, il n’y a aucun intérêt
à faire ça, et ça ne mettra pas en valeur le karaoké.

Bien sûr il y en a d’autres, mais déjà en tenant compte de ces arguments, vous pourrez faire en sorte
de faire de vous un karamaker qui respecte à la fois la vidéo, les personnes qui la regarde/avec qui
vous travaillez et vous-même.

Annexes :

Deux annexes sont fournies comme étant des extensions du tutoriel.


La première annexe porte sur les différents types de dégradés de couleurs et de transparences.
La seconde annexe est une initiation à l’encodage de vos effets, lorsque vous voulez montrer un effet,
ou bien voir le rendu lorsque la prévisualisation de l’effet bug sur Aegisub.

Tutoriel par Spyne21

Vous aimerez peut-être aussi