Accueil  Tutoriels  Outils Karaoké  Téléchargements  Forum  Multimedia  Contact

SweetKaraoké

Sous-titrage de karaokés


La syntaxe du format de sous-titre SubStation Alpha V4.00 (SSA), V4.00+ (ASS) et V4.00++ (ASS2)



Accédez directement à :



Chapitre 1 : Généralités

Pré-requis : avoir déjà créé, modifié ou utilisé des fichiers sous-titres.

Origine : le format SSA correspond au format des fichiers de sous-titres générés à l'origine par l'éditeur de sous-titres SubStation Alpha. Par la suite, plusieurs modifications ont été apportées, donnant naissance au format ASS (Advanced SubStation Alpha). Ces formats permettent, contrairement à d'autres formats de sous-titre, une réelle gestion des styles et des effets sur le texte, et sont très populaire dans le monde du fansub et du karaoké. Le format ASS2 a été introduit, en novembre 2005, par Gabest dans son décodeur SSA/ASS/ASS2 : VSFilter. L'extension du format SSA est *.ssa, et l'extension des formats ASS et ASS2 est *.ass.

Traduction : le présent document est, à l'origine, la traduction, en français, de la documentation "Sub Station Alpha v4.00+ Script Format" (disponible dans le répertoire d'installation de VobSub : .\Gabest\VobSub\Docs\ass-specs.doc). J’ai pris la liberté de corriger les erreurs de la version anglaise, d’ajouter des exemples afin de mieux comprendre la documentation, de supprimer toutes les informations qui paraissaient obsolètes et d'ajouter les spécificités du format ASS2.

Nota : par la suite, je vais utiliser la convention suivante :
Toutes les informations exclusivement spécifiques au format de script ASS (Advanced SubStation Alpha) sont écrites en rouge.
Toutes les informations exclusivement spécifiques au format de script ASS2 (Advanced SubStation Alpha 2) sont écrites en vert.


1.   Structure du fichier.

La structure (script) d'un fichier SSA/ASS/ASS2 ressemble à celle d'un fichier .INI sous Windows et sa syntaxe à celle d'un document LaTex. Il s'agit d'un fichier au format "texte" pouvant être édité en utilisant n'importe quel éditeur de texte.

Attention tout de même, les scripts doivent respecter les règles décrites dans ce document, et n'importe quelle erreur insérée dans le code peut causer des résultats imprévisibles lorsque le script est lu.


2.   Le script est divisé en sections.

Un script SSA/ASS/ASS2 est subdivisé en différentes sections. On trouve, en en-tête de chaque section, un mot-clé, entre crochets, indiquant le type de la section, par exemple [Events].

A l’intérieur des sections, chaque ligne commence par un mot-clé suivi de deux points " : ", par exemple "Dialogue :". Il s’agit de la "description" de la ligne.


3.   Dans chaque section, la plupart des lignes commencent par une sorte de code, la "description".

La "description" définit quelle information est contenue dans cette ligne. La "description" (en rouge sur la photo ci-après) se termine par deux points (" : ").


La première ligne de chaque section commence par le mot-clé "Format :". Elle permet de décrire dans quel ordre le logiciel décodant le script SSA/ASS/ASS2 lira les champs des lignes suivantes de la section.


4.   Dans chaque ligne, les champs d'information sont séparés par des virgules (en rouge sur la photo ci-après).

Dans cet exemple, l’ordre des champs des lignes de dialogue, est défini par la ligne "Format :". En clair, chaque ligne de dialogue (Dialogue :) doit contenir les mêmes champs que la ligne de format (Format :) de la section courante, écrits dans le même ordre.


Nota : il est interdit d'utiliser des virgules pour les noms donnés aux "polices de caractères" et aux "styles".


5.   Les lignes de "dialogue" peuvent être rentrées dans un ordre non chronologique.

Même si les lignes de dialogue sont entrées dans un ordre aléatoire, les logiciels et décodeurs lisant les formats SSA/ASS/ASS2 sont capables de les lire correctement et dans le bon ordre.


6.   Les lignes ne peuvent pas être coupées.

Pour être lues correctement, les lignes (ligne de "Dialogue:" par exemple) d'un script ne doivent pas être coupées.


7.   Le style par défaut sera utilisé si des styles inconnus sont utilisés dans le script.

Si, par exemple, des lignes de dialogue ont été copiées à partir d'un autre script, sans que les champs d’information du style utilisé ne soient recopiés, alors, le style par défaut sera appliqué aux lignes de dialogue.


8.   Si un style spécifie une police qui n'est pas installée sur votre ordinateur, alors la police de caractère “Arial” sera utilisée à la place.

Cela peut arriver avec des scripts que vous n'avez pas créer vous-même – l'auteur ayant installé sur son ordinateur des polices de caractères que vous n'avez pas.


