lundi 10 mars 2014

Format de sous-titres ASS, édition et capacités

C'est en voulant regarder le film d'animation japonais The Garden of Words (言の葉の庭) que j'ai découvert quelques capacités du format de sous-titres SSA/ASS.
En fait, celui-ci n'existe qu'en VO ou VOSTEN, mais même si il est possible de trouver des sous-titres en français (pour ne pas perdre de temps à la lecture, ratant de ce fait les images magnifiques), on perd alors le joli style (enfin la police quoi) donné aux écritures.


Je suis donc parti dans l'adaptation de mon "pauvre" sous-titrage français au format SRT :
1
00:00:38,706 --> 00:00:42,084
Je ne connaissais pas ces choses-là
il y a encore deux mois,

2
00:00:42,334 --> 00:00:43,586
avant d'entrer au lycée.

vers le format ASS qui permet d'utiliser des polices :

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: garden,LTFinnegan Medium,72,&H00FFF7E7,&H000000FF,&H00042419,&H00475244,0,0,0,0,100,100,0,0,1,3.5,2,2,15,15,65,1
[...]
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:38.70,0:00:42.08,garden,Unknown,0,0,0,,{\i1}Je ne connaissais pas ces choses-là\Nil y a encore deux mois,{\i0}
Dialogue: 0,0:00:42.33,0:00:43.58,garden,Unknown,0,0,0,,{\i1}avant d'entrer au lycée.{\i0}


D'abord, les sous-titres et les polices utilisées sont inclues dans le MKV.

> mkvmerge -i "The_Garden_of_Words.mkv"
Fichier 'The_Garden_of_Words.mkv' : conteneur : Matroska
Piste numéro 0 : video (V_MPEG4/ISO/AVC)
Piste numéro 1 : audio (A_FLAC)
Piste numéro 2 : subtitles (S_TEXT/ASS)
Pièce jointe numéro 1 : type 'application/x-truetype-font', taille 4654020 octets, nom de fichier 'A-OTF-Jun501Pro-Bold.
otf'
Pièce jointe numéro 2 : type 'application/x-truetype-font', taille 4796008 octets, nom de fichier 'G-OTF-GJun501Pro-Bold
.otf'
Pièce jointe numéro 3 : type 'application/x-truetype-font', taille 42980 octets, nom de fichier 'ITCGaramondStd-Bk.otf'
Pièce jointe numéro 4 : type 'application/x-truetype-font', taille 45940 octets, nom de fichier 'LegacySerifStd-Book.otf
'
Pièce jointe numéro 5 : type 'application/x-truetype-font', taille 62536 octets, nom de fichier 'LT.ttf'
Pièce jointe numéro 6 : type 'application/x-truetype-font', taille 62480 octets, nom de fichier 'LT_3italic.ttf'
Pièce jointe numéro 7 : type 'application/x-truetype-font', taille 58700 octets, nom de fichier 'PPETRIAL.otf'
Pièce jointe numéro 8 : type 'application/x-truetype-font', taille 109200 octets, nom de fichier 'PPETRIAL.ttf'
Pièce jointe numéro 9 : type 'application/x-truetype-font', taille 172732 octets, nom de fichier 'segoepr.ttf'
Pièce jointe numéro 10 : type 'application/x-truetype-font', taille 35752 octets, nom de fichier 'TheGreatEscape.ttf'
Pièce jointe numéro 11 : type 'application/x-truetype-font', taille 93152 octets, nom de fichier 'Thin Pencil Handwritin
g.otf'
Pièce jointe numéro 12 : type 'application/x-truetype-font', taille 3419056 octets, nom de fichier 'epsonthora.ttf'

Il est possible de tout extraire, mais seul le fichier de sous-titres ASS est utile :

> mkvextract tracks "The_Garden_of_Words.mkv" 2:en.ass
Extraction de la piste 2 avec le codec 'S_TEXT/ASS' dans le fichier 'en.ass'. Format de conteneur : SSA/ASS text subtitles
Progression : 100%

Ensuite commence le travail. J'ai choisi de conserver les temps du sous-titrage français, principalement parce que j'ai pu remarquer qu'a plusieurs endroits la découpe des dialogues est faite différemment.
Une dizaine de regex dans Notepad++, quelques corrections de bugs (nombre de décimales), on rajoute les en-têtes du ASS d'origine et hop : le SRT devient un ASS, le principal est fait.

Mais le fichier ASS d'origine contient plus que des dialogues, j'ai pu m'en rendre compte en comparant l'original à mon ASS modifié dans WinMerge. Une des grosse différence sert en fait .. à générer un texte animé lors du titre principal !


Pour le reste, il s'agit en fait de texte incrusté, et si on ne le sait pas, il est facile de passer à côté.

Quelques exemples :

  • "June"



Et d'autres sont vraiment cachés :

  • l'examen

  • les noms sur le portable ...
Il a donc fallu traduire ces textes aussi, cette fois manuellement, et ça aura aussi permis de supprimer quelques traductions en trop comme "Juin" qui étaient présentes dans le SRT.

Le plus gros travail aura été la chanson de fin, puisqu'il a fallu faire un découpage correct des textes pour remplacer la traduction existante.

Enfin, je me suis essayé à incruster une des traduction du SRT dans l'image, comme le fait le ASS, voila la résultat :

En bref, j'ai été impressionné de voir les capacités des formats actuels de sous-titrage, adapter une traduction aura été un exercice sympa.

 「鳴る神の 少し響みて さし曇り 雨も降らぬか 君を留めむ」

La traduction au format ASS : https://drive.google.com/file/d/0B63FLnZuVDrvVGcweHlEakhhNlE

Annexes : 
http://matroska.org/technical/specs/subtitles/ssa.html
http://pireze.org/2013/anime-review-makoto-shinkais-the-garden-of-words-%E8%A8%80%E3%81%AE%E8%91%89%E3%81%AE%E5%BA%AD-kotonoha-no-niwa/
http://mlr.inktails.com/2013/07/jp-movie-the-garden-of-words-2013/
http://louvreuse.net/critique/the-garden-of-words.html
http://www.imdb.com/title/tt2591814
http://www.subsynchro.com/2012/the-garden-of-words.html ("Byousuku 5 Centimeters" semble sympa à voir aussi)