Festival: SABLE markup

SABLE is collaboration between Sun, AT&T, Bell Labs, Edinburgh and CMU to devise a standard cross synthesizer standard mark up language. The language is XML-based and allows users to add addition controlling commands in text to affect the output. An implementation exists in Festival as well as Bell Labs synthesis system.

Here is a general example

<?xml version="1.0"?>
<!DOCTYPE SABLE PUBLIC "-//SABLE//DTD SABLE speech mark up//EN" 
        "Sable.v0_2.dtd"
[]>
<SABLE>
<SPEAKER NAME="male1">

The boy saw the girl in the park <BREAK/> with the telescope.
The boy saw the girl <BREAK/> in the park with the telescope.

Some English first and then some Spanish.
<LANGUAGE ID="SPANISH">Hola amigos.</LANGUAGE>
<LANGUAGE ID="NEPALI">Namaste</LANGUAGE>

Good morning <BREAK /> My name is Stuart, which is spelled
<RATE SPEED="-40%">
<SAYAS MODE="literal">stuart</SAYAS> </RATE>
though some people pronounce it 
<PRON SUB="stoo art">stuart</PRON>.  My telephone number
is <SAYAS MODE="literal">2787</SAYAS>.

I used to work in <PRON SUB="Buckloo">Buccleuch</PRON> Place, 
but no one can pronounce that.

By the way, my telephone number is actually
<AUDIO SRC="http://www.cstr.ed.ac.uk/~awb/sounds/touchtone.2.au"/>
<AUDIO SRC="http://www.cstr.ed.ac.uk/~awb/sounds/touchtone.7.au"/>
<AUDIO SRC="http://www.cstr.ed.ac.uk/~awb/sounds/touchtone.8.au"/>
<AUDIO SRC="http://www.cstr.ed.ac.uk/~awb/sounds/touchtone.7.au"/>.
</SPEAKER>
</SABLE>

Here is a benchmark example with all the tags currently supported in Festival

<?xml version="1.0"?>
<!DOCTYPE SABLE PUBLIC "-//SABLE//DTD SABLE speech mark up//EN" 
	"Sable.v0_2.dtd"
[]>
<SABLE>

<!-- A basic set of examples from SABLE -->

My telephone number is 
<AUDIO SRC="http://www.cstr.ed.ac.uk/~awb/sounds/touchtone.2.au"/>
<AUDIO SRC="http://www.cstr.ed.ac.uk/~awb/sounds/touchtone.7.au"/>
<AUDIO SRC="http://www.cstr.ed.ac.uk/~awb/sounds/touchtone.8.au"/>
<AUDIO SRC="http://www.cstr.ed.ac.uk/~awb/sounds/touchtone.7.au"/>.

Without style, <BREAK LEVEL="Large"/> Grace and I are in trouble.

<DIV TYPE="paragraph">
<DIV TYPE="sentence" >
Yesterday, Denmark and India announced an agreement of cultural 
exchange. </DIV> <DIV TYPE="sentence"> Further talks will take place 
next month.
</DIV>
</DIV>

The leaders of <EMPH>Denmark</EMPH> and <EMPH>India</EMPH> meet on
Friday.
 
An example is <ENGINE ID="festival" DATA="our own festival speech
synthesizer"> the festival speech synthesizer</ENGINE> or
the Bell Labs speech synthesizer.

Some English first and then some Spanish.
<LANGUAGE ID="SPANISH">Hola amigos.</LANGUAGE>
<LANGUAGE ID="NEPALI">Namaste</LANGUAGE>

Move the <MARKER MARK="mouse" /> mouse to the top.

Without his penguin, <PITCH BASE="-20%"> which he left at home, </PITCH> he
       could not enter the restaurant.

I say <PRON SUB="toe maa toe">tomato</PRON> and you say 
<PRON SUB="toe may toe">tomato</PRON>.

The address is <RATE SPEED="-40%"> 10 Main Street </RATE>.

As a test of marked-up numbers. Here we have 
a year <SAYAS MODE="date">1998</SAYAS>, 
an ordinal <SAYAS MODE="ordinal">1998</SAYAS>, 
a cardinal <SAYAS MODE="cardinal">1998</SAYAS>, 
a literal <SAYAS MODE="literal">1998</SAYAS>, 
and phone number <SAYAS MODE="phone">1998</SAYAS>.

Changes of speaker may appear in the text.
<SPEAKER NAME="male3">Using one speaker, <SPEAKER NAME="male2">with
an aside from another</SPEAKER> and returning to the first </SPEAKER>
Eventually returning to the original default speaker.

Please speak more <VOLUME LEVEL="loud">loudly</VOLUME>, except
when I ask you to speak <VOLUME LEVEL="quiet">in a quiet voice</VOLUME>.

</SABLE>

Here is an example of how the EMPH tag may be used to change the focus in a sentence
Festival will automatically synthesize files whose file names ends in .sable in SABLE mode thus
festival --tts examples.sable
or at the festival prompt
festival> (tts "examples.sable" nil)
or you can explicitly specify the mode in the tts function call
festival> (tts "examples.txt" 'sable)

This page was created by Alan W Black