/usr/share/doc/festival-doc/html/Utterance-structure.html is in festival-doc 1:2.1~release-8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Festival Speech Synthesis System: Utterance structure</title>
<meta name="description" content="Festival Speech Synthesis System: Utterance structure">
<meta name="keywords" content="Festival Speech Synthesis System: Utterance structure">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Index.html#Index" rel="index" title="Index">
<link href="Index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Utterances.html#Utterances" rel="up" title="Utterances">
<link href="Utterance-types.html#Utterance-types" rel="next" title="Utterance types">
<link href="Utterances.html#Utterances" rel="prev" title="Utterances">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Utterance-structure"></a>
<div class="header">
<p>
Next: <a href="Utterance-types.html#Utterance-types" accesskey="n" rel="next">Utterance types</a>, Up: <a href="Utterances.html#Utterances" accesskey="u" rel="up">Utterances</a> [<a href="Index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Utterance-structure-1"></a>
<h3 class="section">14.1 Utterance structure</h3>
<a name="index-utterance-2"></a>
<a name="index-TTS-processes"></a>
<p>Festival’s basic object for synthesis is the <em>utterance</em>. An
represents some chunk of text that is to be rendered as speech. In
general you may think of it as a sentence but in many cases it wont
actually conform to the standard linguistic syntactic form of a
sentence. In general the process of text to speech is to take an
utterance which contains a simple string of characters and convert it
step by step, filling out the utterance structure with more information
until a waveform is built that says what the text contains.
</p>
<p>The processes involved in conversion are, in general, as follows
</p><dl compact="compact">
<dt><em>Tokenization</em></dt>
<dd><p>Converting the string of characters into a list of tokens. Typically
this means whitespace separated tokesn of the original text string.
</p></dd>
<dt><em>Token identification</em></dt>
<dd><p>identification of general types for the tokens, usually this is trivial
but requires some work to identify tokens of digits as years, dates,
numbers etc.
</p></dd>
<dt><em>Token to word</em></dt>
<dd><p>Convert each tokens to zero or more words, expanding numbers,
abbreviations etc.
</p></dd>
<dt><em>Part of speech</em></dt>
<dd><p>Identify the syntactic part of speech for the words.
</p></dd>
<dt><em>Prosodic phrasing</em></dt>
<dd><p>Chunk utterance into prosodic phrases.
</p></dd>
<dt><em>Lexical lookup</em></dt>
<dd><p>Find the pronucnation of each word from a lexicon/letter to sound
rule system including phonetic and syllable structure.
</p></dd>
<dt><em>Intonational accents</em></dt>
<dd><p>Assign intonation accents to approrpiate syllables.
</p></dd>
<dt><em>Assign duration</em></dt>
<dd><p>Assign duration to each phone in the utterance.
</p></dd>
<dt><em>Generate F0 contour (tune)</em></dt>
<dd><p>Generate tune based on accents etc.
</p></dd>
<dt><em>Render waveform</em></dt>
<dd><p>Render waveform from phones, duration and F) target values, this
itself may take several steps including unit selection (be they
diphones or other sized units), imposition of dsesired prosody
(duration and F0) and waveform reconstruction.
</p></dd>
</dl>
<p>The number of steps and what actually happens may vary and is dependent
on the particular voice selected and the utterance’s <em>type</em>,
see below.
</p>
<p>Each of these steps in Festival is achived by a <em>module</em> which
will typically add new information to the utterance structure.
</p>
<a name="index-Utterance-structure"></a>
<a name="index-Items"></a>
<a name="index-Relations"></a>
<p>An utterance structure consists of a set of <em>items</em> which may be
part of one or more <em>relations</em>. Items represent things like words
and phones, though may also be used to represent less concrete objects
like noun phrases, and nodes in metrical trees. An item contains a set
of features, (name and value). Relations are typically simple lists of
items or trees of items. For example the the <code>Word</code> relation is a
simple list of items each of which represent a word in the utterance.
Those words will also be in other relations, such as the
<em>SylStructure</em> relation where the word will be the top of a tree
structure containing its syllables and segments.
</p>
<p>Unlike previous versions of the system items (then called stream items)
are not in any particular relations (or stream). And are merely part of
the relations they are within. Importantly this allows much more general
relations to be made over items that was allowed in the previous
system. This new architecture is the continuation of our goal
of providing a general efficient structure for representing complex
interrelated utterance objects.
</p>
<a name="index-Festival-relations"></a>
<p>The architecture is fully general and new items and relations may
be defined at run time, such that new modules may use any relations
they wish. However within our standard English (and other voices)
we have used a specific set of relations ass follows.
</p><dl compact="compact">
<dt><em>Token</em></dt>
<dd><p>a list of trees. This is first formed as a list of tokens found
in a character text string. Each root’s daughters are the <em>Word</em>’s
that the token is related to.
</p></dd>
<dt><em>Word</em></dt>
<dd><p>a list of words. These items will also appear as daughters (leaf nodes)
of the <code>Token</code> relation. They may also appear in the <code>Syntax</code>
relation (as leafs) if the parser is used. They will also be leafs
of the <code>Phrase</code> relation.
</p></dd>
<dt><em>Phrase</em></dt>
<dd><p>a list of trees. This is a list of phrase roots whose daughters are
the <code>Word's</code> within those phrases.
</p></dd>
<dt><em>Syntax</em></dt>
<dd><p>a single tree. This, if the probabilistic parser is called, is a syntactic
binary branching tree over the members of the <code>Word</code> relation.
</p></dd>
<dt><em>SylStructure</em></dt>
<dd><p>a list of trees. This links the <code>Word</code>, <code>Syllable</code> and
<code>Segment</code> relations. Each <code>Word</code> is the root of a tree
whose immediate daughters are its syllables and their daughters in
turn as its segments.
</p></dd>
<dt><em>Syllable</em></dt>
<dd><p>a list of syllables. Each member will also be in a the
<code>SylStructure</code> relation. In that relation its parent will be the
word it is in and its daughters will be the segments that are in it.
Syllables are also in the <code>Intonation</code> relation giving links to
their related intonation events.
</p></dd>
<dt><em>Segment</em></dt>
<dd><p>a list of segments (phones). Each member (except silences) will be leaf
nodes in the <code>SylStructure</code> relation. These may also be in the
<code>Target</code> relation linking them to F0 target points.
</p></dd>
<dt><em>IntEvent</em></dt>
<dd><p>a list of intonation events (accents and boundaries). These are related
to syllables through the <code>Intonation</code> relation as leafs on that
relation. Thus their parent in the <code>Intonation</code> relation is the
syllable these events are attached to.
</p></dd>
<dt><em>Intonation</em></dt>
<dd><p>a list of trees relating syllables to intonation events. Roots of
the trees in <code>Intonation</code> are <code>Syllables</code> and their daughters
are <code>IntEvents</code>.
</p></dd>
<dt><em>Wave</em></dt>
<dd><p>a single item with a feature called <code>wave</code> whose value
is the generated waveform.
</p></dd>
</dl>
<p>This is a non-exhaustive list some modules may add other relations
and not all utterance may have all these relations, but the above
is the general case.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Utterance-types.html#Utterance-types" accesskey="n" rel="next">Utterance types</a>, Up: <a href="Utterances.html#Utterances" accesskey="u" rel="up">Utterances</a> [<a href="Index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|