Aller au contenu principal
SubtitleMatrix

Convertir SRT en LRC

Ou collez le texte d'un sous-titre

Ce que cette conversion change

2 é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)

  • 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

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 SRT en LRC, le format des paroles horodatées. L'opération se fait dans le navigateur, sans envoi de fichier ni création de compte.

Les deux formats ne stockent pas les mêmes choses, et l'écart n'est pas cosmétique : le minutage de fin et la précision milliseconde n'ont pas de place en LRC. Chaque début de bloc SRT devient un horodatage entre crochets, au centième de seconde ; la fin disparaît, car un lecteur de paroles garde une ligne affichée jusqu'au début de la suivante.

Un fichier suffit, et une saison entière aussi : la file les traite dans l'ordre et les résultats descendent ensemble dans un seul ZIP.

Exemples

Un fichier SRT typique, converti en LRC

Entrée

1
00:00:01,000 --> 00:00:03,500
Hello there.

2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.

3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.

Sortie

[00:01.00]Hello there.
[00:03.50]Whispering now.
[00:03.50]And a second line.
[00:06.00]Bold statement.

Les pertes annoncées sont le minutage et la précision : le texte, lui, se compare ligne par ligne.

La même conversion sur une entrée mal formée

Entrée

1
0:00:01,00 --> 0:00:03,500
<B>Bold</B> and <I>italic</I>.


2
00:00:03,500 --> 00:00:06,000


3
00:00:08,000 --> 00:00:09,000
Last one.

Sortie

[00:01.00]Bold and italic.
[00:03.50]
[00:08.00]Last one.

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 devient le temps de fin de chaque bloc SRT dans le LRC ?

Il disparaît : le LRC ne note que le début d'une ligne, et le lecteur considère qu'elle reste affichée jusqu'à la suivante. Chaque début SRT est en revanche conservé, sans décalage.

Pourquoi les horodatages passent-ils du SRT au LRC au centième ?

Parce que le LRC écrit [mm:ss.xx] alors que le SRT écrit 00:00:04,126 : le centième contre le millième. Chaque code temporel est arrondi aux 10 ms les plus proches, soit 4,13 secondes pour 00:00:04,126, avec un déplacement maximal de 5 ms.

Un bloc SRT de deux lignes donne-t-il une ou deux entrées LRC ?

Deux lignes horodatées portant le même temps, ce qui est la manière dont le LRC dit que les deux vont ensemble. La paire reste donc un seul sous-titre, et le lecteur les affiche ensemble.

Les numéros de blocs et les balises du SRT survivent-ils dans le LRC ?

Les numéros disparaissent, puisque chaque ligne LRC porte son propre horodatage. Les mots restent, dans le même ordre ; le LRC n'a pas de style, donc les balises éventuelles doivent être relues comme du texte.

Les blocs SRT sont-ils réordonnés dans la sortie LRC ?

Oui, ils sont triés par début croissant au passage. Un SRT dont les blocs étaient dans le désordre ressort chronologique : la structure du fichier change, pas le contenu des sous-titres.

Que perd le retour LRC vers SRT ?

Le retour a sa propre liste : le minutage. Un LRC ne contient pas de temps de fin, donc le SRT produit doit en fabriquer un, et la chronologie exacte d'origine ne peut plus être reconstituée.

Quel encodage reçoit le LRC produit ?

UTF-8, avec des fins de ligne Unix et sans BOM, quel que soit l'encodage du SRT d'origine. Un fichier UTF-16 ou Windows-1252 est décodé à la lecture, et le panneau de résultat le signale.

Outils associés