Synchronized Accessible Media Interchange

OuvrirEnregistrerHTMLMultilingue

Les légendes de Microsoft pour Windows Media Player, depuis 1998 : du HTML avec une synchronisation avant chaque légende, et une feuille de style dont les classes sont des langues, si bien qu'un seul fichier peut en contenir plusieurs. Rarement vu ailleurs, c'est pourtant le fichier de sous-titres habituel en Corée.

En bref

Extension.smi
Type de médiaAucun enregistré
SpécificationMicrosoft, Understanding SAMI 1.0 (2001, mise à jour en 2003). Ouverte, sans redevances.
Précision temporelleMillisecondes
Encodage du texteNon déclaré. Les anciens fichiers coréens sont surtout en CP949, les plus récents en UTF-8 ; Subtitld détecte les deux.
Mise en formeBalises en ligne de HTML et CSS : italique, gras, souligné, barré, couleur, polices
PositionnementAucun sur l'image : les légendes s'affichent dans une zone à elles
IntervenantsUne ligne Source (ID=Source), affichée au-dessus de la légende
LanguesPlusieurs dans un même fichier, une classe CSS chacune
Dans les conteneursAucun. Un fichier à côté de la vidéo, portant le même nom.

Anatomie d'un fichier

Un document HTML : une feuille de style qui nomme les langues, puis une synchronisation pour chaque moment où les légendes changent.

<SAMI><HEAD><STYLE><!--
.KRCC {lang:ko-KR;}
.ENCC {lang:en-US;}
--></STYLE></HEAD><BODY>
<SYNC Start=23000>
<P Class=KRCC>넌 정말 못됐어.
<P Class=ENCC>You're a jerk.
<SYNC Start=24500>
<P Class=KRCC>&nbsp;
<P Class=ENCC>&nbsp;
  1. 1 · En-tête

    La feuille de style : une classe par langue, avec son lang et un Name que les lecteurs affichent. La première classe est celle avec laquelle les lecteurs démarrent.

  2. 2 · Synchronisation

    Le moment, en millisecondes depuis le début de la vidéo.

  3. 3 · Légendes

    Un paragraphe par langue. Chacun reste jusqu'à la synchronisation suivante qui en a un dans sa classe ; &nbsp; l'efface.

Temps

Une synchronisation n'a qu'un début et rien d'autre. Une légende se termine quand commence la suivante dans sa langue, ou quand une légende vide commence ; chaque pause a donc sa propre synchronisation.

Les balises de fermeture sont facultatives. L'exemple de Microsoft ne ferme ni <P> ni <SYNC>, et les lecteurs le lisent dans les deux cas. Windows Media Player peut exiger les balises en capitales, comme les écrit l'exemple.

Styles

Le texte de SAMI est du HTML, et sa feuille de style du CSS. Une légende prend le style de P, puis celui de sa classe, puis son attribut style, puis les balises qu'elle contient.

Écrit Effet Dans Subtitld
<I>, <EM> Italique Conservé
<B>, <STRONG> Gras Conservé
<U>, <S>, <STRIKE> Souligné, barré Conservés
<FONT color="#FFD700"> Couleur du texte Conservée
color, font-style, font-weight, text-decoration Les mêmes, depuis la feuille de style ou un style Conservés
<BR> Un retour à la ligne Conservé
<FONT face>, font-size, margin Police, taille, espacement Non conservés
<RUBY>…<RT> Une lecture au-dessus du texte Le texte est conservé, sa lecture non

Langues

Chaque classe est une langue. Les lecteurs les proposent par leur Name, affichent la première définie tant qu'on ne leur dit pas autrement, et montrent un paragraphe sans classe quelle que soit la langue. Un fichier coréen peut porter de l'anglais à côté du coréen, et le spectateur choisit.

Quand Subtitld ouvre un fichier qui en contient plusieurs, la première langue est celle des sous-titres, et chaque autre est une traduction, placée sur le sous-titre qu'elle recouvre le plus. Exporter l'original et une traduction les réécrit en deux langues, les sous-titres de la traduction n'apparaissant que là où elle en a.

Intervenants