Chapitre 2 : Les différentes sections d’un script SSA/ASS/ASS2

[Script Info]
Cette section contient les informations générales du script.
La ligne qui affiche “[Script Info]” doit être la première ligne d’un script v4.00, V4.00+ ou V4.00++.

[V4 Styles] / [V4 Styles+] / [V4 Styles++]
Cette section contient toutes les définitions de styles requises par le script. Chaque “style” utilisé par au moins une ligne de sous-titre (dans un script) devra être défini ici.

[Events]
Cette section contient tous les évènements d’un script c’est-à-dire toutes les lignes de sous-titres, les commentaires, les images, les sons, les vidéos et les commandes. En clair, tout ce que vous voyez dans la fenêtre principale d'un éditeur de fichiers SSA/ASS/ASS2, tel que SubStation Alpha, VisualSubSync ou Aegisub est contenu dans cette section.

[Fonts]
Cette section contient les fichiers de police de caractères encodés en ASCII via la méthode UUEncode, si l'utilisateur a opté pour l'intégration de polices de caractères non-standard dans le script.

Nota : seules les polices TrueType peuvent être intégrées dans des scripts SSA/ASS/ASS2.

Chaque fichier de police de caractères commence par une ligne de la forme :
fontname: <nom du fichier>

Le mot “fontname” doit être en minuscule (les majuscules seront interprétées en tant que fichier encodé en ASCII via la méthode UUEncoding).

<nom de fichier> est le nom de la police de caractères. Il se décompose comme suit :

Par exemple :
fontname: chaucer_B0.ttf
fontname: comic_0.ttf

La ligne « fontname » est suivie par des lignes de caractères imprimables, représentant les valeurs binaires du fichier de police de caractères. Chaque ligne a une longueur de 80 caractères, excepté la dernière qui peut en avoir moins.

Remarque : La conversion de caractères binaires en caractères imprimables est une réalisée via la méthode UUEncoding (encodage ASCII (7 bits) de fichiers binaires).

[Graphics]
Cette section contient les fichiers graphiques (images) encodés en ASCII via la méthode UUEncode, si l'utilisateur a opté pour l'intégration d'images dans le script. Les fichiers binaires sont encodés en ASCII, assurant ainsi une entière compatibilité des scripts SSA/ASS/ASS2 avec n'importe quel éditeur de texte.

Chaque fichier graphique commence par une ligne de la forme :
filename: <nom du fichier>

Le mot “filename” doit être en minuscule (les majuscules seront interprétées en tant que fichier encodé en ASCII via la méthode UUEncoding).

<nom de fichier> est le nom du fichier image (graphique). Ce nom doit correspondre au nom du fichier image utilisé dans le script.

Si vous utilisez le logiciel SubStation Alpha, celui-ci sauvegarde tous les fichiers graphiques trouvés à l’intérieur d’un script dans le sous-répertoire “Pictures” du programme. Par exemple : c:\program files\Sub Station Alpha v4.00\Pictures. Lors du chargement d'une image, SubStation Alpha utilisera d'abord le chemin complet specifié dans le script, si l'image n'existe pas à cet emplacement, alors il la cherchera dans le répertoire “Pictures”.

La ligne « filename » est suivie par des lignes de caractères imprimables, représentant les valeurs binaires du fichier graphique.

Seules les images aux formats *.bmp, *.jpg, *.gif, *.ico et *.wmf sont supportées.

Remarque : La conversion de caractères binaires en caractères imprimables est une réalisée via la méthode UUEncoding (encodage ASCII (7 bits) de fichiers binaires).
Aucun filtre dshow ne permet de lire les images intégrées aux scripts. Un exemple d'intégration d'images est décrit dans l'Annexe B.

Chapitre 3 : Les types de lignes dans un script SSA/ASS/ASS2

Ce qui va suivre décrit brièvement les types de ligne pouvant apparaître dans un script SSA/ASS/ASS2. Chacune de ces lignes est expliquée en détail dans les chapitres suivants.


; : Permet d’ajouter un commentaire.

Title: Permet de faire une courte description du script.

Original Script: Le(s) auteur(s) du script.

Original Translation: (optionnel) Il s’agit de la personne qui retranscrit ou traduit les sous-titres.

Original Editing: (optionnel) L'éditeur(s) du script. Il s’agit, en général, de quelqu'un qui va reformuler la transcription/traduction effectuée précédemment afin d'en améliorer la lisibilité.

Original Timing: (optionnel) Il s’agit de la personne qui synchronise le script.

Synch Point: (optionnel) Décrit à quel moment dans la vidéo, le script démarre.

Script Updated By: (optionnel) Les noms des personnes ayant modifié le script original.

Update Details: Le détail des modifications apportées au script original.

ScriptType: C'est la version du format de script employée. Par exemple "V4.00", pour le SSA.

