Convertir ASS en LRC
Ou collez le texte d'un sous-titre
Ce que cette conversion change
5 éléments perdus ou à décider
- Minutage
les heures de fin des blocs (le format de sortie n'enregistre que le début d'un bloc)
- Style
tout le style (gras, italique, couleur, contour, ombre)
- Positionnement
le positionnement à l'écran (chaque bloc revient à la position par défaut)
- Karaoké
le minutage karaoké (surlignage par syllabe)
- Contenu propre au format
le contenu que le format source garde hors de ses blocs (blocs hors sous-titres, texte d'en-tête, réglages par bloc, événements commentés) — le format cible n'a nulle part où le mettre
Ce rapport de pertes vient de la matrice de capacités de ces deux formats, pas du fichier particulier que vous avez chargé. Un fichier précis peut perdre davantage s'il utilise des fonctionnalités que le format autorise mais que la matrice ne modélise pas.
Cette page convertit un ASS en LRC, le format des paroles horodatées. La conversion se fait dans le navigateur, sans envoi ni compte.
Les deux formats ne stockent pas les mêmes choses : le minutage de fin, le style, le positionnement, le karaoké et les constructions propres au script n'ont pas de place dans un LRC. Chaque début de Dialogue devient un horodatage au centième de seconde, et la fin disparaît, car un lecteur de paroles garde la ligne jusqu'au début suivant. Le titre du script, s'il existe, peut alimenter la balise [ti:] ; le reste de l'en-tête est perdu.
Un fichier ou une saison entière : la file avance dans l'ordre et les résultats descendent dans un seul ZIP.
Exemples
Un fichier ASS typique, converti en LRC
Entrée
[Script Info]
Title: Example
ScriptType: v4.00+
WrapStyle: 0
[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: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
Style: Title,Arial,36,&H0000FFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:05.00,0:00:08.50,Default,,0,0,0,,{\i1}Italic{\i0} and {\b1}bold{\b0} text.
Dialogue: 0,0:00:09.00,0:00:12.00,Title,,0,0,0,,{\pos(320,240)}Positioned
Dialogue: 0,0:00:13.00,0:00:16.00,Default,,0,0,0,,{\k50}ka{\k30}ra{\k20}o{\k10}ke
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 1,0:00:21.00,0:00:24.00,Default,,0,0,0,,{\an7}Top left
Sortie
[ti:Example]
[00:01.00]Hello there.
[00:05.00]Italic and bold text.
[00:09.00]Positioned
[00:13.00]karaoke
[00:17.00]Line one
[00:17.00]Line two
[00:21.00]Top left
Les pertes annoncées sont le minutage, le style, le positionnement, le karaoké et les constructions propres au script : le texte se compare ligne par ligne.
La même conversion sur une entrée mal formée
Entrée
[Script Info]
; 一份真实的脏文件:BOM + CRLF + 认不出的覆写码 + Comment + 坏时间码
Title: Dirty sample
ScriptType: v4.00+
[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: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Fonts]
fontname: Arial
!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,这是一条注释,不该变成字幕
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello, world
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\fad(300,300)}Unmodelled override
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,{\an7\pos(320,240)}Both, wrong order
Dialogue: 0,0:00:13.00,0:00:16.5,Default,,0,0,0,,One decimal centisecond
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Soft\nbreak
Dialogue: 0,0:00:xx.00,0:00:24.00,Default,,0,0,0,,Broken timecodeSortie
[ti:Dirty sample]
[00:01.00]Hello, world
[00:05.00]{\fad(300,300)}Unmodelled override
[00:09.00]Both, wrong order
[00:13.00]One decimal centisecond
[00:17.00]Soft
[00:17.00]break
C'est le genre de dégâts que portent les vrais fichiers : fins de ligne mélangées, espaces parasites, champs vides. Comparez avec l'exemple propre ci-dessus pour voir ce que l'analyseur pardonne.
Questions fréquentes
Que garde un LRC d'un script ASS ?
Les débuts des Dialogue et leur texte. Chaque début devient un horodatage [mm:ss.xx], la fin disparaît, et tout ce qui n'est pas du texte — style, position, karaoké, événements non Dialogue — est écarté.
Que deviennent les codes \pos et \an7 d'un ASS dans le LRC ?
Ils sont retirés : le LRC ne place pas une ligne à l'écran et ne connaît aucun code de surcharge. Le texte reste au même instant, mais la position que le script imposait ne peut plus être exprimée.
Le karaoké \k d'un ASS survit-il dans un LRC ?
Non, et c'est une perte notable : les durées par syllabe du script n'ont pas d'équivalent. Un LRC ne note que le début d'une ligne entière, donc l'animation syllabe par syllabe ne peut pas être reconstituée.
Que devient la table de styles d'un ASS dans le LRC ?
Elle est perdue : le LRC ne stocke aucune mise en forme, ni la police, ni la taille, ni les couleurs. Chaque ligne est écrite en texte simple, et les balises de style du Dialogue sont retirées avec le reste.
Que devient l'en-tête [Script Info] dans le LRC ?
Il est écarté, à une exception près : le titre du script peut être recopié dans la balise [ti:], qui est la seule métadonnée que le LRC sait porter. Les autres lignes de l'en-tête n'ont aucune place.
Les codes temporels d'un ASS restent-ils exacts dans le LRC ?
Oui : les deux formats comptent au centième de seconde, donc 0:00:04.13 devient [00:04.13] sans arrondi supplémentaire. Seuls les débuts sont écrits, la fin du Dialogue n'étant pas représentée.
Comment un Dialogue de deux lignes sort-il dans le LRC ?
Par deux horodatages identiques, un par ligne : le lecteur LRC les affiche en même temps. Le début reste commun, mais la fin du Dialogue a disparu, donc la durée de la paire n'est plus explicite.