Aller au contenu principal
SubtitleMatrix

Fusionner des blocs voisins

SynchronisationFusionner des fichiers de sous-titres
Ou collez le texte d'un sous-titre

Options

Deux blocs dont l'écart est inférieur ou égal à ce nombre de millisecondes deviennent un seul bloc allant du début du premier à la fin du dernier. Le test est inclusif : un écart d'exactement ce nombre fusionne. 1000 ms (une seconde) est un bon point de départ pour un fichier dont les répliques ont été coupées au milieu d'une phrase ; une petite valeur comme 40 ms ne ferme que le clignotement entre des blocs censés n'en faire qu'un.

Espace met les deux textes à la suite sur une seule ligne, ce que vous voulez quand le fichier d'origine a coupé une phrase en deux blocs. Un saut de ligne les empile : le bloc ressort en sous-titre sur deux lignes qui reste à l'écran pendant toute la durée.

La fréquence d'images dans laquelle les temps sont comptés. Sur les pages de format, c'est ce dont MicroDVD a besoin, car il stocke les temps sous forme de numéros d'image. Sur les pages de fréquence d'images, c'est la cadence à laquelle le fichier a été minuté — la version pour laquelle les sous-titres ont été faits — et le second cadre de la page prend la cadence de la vidéo avec laquelle vous allez les utiliser. 23,976, 24, 25, 29,97, 30, 50, 59,94 et 60 sont les valeurs courantes. Se tromper décale toute la chronologie et, sur les pages de fréquence d'images, ce décalage est un rapport, pas un montant fixe.

Cette page réunit des blocs voisins quand l’écart entre eux est assez petit. Vous réglez mergeMaxGapMs — 1 000 ms au départ — et tout couple séparé par cette valeur ou moins devient un bloc unique. C’est l’outil d’un fichier qui clignote : une phrase coupée en deux, un export mot par mot, ou des lignes dont les trous sont si courts que le sous-titre semble s’allumer et s’éteindre.

Le bloc fusionné va du début du premier à la fin du dernier, donc la pause intermédiaire est remplie par le texte réuni. C’est ce qui supprime le clignotement, et c’est aussi la chose à vouloir : un écart laissé volontairement — un temps entre deux locuteurs, une pause avant une chute — se retrouve couvert de texte. Rien d’autre ne bouge : aucun bloc hors du groupe ne se décale d’un milliseconde, et les numéros restent tels quels, si bien que le bloc 3 peut suivre le bloc 1.

Le dernier choix est la rencontre des deux textes, réglée par mergeJoiner. Sur une ligne les réunit avec une espace, ce qui convient à une phrase coupée. Sur des lignes séparées les empile, ce qui convient à deux répliques courtes ou à un sous-titre posé sur une traduction. Un séparateur personnalisé — tiret, barre oblique — relève de la fusion bilingue, dans la catégorie texte.

La limite s’arrête à 60 000 ms : au-delà, l’outil ne fusionne plus des blocs, il effondre la timeline, et un fichier d’un seul bloc n’est plus un fichier de sous-titres. SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON et CSV sont lus de la même façon, dans le navigateur, sans envoi.

Exemples

Un trou de 100 ms sous la limite

Entrée

1
00:00:01,000 --> 00:00:02,500
She walked into the room

2
00:00:02,600 --> 00:00:04,000
and closed the door.

Sortie

1
00:00:01,000 --> 00:00:04,000
She walked into the room and closed the door.

Avec mergeMaxGapMs à 1 000, un écart de 100 ms disparaît et la phrase est entière. Le fondu de sortie et le fondu d’entrée que le lecteur joue entre deux blocs ont disparu aussi : la ligne reste à l’écran trois secondes pleines au lieu de s’interrompre un dixième de seconde. Le bloc garde le numéro 1 parce que c’est lui qui survit : une fusion ne renumérote jamais le fichier.

Les mêmes deux blocs, gardés sur deux lignes

Entrée

1
00:00:01,000 --> 00:00:02,500
She walked into the room

2
00:00:02,600 --> 00:00:04,000
and closed the door.

Sortie

1
00:00:01,000 --> 00:00:04,000
She walked into the room
and closed the door.

Mêmes horaires, sortie différente : mergeJoiner = newline écrit le texte du second bloc comme seconde ligne du même bloc au lieu de le faire suivre. Utile quand les deux moitiés ont été écrites pour se lire ensemble, et pour les fichiers bilingues où les deux blocs étaient déjà une ligne chacun. Un bloc peut contenir autant de lignes que le format le permet, et c’est un vrai saut de ligne dans le fichier, pas un retour à la ligne d’affichage.

Un trou que la page a raison de laisser

Entrée

1
00:00:01,000 --> 00:00:03,000
What time do you call this?

2
00:00:09,000 --> 00:00:11,000
Sorry. The bus never came.

Sortie

1
00:00:01,000 --> 00:00:03,000
What time do you call this?

2
00:00:09,000 --> 00:00:11,000
Sorry. The bus never came.

Six secondes de silence entre deux interlocuteurs, et la sortie est l’entrée octet pour octet. Remplir cette pause mettrait la réplique d’une personne à l’écran pendant que l’autre parle, donc une limite proche de ce trou est une erreur : l’ordre des deux lignes n’est pas leur minutage. Avec la limite à 500 ms, comme ici, le fichier n’est pas touché.

Questions fréquentes

À quoi sert mergeMaxGapMs et quelle valeur choisir ?

mergeMaxGapMs est l’écart maximal, en millisecondes, qui autorise la fusion de deux blocs. Commencez à 1 000 : un export de transcription laisse souvent 50 à 300 ms entre les morceaux d’une phrase, et une seconde reste sous les pauses entre phrases. Lisez ensuite l’aperçu de timeline.

Comment mergeJoiner réunit-il les textes de deux blocs ?

Sur une ligne les joint avec une espace, ce qui donne une phrase continue ; sur des lignes séparées écrit le second texte comme une seconde ligne du même bloc. Le retour est un vrai saut de ligne dans le fichier, pas un retour visuel du lecteur.

Les numéros de blocs sont-ils réécrits après une fusion ?

Non. Le bloc survivant garde son numéro et ceux des blocs absorbés disparaissent, donc un fichier 1, 2, 3 peut ressortir en 1 et 3. La numérotation d’un format est une étiquette, pas une séquence, et la conserver permet de comparer la sortie au fichier d’origine.

Pourquoi une pause de six secondes reste-t-elle intacte ?

Parce qu’elle dépasse mergeMaxGapMs réglé à 500 ou 1 000 ms. Remplir cette pause mettrait la réplique d’un locuteur à l’écran pendant que l’autre parle. Si une pause volontaire a été absorbée, baissez la limite ou traitez ces blocs séparément.

La fusion peut-elle faire perdre du texte ?

Non. Chaque mot de chaque bloc se retrouve dans la sortie ; ce qui disparaît est le minutage propre des blocs absorbés, consigné dans le rapport de pertes. Sur un fichier ASS, un seul style peut survivre : celui du premier bloc, et le rapport compte ce qui n’a pas pu suivre.

Peut-on fusionner tout le fichier en un seul bloc avec mergeMaxGapMs ?

Pas par accident : le champ s’arrête à 60 000 ms, soit des blocs espacés d’une minute au plus. C’est assez pour une chanson mal découpée, pas pour réduire un épisode à un bloc. Si un fichier est vraiment un texte continu, vérifiez d’abord qu’il s’agit de sous-titres.

Outils associés