Collisions: Détermine comment les sous-titres vont être décalés, afin d’éviter les collisions (ou les chevauchements) entre sous-titres, à l’écran.

PlayResY: C'est la résolution verticale de l'écran d'ordinateur utilisé par les auteurs du script lors de la lecture du script (je vous conseille plutôt d’y inscrire la résolution verticale de la vidéo).

PlayResX: C'est la résolution horizontale de l'écran d'ordinateur utilisé par les auteurs du script lors de la lecture du script (je vous conseille plutôt d’y inscrire la résolution horizontale de la vidéo).

PlayDepth: Ce paramètre définit le nombre de couleurs disponibles lors de l’affichage des sous-titres. Ce paramètre est, aujourd’hui, devenu obsolète du fait du nombre important de couleurs disponibles sur la plupart des micros.

Timer: C'est la « vitesse de lecture » du script, en pourcent.
Par exemple : "100.0000" signifie 100% de la vitesse originelle du script.

Style: Type de ligne réservé à la description des styles. Il s'agit des caractéristiques (police, taille du texte...) du texte affiché par le script.

Dialogue: Type de ligne réservé aux "Dialogues", c’est-à-dire à l’ensemble du texte affiché à l’écran par le script.

Comment: Type de ligne réservé aux "Commentaires". La ligne contient les mêmes informations qu'une ligne de type Dialogue, Picture, Sound, Movie, ou Command, mais est ignorée durant la lecture du script.

Picture: Type de ligne réservé aux "Images". Le format permet l'affichage d'images aux formats *.bmp, *.jpg, .gif, *.ico ou *.wmf.

Sound: C'est la partie réservée aux "Sons". Le format permet la lecture de fichier son au format *.wav.

Movie: C'est la partie réservée à la "Vidéo". Le format permet la lecture de fichier vidéo au format *.avi.

Command: C'est la partie réservée aux "Commandes". Le format permet l'exécution, en tâche de fond, d'un programme.


Chapitre 4 : Lignes d’informations générales du script, section [Script Info]

Voici, tout d’abord, un exemple de section [Script Info] :



;
: Point-Virgule. N'importe quel texte peut suivre ce point-virgule.
En général, il s’agit d’un commentaire utilisé seulement dans le fichier de script. Il n'est pas visible lorsque vous lisez le script SSA/ASS/ASS2. Le point-virgule doit être le premier caractère de la ligne.
 
Title: Permet de faire une courte description du script. Si le(les) auteur(s) original(aux) n'a(ont) pas renseigné ce champ, alors l'expression <untitled> est automatiquement rentrée.
 
Original Script: Le(les) auteur(s) original(aux) du script. Si le(les) auteur(s) ne renseigne(nt) pas ce champ, alors l'expression <unknown> est automatiquement rentrée.
 
Original Translation:(optionnel) Il s’agit de la personne qui retranscrit ou traduit les dialogues (sous-titres). Ce champ n'apparaît pas si aucune information n’est entrée par l'auteur.
 
Original Editing: (optionnel) L'éditeur(s) du script. Il s’agit, en général, de quelqu'un qui va reformuler la transcription/traduction effectuée précédemment afin d'en améliorer la lisibilité. Ce champ n'apparaît pas si aucune information n'est entrée par l'auteur.
 
Original Timing: (optionnel) Il s’agit de la personne qui synchronise le script. Ce champ n'apparaît pas si aucune information n’est entrée par l'auteur.
 
Synch Point: (optionnel) Décrit à quel moment le script démarre. Ce champ n'apparaît pas si aucune information n’est entrée par l'auteur.
 
Script Updated By: (optionnel) Les noms des personnes ayant modifié le script original. Ce champ n'apparaît pas si aucune information n’est entrée.
 
Update Details: Le détail des modifications apportées au script original par d’autres personnes. Ce champ n'apparaît pas si aucune information n’est entrée.
 
ScriptType: C'est la version du format de script employée. Par exemple "V4.00", pour le SSA.
La version du format de script ASS, est "V4.00+".
La version du format de script ASS2, est "V4.00++".

Collisions: Détermine comment les sous-titres vont être décalés, afin d’éviter les collisions (ou les chevauchements) entre sous-titres, à l’écran. Ce phénomène apparaît lorsque deux lignes de sous-titre apparaissent dans un même laps de temps.
 
Si le champ affiche "Normal" alors les sous-titres sont positionnés de telle manière à s'approcher le plus de la position spécifiée par les “marges”. Cependant, les sous-titres peuvent être décalés verticalement pour prévenir des collisions à l'écran. Les “espaces”, laissés vides par des lignes de sous-titre précédemment affichées, sont automatiquement comblés par d'autres lignes de sous-titre s’il y a assez de place.