<SYNC Start=23000>
<P Class=ENCC ID=Source>Celia
<P Class=ENCC>You're a jerk.

Un paragraphe avec ID=Source n'est pas une légende. Il nomme celui qui parle, sur une ligne au-dessus de la légende, et reste jusqu'à ce qu'un autre le remplace. Subtitld le lit comme l'intervenant de chaque légende qu'il surmonte, et l'écrit ainsi lorsqu'on le lui demande.

Les lecteurs diffèrent sur ce point. FFmpeg, et les lecteurs bâtis sur lui, affichent la ligne Source en italique au-dessus de la légende. MPlayer la fond dans la première ligne de la légende. Les noms placés avant le texte (Celia : …) se lisent partout de la même façon.

Le SAMI dans Subtitld

Conservé dans le .smi
  • Le texte et les retours à la ligne de chaque sous-titre
  • Italique, gras, souligné, barré et couleur
  • Les traductions, en langues à part entière
  • Les intervenants, sous forme de lignes Source
  • Début et fin, à la milliseconde, dans l'ordre
Nulle part où aller
  • L'endroit où un sous-titre se place : SAMI n'a pas de place sur l'image
  • Polices, tailles et marges
  • Les lectures de ruby
  • Doublages, visages et couleurs des intervenants

Enregistrez un projet .usfx pour conserver ce qui est propre à Subtitld.

Ouvrir un fichier SAMI

Subtitld ouvre .smi et .sami, et :

  • lit le SAMI comme les navigateurs lisent le HTML : balises en capitales ou non, fermées ou non, attributs entre guillemets ou non, synchronisations dans le désordre, texte hors paragraphe ;
  • prend chaque langue : la première comme celle des sous-titres, les autres comme leurs traductions ;
  • garde l'italique, le gras, le souligné, le barré et la couleur, depuis les balises comme depuis la feuille de style ;
  • prend les lignes Source comme intervenants, prêts pour le doublage ;
  • termine la dernière légende là où les Metrics du fichier indiquent que la vidéo se termine, ou au bout de quatre secondes ;
  • décode n'importe quel encodage, CP949 compris.

Exporter en SAMI

Boîte de dialogue d'export de Subtitld avec SAMI choisi, l'original et une traduction en deux langues, les intervenants en lignes Source et l'encodage CP949

Exporter, puis Sous-titres et SAMI, propose :

  • TexteL'original, une traduction, ou les deux en deux langues.
  • Noms des intervenantsOmis, placés avant le texte (Thom : …), ou sous forme de lignes Source, la façon propre à SAMI.
  • Mise en formeConservée, ou supprimée.
  • Décalage des tempsChaque sous-titre plus tôt ou plus tard, du même écart.
  • EncodageUTF-8, avec ou sans marque d'ordre d'octets, UTF-16, Windows-1252, ou CP949 pour les anciens lecteurs coréens.
  • Fins de ligneLinux et macOS, ou Windows.

Le fichier est du SAMI 1.0 tel que l'écrit l'exemple de Microsoft, avec ses balises en capitales : une classe par langue, une synchronisation là où chaque sous-titre commence et une vide là où il se termine, et la mise en forme en <I>, <B>, <U>, <S> et <FONT color>.

Donnez au fichier le nom de la vidéo : tears-of-steel.smi à côté de tears-of-steel.mp4. Windows Media Player trouve un .smi de cette façon (pas un .sami), et la plupart des lecteurs aussi.

Anecdotes

1998

Microsoft a publié SAMI à l'été 1998, dans le cadre de son travail d'accessibilité : des légendes sur PC, pour les personnes sourdes ou malentendantes.

&nbsp;

La spécification de Microsoft efface une légende par une espace insécable. FFmpeg écarte toute synchronisation qui en contient une ; quand une autre langue continue, Subtitld écrit donc un paragraphe vide à la place.

KRCC

Beaucoup de fichiers coréens nomment leur classe d'après le pays et non la langue : KRCC, là où les exemples de Microsoft ont ENUSCC.

Formats associés

Un fichier .smi à corriger ?

Ouvrez-le dans Subtitld avec la vidéo et recalez-le sur la forme d'onde.

Télécharger Subtitld