SAMI

Synchronized Accessible Media Interchange (SAMI) is a Microsoft accessibility initiative released in 1998. The structured markup language is designed to simplify creating subtitles for media playback on a PC.

Synchronized Accessible Media Interchange
Filename extension
.smi, .sami
Developed byMicrosoft
Type of formatMarkup language
Extended fromHTML

Overview

A SAMI file provides closed caption support for multimedia formats. Generally, a multimedia file (such as a video or a sound file) is played by a media player such as Windows Media Player. Media players that support closed captioning and SAMI format may display the contents of the included SAMI file.

A SAMI file is a plain text file and therefore can be created or modified in any text editor. Its structure is very similar to HTML. The files may have either .smi or .sami filename extensions, although using .smi may cause a filename extension collision, since Synchronized Multimedia Integration Language (SMIL) files and Macintosh self mounting images also use this filename extension.

Supported HTML tags and CSS

SAMI format is similar to HTML and CSS; in fact, SAMI implements a subset of both. SAMI does not require strict tag matching.

Valid HTML tags in SAMI[1]
Name Description
BBold text style
BASEFONTBase font size
BDOI18N BiDi override
BIGLarge text style
BLOCKQUOTELong quotation
BRForced line break
CAPTIONTable caption
CENTERShorthand for DIV align=center
COLTable column
COLGROUPTable column group
DDDefinition description
DIVGeneric language/style container
DLDefinition list
DTDefinition term
FONTLocal change to font
H1Heading
H2Heading
H3Heading
H4Heading
H5Heading
H6Heading
HRHorizontal rule
IItalic text style
IMGEmbedded image
LIList item
OLOrdered list
PParagraph
PREPreformatted text
QShort inline quotation
SStrike-through text style
SMALLSmall text style
SPANGeneric language/style container
STRIKEStrike-through text
SUBSubscript
SUPSuperscript
TABLEN/A
TBODYTable body
TDTable data cell
TFOOTTable footer
THTable header cell
THEADTable header
TRTable row
TTTeletype or monospaced text style
UUnderlined text style
ULUnordered list

Example

Here's an example SAMI file. It sets the time to milliseconds. It uses CSS for formatting both the source and text lines and it supports language selection. (English and faux-French shown). Each SYNC block sets the start time for the caption. A new caption is displayed every second (1000ms). The Class= identifies the language. The ID=Source (matching the #Source in the CSS identifier definition) indicates the source/speaker line; the default is the closed caption. The identifier name need not be "Source"; it may be any name.

The Microsoft parser is fragile. Formatting information can be added to the closed caption information, but adding format information to the source line can have unpredictable results. Defining more than one ID can have unpredictable results.

<SAMI>

<HEAD>
<TITLE>SAMI Example</TITLE>

<SAMIParam>
  Media {cheap44.wav}
  Metrics {time:ms;}
  Spec {MSFT:1.0;}
</SAMIParam>

<STYLE TYPE="text/css">
<!--
  P { font-family: Arial; font-weight: normal; color: white; background-color: black; text-align: center; }

  #Source {color: red; background-color: blue; font-family: Courier; font-size: 12pt; font-weight: normal; text-align: left; }

  .ENUSCC { name: English; lang: en-US ; SAMIType: CC ; }
  .FRFRCC { name: French;  lang: fr-FR ; SAMIType: CC ; }
-->
</STYLE>

</HEAD>

<BODY>

<!-- Open play menu, choose Captions and Subtiles, On if available -->
<!-- Open tools menu, Security, Show local captions when present -->

<SYNC Start=0>
  <P Class=ENUSCC ID=Source>The Speaker</P>
  <P Class=ENUSCC>SAMI 0000 text</P>

  <P Class=FRFRCC ID=Source>Le narrateur</P>
  <P Class=FRFRCC>Texte SAMI 0000</P>
</SYNC>

<SYNC Start=1000>
  <P Class=ENUSCC>SAMI 1000 text</P>
  <P Class=FRFRCC>Texte SAMI 1000</P>
</SYNC>

<SYNC Start=2000>
  <P Class=ENUSCC>SAMI 2000 text</P>
  <P Class=FRFRCC>Texte SAMI 2000</P>
</SYNC>

<SYNC Start=3000>
  <P Class=ENUSCC>SAMI 3000 text</P>
  <P Class=FRFRCC>Texte SAMI 3000</P>
</SYNC>

</BODY>
</SAMI>

Association with media

The player needs to know how to associate a particular media file to a SAMI file. Sometimes that is achieved by using the same filename as the underlying media file. For example, when Windows Media Player (WMP) opens the sound file cheap44.wav, it checks to see if the file cheap44.smi exists in the same folder. If it does, WMP uses that file to display closed captions.

Alternatively, the association can be made explicit using an entry in an Advanced Stream Redirector (ASX) file. The user opens the ASX file instead.

<asx version="3.0" previewmode="No" >
  <abstract>ASXHEAD This is the shows abstract</abstract>
  <title>ASXHEAD The show title goes here</title>
  <author>Author Name</author>
  <copyright>(c) 2002 - company name</copyright>
  <entry>
    <ref href="cheap44.wav?sami=cheap44.smi" />
    <abstract>ASX This is the clips abstract</abstract>
    <title>ASX The title for the clip goes here</title>
    <author>ASX Your Name</author>
    <copyright>ASX (c) 2000 - company name</copyright>
  </entry>
</asx>

Software support

The following is a list of software that can play SAMI along with multimedia contents:

See also

References

  1. "Understanding SAMI 1.0". Microsoft Developer Network. Microsoft Corporation. February 2003. Retrieved 14 June 2011.

Further reading

  1. Gunderson, Jon (14 March 2003). "SAMI and Quicktime Captioning". The Illinois Center for Information Technology Accessibility. University of Illinois at Urbana–Champaign. Retrieved 14 June 2011.
  2. "Creating a SAMI File". Captioning for Windows Media. WebAIM. Retrieved 14 June 2011.
  3. "Software for Creating Captions". WebAIM. Retrieved 14 June 2011.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.