Si le champ affiche "Reverse" alors les sous-titres sont systématiquement décalés vers le haut pour faire de la place aux sous-titres qui se chevauchent. Cela signifie que les sous-titres peuvent toujours facilement être lus de haut en bas – mais cela veut aussi dire que le premier sous-titre peut apparaître au milieu de l'écran avant que le chevauchement des sous-titres soit visible. Cela peut prendre pas mal de place à l'écran !

PlayResY: La résolution verticale de l'écran d'ordinateur utilisé par l'auteur du script lors de la lecture du script (je vous conseille plutôt d’y inscrire la résolution verticale de la vidéo).

PlayResX: La résolution horizontale de l'écran d'ordinateur utilisé par l'auteur du script lors de la lecture du script (je vous conseille plutôt d’y inscrire la résolution horizontale de la vidéo).
 
PlayDepth: Ce paramètre définit le nombre de couleurs disponibles lors de l’affichage des sous-titres. Ce paramètre est, aujourd’hui, devenu obsolète du fait du nombre important de couleurs disponibles sur la plupart des micros.
 
Timer: C'est la vitesse de lecture du script, en pourcent.
Par exemple : "100.0000" signifie 100% de la vitesse originelle du script. Il est composé de 4 chiffres après le point décimal.

La vitesse de lecture est un coefficient multiplicateur temporel appliqué à l'horloge interne du script SSA/ASS/ASS2 pour augmenter ou diminuer la durée du script. Une vitesse plus grande que 100% réduira la durée moyenne globale, ce qui signifie que les sous-titres apparaîtront progressivement de plus en plus tôt. Une vitesse inférieure à 100 % augmentera la durée moyenne globale du script, ce qui signifie que les sous-titres apparaîtront progressivement de plus en plus tard.

L'étirement ou la compression se produit seulement durant la lecture du script – cette valeur ne change pas les timings des évènements listés dans le script.

WrapStyle: Définit le style de découpage de lignes

Chapitre 5 : Les lignes de Style, section [v4 Styles], [v4+ Styles], [v4++ Styles]

Les styles définissent l'apparence et le positionnement des sous-titres. Tous les styles utilisés par le script sont définis par une ligne "Style" dans le script.

N'importe quels paramètres, (excepté le type d'ombre/contour et la profondeur de couleur) peuvent être annulés par des codes (à insérer dans des balises : Annexe A) dans le texte du sous-titre.

Les champs qui apparaissent dans chaque ligne de "Style" sont définis dans une ligne spéciale commençant par l'expression : “Format :”. La ligne de Format doit apparaître avant les "Styles" car elle définit comment les logiciels et décodeurs lisant les formats SSA/ASS/ASS2 interpréteront les lignes de "Style" (dans quel ordre le logiciel / décodeur lira les champs des différentes lignes de "Style"). Les noms des champs listés dans la ligne de Format doivent être écrits correctement !

Les champs peuvent être les suivants :

En SSA :

Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding

En ASS :

Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding

En ASS2 :

Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginT, MarginB, Encoding, RelativeTo

La ligne de "Format" est évolutive et permettra d’ajouter de nouveaux champs au format de script, dans le futur.



Champ 1: Name. Le nom du style. Il ne peut contenir de virgules.
Sensible à la casse (distinction entre les majuscules et les minuscules).
 
Champ 2: Fontname. Le nom de la police de caractères utilisée. Il ne peut contenir de virgules. Sensible à la casse (distinction entre les majuscules et les minuscules).
 
Champ 3: Fontsize. La taille de la police de caractères.
 
Champ 4: PrimaryColour. Un "entier" BGR (Blue (bleu)-Green(vert)-Red(rouge)) de type long. L'ordre des octets dans un équivalent hexadécimal de ce nombre est BBGGRR.
C’est la couleur avec laquelle apparaît normalement le sous-titre.
 
Champ 5: SecondaryColour. Un "entier" BGR (Blue (bleu)-Green(vert)-Red(rouge)) de type long. L'ordre des octets dans un équivalent hexadécimal de ce nombre est BBGGRR.
C’est la couleur avec laquelle apparaît le sous-titre lorsque le mode karaoké est activé. Cette couleur remplace également et automatique la couleur primaire en cas d’affichage de deux sous-titres en même temps.
 
Champ 6: TertiaryColour. Un "entier" BGR (Blue (bleu)-Green(vert)-Red(rouge)) de type long. L'ordre des octets dans un équivalent hexadécimal de ce nombre est BBGGRR.
Cette couleur remplace automatique la couleur primaire ou secondaire en cas d’affichage de trois lignes de sous-titres en même temps.

Champ 6: OutlineColor. La couleur des bordures des sous-titres si le champ 11 contient une valeur strictement supérieure à 0.

Champ 7: BackColour. Un "entier" BGR (Blue (bleu)-Green(vert)-Red(rouge)) de type long. L'ordre des octets dans un équivalent hexadécimal de ce nombre est BBGGRR.
C’est la couleur des bordures et de l’ombre des sous-titres s’ils sont utilisés.

