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
-
It will be <emph>rainy</emph> today in Boston.
-
It will be rainy <emph>today</emph> in Boston.
-
It will be rainy today in <emph>Boston</emph>.
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)
Back to demo index
This page is maintained by
Alan W Black awb@cs.cmu.edu