Aller au contenu principal
SubtitleMatrix

Convertir SMI 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)

  • Précision

    la précision du minutage — l'horloge de la sortie est plus grossière, chaque code temporel est donc arrondi au 10 ms le plus proche

  • 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 fichier SAMI (`.smi`) en LRC, le format des paroles synchronisées. Le SAMI décrit un sous-titre par un `<SYNC>` et un paragraphe, avec une fin implicite ; le LRC n’écrit qu’un début de ligne, au centième, et affiche la ligne jusqu’à la suivante.

Quatre familles se perdent : le minutage de fin, le style, la position et la précision, auxquelles s’ajoutent les constructions propres à SAMI. Le rapport affiché en haut de page vient des capacités déclarées par chaque format, pas de votre fichier : il ne change donc pas selon ce que vous déposez, et il nomme chaque famille de données qui n’a pas de place dans la sortie.

La sortie est une suite de lignes `[mm:ss.xx]` suivies du texte, sans en-tête obligatoire. Tout se passe dans le navigateur, sans envoi ni compte. Plusieurs fichiers peuvent être déposés ensemble : la file les traite l’un après l’autre, l’annulation est possible, et les résultats arrivent dans une archive ZIP.

Exemples

Un fichier SAMI courant converti en LRC

Entrée

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>&nbsp;
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Sortie

[00:01.00]Hello there.
[00:03.50]How are you?
[00:03.50]Fine, thanks.

Perdus dans cette sortie : la fin des blocs, le style, la position, la précision et la structure SAMI. Les débuts et le texte restent.

La même conversion sur une entrée abîmée

Entrée

<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom &amp; Jerry
<SYNC Start=12000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Sortie

[00:02.50]Line one
[00:02.50]Line two
[00:09.00]Tom &amp; Jerry

SYNC sans texte, espaces autour des numéros et entités HTML : les lignes horodatées valides sortent, les autres sont écartées et comptées.

Questions fréquentes

Pourquoi le LRC perd-il la fin des blocs SAMI ?

Le LRC ne stocke qu’un début par ligne : c’est le lecteur qui garde la ligne affichée jusqu’à la suivante. La fin implicite d’un SAMI — l’instant du `<SYNC>` suivant — n’a donc aucune case où s’écrire. Seuls les débuts sont transposés, et la dernière ligne du SAMI n’a plus de fin du tout.

Pourquoi les horodatages d’un SAMI vers un LRC changent-ils ?

Le SAMI écrit `Start=4126`, en millisecondes, alors que le LRC écrit `[00:04.12]`, en centièmes. Chaque début est arrondi aux 10 ms les plus proches, avec au plus 5 ms d’écart. Le texte n’est pas touché, mais l’alignement au millième ne survit pas.

À quoi ressemble la sortie quand un SAMI devient un LRC ?

À du LRC : chaque bloc donne une ligne `[mm:ss.xx]` suivie du texte, sans numéro ni balise HTML. Aucun `<SYNC>` ni `<P>` ne subsiste, et l’ordre des lignes suit la chronologie du document d’origine.

Comment un paragraphe SAMI sur deux lignes sort-il en LRC ?

En deux lignes horodatées portant le même instant, ce qui est la manière dont le LRC dit qu’elles s’affichent ensemble. Les `<br>` du SAMI ne sont donc pas recopiés : le regroupement passe par la répétition du timecode, et le lecteur de paroles affiche les deux lignes simultanément.

Que deviennent le style et la position du SAMI dans le LRC ?

Ils sont perdus. Le LRC ne connaît ni police, ni couleur, ni placement : son bloc `<STYLE>`, ses classes `Class=` et ses éventuels attributs de position n’ont pas d’équivalent. Le texte arrive nu, et c’est le lecteur de paroles qui décide de son apparence.

Que perd le retour du LRC vers le SAMI ?

Le retour du LRC vers SAMI perd le minutage complet : un LRC n’a pas de fin, donc le SAMI doit inventer une durée avant chaque `<SYNC>` vide. Il redonne aussi un document sans `<STYLE>` ni `<TITLE>`, puisque le LRC n’en contenait aucun.

Outils associés