Champ 7: BackColour. La couleur de l'ombre des sous-titres si le champ 12 contient une valeur strictement supérieure à 0.
 
Champ 4 à 7: Les couleurs sont codées en hexadécimal sur 8 caractères (précédées des caractères "&H" et suivies du caractère "&") : les 2 premiers caractères gèrent la transparence, les 6 derniers, la couleur (BBGGRR).
Ex : &H80AA50FF&.
 
Champ 8: Bold. Définit si le texte est en gras (-1 = activé) ou pas (0 = désactivé). Il est indépendant du champ "Italic". Vous pouvez avoir, à la fois, du texte en gras et en italique.
 
Champ 9: Italic. Définit si le texte est en italique (-1 = activé) ou pas (0 = désactivé). Il est indépendant du champ "Bold". Vous pouvez avoir, à la fois, du texte en gras et en italique.
 
Champ 9.1: Underline. Active [-1] ou non [0] le soulignement du texte.
 
Champ 9.2: Strikeout. Active [-1] ou non [0] le texte barré.
 
Champ 9.3: ScaleX. Modifie la largeur de la police (distorsion). [en pourcent]. Exemple : avec une valeur de 150, la largeur de chacune des lettres est augmentée de 50% par rapport à la taille originale (100%).
 
Champ 9.4: ScaleY. Modifie la hauteur de la police (distorsion). [en pourcent]. Exemple : avec une valeur de 150, la hauteur de chacune des lettres est augmentée de 50% par rapport à la taille originale (100%).
 
Champ 9.5: Spacing. Espacement entre les lettres. [en pixels].
 
Champ 9.6: Angle. [en degrés]. L'angle d'origine de la rotation est défini par l'alignement ("Alignment"). Il peut être un nombre à virgule.
 
Champ 10: BorderStyle. Il s’agit du style des bordures et des ombres. 1 = Outline + drop shadow (contours + zone d'ombre), 3 = Opaque box (opaque).
 
Champ 11: Outline. Si le champ "BorderStyle" est à 1, il définit la largeur du contour autour du texte en pixels. Les valeurs peuvent être 0,1,2,3,4... (valeur positive).
 
Champ 12: Shadow. Si le champ "BorderStyle" est à 1, il définit le décalage, en pixels, entre le texte et son ombre. Les valeurs peuvent être 0,1,2,3,4... (valeur positive). Il est toujours utilisé en plus du champ "Outline" (contour).
 
Champ 13: Alignment. Ce champ permet de définir comment le texte sera "justifié" par rapport aux marges Gauche/Droite de la vidéo, et, également le positionnement vertical du texte. Les valeurs peuvent être 1=en Bas à Gauche, 2=en Bas à Centré, 3=en Bas à Droite. Ajoutez 4 à la valeur pour un affichage en haut d'écran. Ajoutez 8 à la valeur pour un affichage au milieu d'écran).
 
Champ 13: Alignment. Cette valeur définit l’emplacement du sous-titre dans la vidéo. Les valeurs possibles sont de 1 à 9. Les positions sont celles des touches du clavier alphanumérique.

Champ 14: MarginL. Il définit la marge à gauche de la vidéo. Cette valeur est exprimée en pixels.

C'est la distance à partir du coin gauche de l'écran. Les 3 marges (MarginL, MarginR, MarginV) définissent les zones dans lesquelles le texte du sous-titre sera affiché.
 
Champ 15: MarginR. Il définit la marge à droite de la vidéo. Cette valeur est exprimée en pixels.
C'est la distance à partir du coin droit de l'écran. Les 3 marges (MarginL, MarginR, MarginV) définissent les zones dans lesquelles le texte du sous-titre sera affiché.
 
Champ 16: MarginV. Il définit la marge verticale (en haut et en bas). Cette valeur est exprimée en pixels.
Pour un sous-titre en bas de l’écran, c'est la distance par rapport au bas de la vidéo.
Pour un sous-titre en haut de l’écran, c'est la distance par rapport au haut de la vidéo.
Pour un sous-titre au milieu de la vidéo, cette valeur est ignorée.

Champ 16: MarginV. N'existe pas dans le format ASS2.

Champ 16.1: MarginT. Il définit la marge verticale en haut de la vidéo. Cette valeur est exprimée en pixels.
Pour un sous-titre en haut de l’écran, c'est la distance par rapport au haut de la vidéo.
Pour un sous-titre au milieu de la vidéo, cette valeur est ignorée.

 
Champ 16.2: MarginB.Il définit la marge verticale en bas de la vidéo. Cette valeur est exprimée en pixels.
Pour un sous-titre en bas de l’écran, c'est la distance par rapport au bas de l'écran.
Pour un sous-titre au milieu de la vidéo, cette valeur est ignorée.

 
Champ 17: AlphaLevel. Il définit la transparence du texte. 0 : opaque, 255 : transparent.
 
