Synchronized Accessible Media Interchange(SAMI) is aMicrosoftaccessibility initiative released in the summer of 1998.[1]The structuredmarkup languageis designed to simplify creatingsubtitlesfor media playback on a PC.

Synchronized Accessible Media Interchange
Filename extension
.smi,.sami
Developed byMicrosoft
Initial release25 June 1998;26 years ago(1998-06-25)
Type of formatTimed text
Extended fromHTML
Open format?Yes
Free format?Proprietary

Overview

edit

A SAMI file providesclosed captionsupport for multimedia formats. Generally, a multimedia file (such as a video or a sound file) is played by amedia playersuch asWindows Media Player.Media players that support closed captioning and SAMI format may display the contents of the included SAMI file.

A SAMI file is aplain textfile and therefore can be created or modified in any text editor. Its structure is very similar toHTML.The files may have either.smior.samifilename extensions,although using.smimay cause a filename extension collision, sinceSynchronized Multimedia Integration Language(SMIL) files and Macintoshself mounting imagesalso use this filename extension.

Supported HTML tags and CSS

edit

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

Valid HTML tags in SAMI[2]
Name Description
B Bold text style
BASEFONT Base font size
BDO I18N BiDi override
BIG Large text style
BLOCKQUOTE Long quotation
BR Forced line break
CAPTION Table caption
CENTER Shorthand for DIV align=center
COL Table column
COLGROUP Tablecolumn group
DD Definition description
DIV Generic language/style container
DL Definition list
DT Definition term
FONT Local change to font
H1 Heading
H2 Heading
H3 Heading
H4 Heading
H5 Heading
H6 Heading
HR Horizontal rule
I Italic text style
IMG Embedded image
LI List item
OL Ordered list
P Paragraph
PRE Preformatted text
Q Short inline quotation
S Strike-through text style
SMALL Small text style
SPAN Generic language/style container
STRIKE Strike-through text
SUB Subscript
SUP Superscript
TABLE N/A
TBODY Table body
TD Table data cell
TFOOT Table footer
TH Table header cell
THEAD Table header
TR Table row
TT Teletype or monospaced text style
U Underlined text style
UL Unordered list

Example

edit

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). TheClass=identifies the language. TheID=Source(matching the#Sourcein 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>SAMIExample</TITLE>

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

<STYLETYPE="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 -->

<SYNCStart=0>
<PClass=ENUSCCID=Source>TheSpeaker</P>
<PClass=ENUSCC>SAMI0000text</P>

<PClass=FRFRCCID=Source>Lenarrateur</P>
<PClass=FRFRCC>TexteSAMI0000</P>
</SYNC>

<SYNCStart=1000>
<PClass=ENUSCC>SAMI1000text</P>
<PClass=FRFRCC>TexteSAMI1000</P>
</SYNC>

<SYNCStart=2000>
<PClass=ENUSCC>SAMI2000text</P>
<PClass=FRFRCC>TexteSAMI2000</P>
</SYNC>

<SYNCStart=3000>
<PClass=ENUSCC>SAMI3000text</P>
<PClass=FRFRCC>TexteSAMI3000</P>
</SYNC>

</BODY>
</SAMI>

Association with media

edit

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 anAdvanced Stream Redirector(ASX) file. The user opens the ASX file instead.

<asxversion="3.0"previewmode="No">
<abstract>ASXHEADThisistheshowsabstract</abstract>
<title>ASXHEADTheshowtitlegoeshere</title>
<author>AuthorName</author>
<copyright>(c)2002-companyname</copyright>
<entry>
<refhref="cheap44.wav?sami=cheap44.smi"/>
<abstract>ASXThisistheclipsabstract</abstract>
<title>ASXThetitlefortheclipgoeshere</title>
<author>ASXYourName</author>
<copyright>ASX(c)2000-companyname</copyright>
</entry>
</asx>

Software support

edit

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

See also

edit

References

edit
  1. ^"Adding Closed Captioning to Your Multimedia Programs".Microsoft Developer News & Articles.Microsoft. September 1998. Archived fromthe originalon 12 October 1999.
  2. ^"Understanding SAMI 1.0".Microsoft Developer Network.Microsoft Corporation.February 2003.Retrieved14 June2011.

Further reading

edit
  1. Gunderson, Jon (14 March 2003)."SAMI and Quicktime Captioning".The Illinois Center for Information Technology Accessibility.University of Illinois at Urbana–Champaign.Retrieved14 June2011.
  2. "Creating a SAMI File".Captioning for Windows Media.WebAIM.Retrieved14 June2011.
  3. "Software for Creating Captions".WebAIM.Retrieved14 June2011.