Navigable Text
The SpeakAlong software for Mac OS X combines an advanced text-to-speech program with electronic texts in the form of plain text with special annotations to provide users with navigable audio books. These annotations are written according to a simple specification called the Silent Markup Language (or SML).
SML was invented here at ThingTone Software to make it easy to place text navigation markers in a standard text file without interfering with speech synthesis. The markup is "silent" because it uses only characters that are ignored by the speech synthesis engine. In other words, the markup characters are not spoken.
Many of the texts we have edited are lengthy and benefit the listener by providing an interactive, hierarchical table of contents and location cues throughout the listening experience. The reader sees the structure of a large document within the SpeakAlong reader and can jump to a particular chapter or section of the spoken text without the need to search or scroll.
SML enables this kind of text navigation as well as the unique ability to display the current table of contents headings as a reading progresses from one section to the next. SpeakAlong can open and read any plain text document (usually having a .txt extension), too. But such texts can offer no navigational features to the user, and will be of limited use.
Offering texts having SML annotations (always having a .book extension) is easy to do can greatly improve the reading experience of your listener.
A Working Example
Here is an excerpt of some sample text from a plain text file called "Sample.txt":
The Book Title
by Book Author
Chapter 1: First Test Chapter
The text of chapter one goes here as you would expect. The text of chapter one goes here as you would expect. The text of chapter one goes here as you would expect.
If one were to open the "Sample.txt" file in SpeakAlong, the "Section" menu for navigating through the document would be empty, providing no information about the content or structure of the document.
After annotation using an ordinary text editor we can add SML to make the complete, edited text look like what you see below. This file is then saved under the new name "Sample.book":
:: The Book Title
by Book Author
:: :: Chapter 1: First Test Chapter
The text of chapter one goes here as you would expect. The text of chapter one goes here as you would expect. The text of chapter one goes here as you would expect.
:: :: Chapter 2: Second Test Chapter
The text of chapter two goes here as you would expect. The text of chapter two goes here as you would expect. The text of chapter two goes here as you would expect.
:: :: :: Part 1: First Part of Chapter Two
This is for part one of the second chapter. This is for part one of the second chapter. This is for part one of the second chapter. This is for part one of the second chapter.
:: :: :: Part 2: Second Part of Chapter Two
This is for part two of the second chapter. This is for part two of the second chapter. This is for part two of the second chapter. This is for part two of the second chapter.
:: :: :: Part 3: Third Part of Chapter Two
This is for part three of the second chapter. This is for part three of the second chapter. This is for part three of the second chapter. This is for part three of the second chapter.
:: :: Chapter 3: Third Test Chapter
The text of the third and last chapter goes here. The text of the third and last chapter goes here. The text of the third and last chapter goes here. The text of the third and last chapter goes here.
When the "Sample.book" text is opened up for reading in SpeakAlong the "Section" menu will be filled with a meaningful navigation hierarchy for this text. This screenshot shows the resulting table of contents generated for this book:
That's all there is to it. The "Sample.book" file is ready
to be read in SpeakAlong or distributed to other SpeakAlong
users for them to enjoy.
The SML 1.0 General
Format
The SML 1.0 specification is so simple it can be described
formally in just a few words. Future versions of the
specification will include an SML version identifier in
each text to help the reader interpret the text. With
version 1.0 this is not needed and any version of
SpeakAlong will correctly interpret SML 1.0.
Title
Markup
::{space}{title-text}
First Heading
Markup
::{space}::{space}{heading-text}
Second Heading
Markup
::{space}::{space}::{space}{heading-text}
Third Heading Markup (and
so on for greater levels of
indentation)
::{space}::{space}::{space}::{space}{heading-text}
Symbol
Definitions
The "{space}" symbol means a single whitespace character.
Any line containing SML markings must begin with the
two-colon symbol ("::") shown above.
Text labeled "{title-text}" or "{heading-text}" must fit on
a single line with no breaks.