Champ 17:  AlphaLevel. N'existe pas dans le format ASS.

Champ 17:  AlphaLevel. N'existe pas dans le format ASS2.
 
Champ 18: Encoding. Ceci indique le jeu de caractères ou le codage de polices (Annexe C) et, sur les installations multilingues de Windows, il permet d'accéder aux caractères utilisés dans d’autres langues.
Ex :      128 pour le japonais
            0 pour l’anglais (Western, ANSI) Windows

Champ 19: RelativeTo. N'existe pas dans le format SSA.

Champ 19: RelativeTo. N'existe pas dans le format ASS.



Champ 19: RelativeTo. Les valeurs du champ sont [0] et [1] (en fait, la valeur "1" peut être remplacée par n'importe quelle valeur différente de "0").
Lorsqu'une vidéo est enregistrée avec une résolution non standard, il peut apparaître des bandes noires en haut et en bas de la vidéo lorsque celle-ci est lue en mode plein écran.
Si le champ "RelativeTo" est à 0, les coordonnées permettant de déterminer la position des lignes de sous-titre sont calculées en incluant les bandes noires (Relative to Screen).
Si le champ "RelativeTo" est à 1, les coordonnées permettant de déterminer la position des lignes de sous-titre sont calculées sont tenir compte des bandes noires (Relative to Frame), comme c'est le déjà le cas avec les formats SSA et ASS.

Chapitre 6 : Les lignes de Dialogue, section [Events]

Ces lignes contiennent le texte des sous-titres, l’intervalle de temps dans lequel ils apparaissent, et la manière dont ils sont affichés.

Les champs qui apparaissent dans chaque ligne de "Dialogue" sont définis dans une ligne spéciale commençant par l'expression : “Format :”. La ligne de Format doit apparaître avant les "Dialogues" car elle définit comment les logiciels et décodeurs lisant les formats SSA/ASS/ASS2 interpréteront les lignes de "Dialogue" (dans quel ordre le logiciel lira les champs des différentes lignes de "Dialogue"). Les noms des champs listés dans la ligne de Format doivent être écrits correctement et sont les suivants :

En SSA :

Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text

En ASS :

Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text

En ASS2 :

Layer, Start, End, Style, Name, MarginL, MarginR, MarginT, MarginB, Effect, Text

Le dernier champ sera toujours le champ pour le Texte. Il pourra contenir des virgules. La ligne de "format" est évolutive et permettra d’ajouter de nouveaux champs au format de script, dans le futur.



Champ 1: Marked
Marked=0 signifie que la ligne n’apparaît pas en tant que "marquée" dans le logiciel SubStation Alpha.
Marked=1 signifie que la ligne apparaît en tant que "marquée" dans le logiciel SubStation Alpha.
 
Champ 1: Layer (calque) (n'importe quel nombre entier). La ligne de sous-titre ayant le numéro de calque le plus élevé sera positionnée au-dessus de celles en ayant un inférieur.
Les sous-titres ayant des numéros de calque différents seront ignorés durant la détection des collisions.
 
Champ 2: Start
Temps de départ de la ligne de dialogue, au format 0:00:00:00 c’est-à-dire en Hrs:Mins:Secs:Centièmes. Il s’agit de l’instant à partir duquel la ligne de dialogue (sous-titre) sera affichée à l’écran. Notez qu'il ne peut y avoir qu’un seul chiffre pour les heures.
 
Champ 3: End
Temps de fin de la ligne de dialogue, au format 0:00:00:00 c’est-à-dire en Hrs:Mins:Secs:Centièmes. Il s’agit du temps à partir duquel la ligne de dialogue (sous-titre) ne sera plus affichée à l’écran. Notez qu'il ne peut y avoir qu’un seul chiffre pour les heures.
 
Champ 4: Style
Nom du Style utilisé dans la ligne de dialogue. Le style par défaut est le style *Défault.
 
Champ 5: Name
Nom du Personnage. C'est le nom de la personne qui prononce le dialogue (sous-titre). Ce champ n’est présent qu’à titre indicatif afin de rendre le script plus facile à suivre lors de l'édition/synchronisation.
 
Champ 6: MarginL
Il s’agit de la marge à gauche de l’écran. Les valeurs sont en pixels. Si la valeur est à "zéro", ce sera la marge définie dans le style qui sera prise en compte.
 
Champ 7: MarginR
Il s’agit de la marge à droite de l’écran. Les valeurs sont en pixels. Si la valeur est à "zéro", ce sera la marge définie dans le style qui sera prise en compte.
 
Champ 8: MarginV
Il s’agit des marges verticales (en haut et en bas) de l’écran. Les valeurs sont en pixels. Si la valeur est à "zéro", ce sera la marge définie dans le style qui sera prise en compte.
 
Champ 8: MarginV. N'existe pas dans le format ASS2.
 
Champ 8.1: MarginT. Il définit la marge verticale en haut de la vidéo. Cette valeur est exprimée en pixels.
 
Champ 8.2: MarginB.Il définit la marge verticale en bas de la vidéo. Cette valeur est exprimée en pixels.
 
Champ 9: Effect
Effet de Transition. Le champ est soit vide, soit il contient une information pour l'un des trois effets de transition implémentés dans SSA v4.x
 
Ces trois effets sont devenus obsolètes depuis l’implantation de la syntaxe ASS (Advanced SubStation Alpha) dans les scripts (Annexe A).
 
Les noms des effets doivent être écrits de la même manière que dans cette documentation, sans les guillemets.
 
1. "Karaoke" signifie que l’effet karaoké (highlight) se fait mot à mot ou syllabe par syllabe.
 
Karaoke en tant que type d'effet est obsolète pour le format de script ASS.
Karaoke en tant que type d'effet est obsolète pour le format de script ASS2.

2. "Scroll up;y1;y2;delay[;fadeawayheight]" signifie que le texte/l'image défilera à l'écran de bas en haut. Les paramètres, après les mots "Scroll up", sont séparés par des points-virgules.
 
Les valeurs de y1 et y2 définissent les coordonnées verticales entre lesquelles le texte défilera. Les valeurs sont en pixels, et l’ordre d’entrée de y1 et y2 n'a aucune importance.
Si les valeurs sont à zéro, le texte défilera sur toute la hauteur de l'écran.
 
La valeur du délai (delay) peut être un nombre compris entre 1 et 100. Plus le nombre est grand, et plus la vitesse de défilement diminue. Si cette valeur vaut zéro, alors le défilement se fera le plus rapidement possible.

La valeur "fadeawayheight" permet de régler le niveau de l'effet de "dégradé de transparence" lors du défilement du texte. Par défaut, la valeur est 50.

Exemple de script :

Dialogue: Marked=0,0:00:00.00,0:00:10.00,*Default,NTP,0000,0000,0000,Scroll up;0;100;40;50,mayottara hajimannai

Résultat :


[Cliquez sur l'image pour voir l'effet]

"Scroll down;y1;y2;delay[;fadeawayheight]" signifie que le texte/l'image défilera à l'écran de haut en bas. Les paramètres, après les mots "Scroll down", sont séparés par des points-virgules.
 
Les valeurs de y1 et y2 définissent les coordonnées verticales entre lesquelles le texte défilera. Les valeurs sont en pixels, et l’ordre d’entrée de y1 et y2 n'a aucune importance.
Si les valeurs sont à zéro, le texte défilera sur toute la hauteur de l'écran.
 
La valeur du délai (delay) peut être un nombre compris entre 1 et 100. Plus le nombre est grand, et plus la vitesse de défilement diminue. Si cette valeur vaut zéro, alors le défilement se fera le plus rapidement possible.

La valeur "fadeawayheight" permet de régler le niveau de l'effet de "dégradé de transparence" lors du défilement du texte. Par défaut, la valeur est 50.

Exemple de script :

Dialogue: Marked=0,0:00:00.00,0:00:10.00,*Default,NTP,0000,0000,0000,Scroll down;0;100;40;50,mayottara hajimannai

Résultat :


[Cliquez sur l'image pour voir l'effet]

3. "Banner;delay" signifie que le texte apparaîtra sur une seule ligne, sans découpage si le texte et trop long pour rentrer à l’écran. Il défilera sur l’écran de droite à gauche.
 
La valeur du délai (delay) peut être un nombre compris entre 1 et 100. Plus le nombre est grand, et plus la vitesse de défilement diminue. Si cette valeur à zéro, alors le défilement se fera le plus rapidement possible.
 
"Banner;delay[;lefttoright;fadeawaywidth]"
 
lefttoright : 0 ou 1. Ce champ est optionnel.
La valeur par défaut est 0.
0 signifie que le défilement se fera de droite à gauche.
"fadeawaywidth" est équivalent à "fadeawayheight".

Exemple de script :

0 signifie que le défilement se fera de droite à gauche.

 Dialogue: Marked=0,0:00:00.99,0:00:06.07,*Default,NTP,0000,0000,0000,Banner;6;0;100,asettemo onaji nan ja nai?

Résultat :


[Cliquez sur l'image pour voir l'effet]


Exemple de script :

1 signifie que le défilement se fera de gauche à droite.

 Dialogue: Marked=0,0:00:00.99,0:00:06.07,*Default,NTP,0000,0000,0000,Banner;6;1;100,asettemo onaji nan ja nai?

Résultat :


[Cliquez sur l'image pour voir l'effet]

Lorsque le délai (delay) est plus grand que 0, le temps que mettra le texte à bouger d’un pixel en hauteur sera de (1000/delay) seconde.
 
Les paramètres fadeawayheight et fadeawaywidth peuvent être utilisés pour rendre transparents les côtés du défilement du texte.
 
Champ 10: Text
Texte des sous-titres. C'est le texte qui sera affiché en tant que sous-titre à l'écran. Tout ce qui est écrit après la 9ème virgule (SSA, ASS) ou la 10ème virgule (ASS2) est traité en tant que texte de sous-titre et peut contenir des virgules.
 
Le texte peut inclure le code \n qui correspond au saut de ligne, ainsi que d’autres codes (Annexe A) délimités par des crochets { et } et formant des balises.

Chapitre 7 : Lignes de Commentaire (Comment), section [Events]

Ces lignes peuvent contenir les mêmes informations que les autres types de lignes de la section [Events], mais elles seront ignorées lors de la lecture du script.


Chapitre 8 : Les lignes prévues pour les Images (Picture), section [Events]


Ces lignes contiennent les mêmes informations que les lignes de "Dialogue", mis à part le champ 10 qui contient le nom et le chemin complet du répertoire dans lequel se trouve le fichier "Image" à afficher, à la place du texte du sous-titre.

Le Style spécifié est ignoré. L'effet de transition "scroll up" peut être utilisé pour les lignes de type "Picture".

Les marges Gauche et Verticale déterminent la position de l'image. Une marge Gauche de "zéro" signifie que l'image sera centrée horizontalement. Une marge Verticale de "zéro" signifie que l'image sera centrée verticalement.

Remarque : pour insérer une image dans un script ssa, ouvrez le logiciel SubStation Alpha et cliquez sur le bouton "Browse for picture, sound, movie or command".




Chapitre 9 : Les lignes prévues pour le Son (Sound), section [Events]


Ces lignes contiennent les mêmes informations que les lignes de "Dialogue", mis à part le champ 10 qui contient le nom et le chemin complet du répertoire dans lequel se trouve le fichier "Son" (au format wav) à jouer, à la place du texte du sous-titre.

Le Style et les marges sont ignorés. Le temps de Fin (End) de la ligne est également ignoré – le fichier "Son" (au format wav) sera joué jusqu’à se qu’il se termine, ou jusqu’à se qu’un autre fichier wav soit joué.

Si un fichier "Vidéo" au format *.avi est lu en même temps que le fichier "Son", alors aucun son en provenance du fichier "Vidéo" ne sera entendu. Inversement, si un fichier "Son" est lu alors qu’un fichier "Vidéo" contenant du son est déjà en train d’être joué alors le fichier "Son" ne pourra pas être entendu.


Chapitre 10 : Les lignes prévues pour la Vidéo (Movie), section [Events]

Ces lignes contiennent les mêmes informations que les lignes de "Dialogue", mis à part le champ 10 qui contient le nom et le chemin complet du répertoire dans lequel se trouve le fichier "Vidéo" (au format avi) à jouer, à la place du texte du sous-titre.

Le Style est ignoré ainsi que les effets de transition. Le temps de Fin (End) de la ligne spécifie le moment où l’image de la vidéo disparaît, mais si le fichier "Vidéo" est plus long, alors le son de la vidéo continuera à être joué.

Les marges Gauche et Verticale déterminent la position de la vidéo. Une marge Gauche de "zéro" signifie que la vidéo sera centrée horizontalement. Une marge Verticale de "zéro" signifie que la vidéo sera centrée verticalement.

Si un fichier "Vidéo" au format *.avi est lu en même temps que le fichier "Son", alors aucun son en provenance du fichier "Vidéo" ne sera entendu. Inversement, si un fichier "Son" est lu alors qu’un fichier "Vidéo" contenant du son est déjà en train d’être joué alors le fichier "Son" ne pourra pas être entendu.


Chapitre 11 : Les lignes prévues pour les Commandes (Command), section [Events]

Ces lignes contiennent les mêmes informations que les lignes de "Dialogue", mis à part le champ 10 qui contient le nom et le chemin complet du répertoire dans lequel se trouve le programme à exécuter, à la place du texte du sous-titre.

Le Style, les marges, les effets de transition ainsi que le temps de Fin (End) de la ligne seront ignorés – le programme s’exécutera intégralement ou jusqu’à ce qu’il soit fermé manuellement.

Des commandes internes à SubStation Alpha peuvent apparaître dans les scripts ssa - les commandes "SSA:Pause" et "SSA:Wait audio for trigger". Elles commencent toutes par "SSA:"


Annexe A : Codes SSA, ASS et ASS2

Les codes SSA, ASS et ASS2.

Annexe B : Encodage des polices/images intégrées aux scripts SSA, ASS et ASS2

Encodage des polices/images intégrées aux scripts SSA, ASS et ASS2.

Annexe C : Les différents jeux de caractères ou codages des polices

Les différents jeux de caractères ou codages des polices.

Nombre total de visiteurs :