Sophie

Sophie

distrib > Mageia > 2 > i586 > by-pkgid > a2e5ae2091c2674a899ba2cbfce176e5 > files > 22

festival-2.1-3.mga1.i586.rpm

<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52
     from ../festival.texi on 2 August 2001 -->

<TITLE>Festival Speech Synthesis System - 12  Phonesets</TITLE>
</HEAD>
<BODY bgcolor="#ffffff">
Go to the <A HREF="festival_1.html">first</A>, <A HREF="festival_11.html">previous</A>, <A HREF="festival_13.html">next</A>, <A HREF="festival_35.html">last</A> section, <A HREF="festival_toc.html">table of contents</A>.
<P><HR><P>


<H1><A NAME="SEC38" HREF="festival_toc.html#TOC38">12  Phonesets</A></H1>

<P>
<A NAME="IDX135"></A>
<A NAME="IDX136"></A>
The notion of phonesets is important to a number of different
subsystems within Festival.  Festival supports multiple phonesets
simultaneously and allows mapping between sets when necessary.  The
lexicons, letter to sound rules, waveform synthesizers, etc. all require
the definition of a phoneset before they will operate.

</P>
<P>
A phoneset is a set of symbols which may be further defined in terms
of features, such as vowel/consonant, place of articulation
for consonants, type of vowel etc.  The set of features and
their values must be defined with the phoneset.  The definition
is used to ensure compatibility between sub-systems as well as
allowing groups of phones in various prediction systems (e.g.
duration)

</P>
<P>
A phoneset definition has the form

<PRE>
  (defPhoneSet
     NAME
     FEATUREDEFS
     PHONEDEFS )
</PRE>

<P>
The <VAR>NAME</VAR> is any unique symbol used e.g. <CODE>mrpa</CODE>, <CODE>darpa</CODE>,
etc.  <VAR>FEATUREDEFS</VAR> is a list of definitions each consisting of
a feature name and its possible values.  For example

<PRE>
   (
     (vc + -)             ;; vowel consonant
     (vlength short long diphthong schwa 0)  ;; vowel length 
     ...
   )
</PRE>

<P>
The third section is a list of phone definitions themselves.  Each phone
definition consists of a phone name and the values for each feature in
the order the features were defined in the above section. 

</P>
<P>
A typical example of a phoneset definition can be found in
<TT>`lib/mrpa_phones.scm'</TT>.

</P>
<P>
<A NAME="IDX137"></A>
Note the phoneset should also include a definition for any silence
phones.  In addition to the definition of the set the silence phone(s)
themselves must also be identified to the system.  This is done through
the command <CODE>PhoneSet.silences</CODE>.  In the mrpa set this is done by
the command

<PRE>
(PhoneSet.silences '(#))
</PRE>

<P>
There may be more than one silence phone (e.g. breath, start silence etc.)
in any phoneset definition.  However the first phone in this set is
treated special and should be canonical silence.  Among other things,
it is this phone that is inserted by the pause prediction module.

</P>
<P>
<A NAME="IDX138"></A>
In addition to declaring phonesets, alternate sets may be selected
by the command <CODE>PhoneSet.select</CODE>.

</P>
<P>
<A NAME="IDX139"></A>
<A NAME="IDX140"></A>
Phones in different sets may be automatically mapped between using
their features.  This mapping is not yet as general as it could be,
but is useful when mapping between various phonesets of the same
language.  When a phone needs to be mapped from one set to another
the phone with matching features is selected.  This allows, at least
to some extent, lexicons, waveform synthesizers, duration modules etc.
to use different phonesets (though in general this is not advised).

</P>
<P>
A list of currently defined phonesets is returned by the
function

<PRE>
(PhoneSet.list)
</PRE>

<P>
Note phonesets are often not defined until a voice is actually
loaded so this list is not the list of of sets that are distributed but
the list of sets that are used by currently loaded voices.

</P>
<P>
The name, phones, features and silences of the current phoneset
may be accessedwith the function

<PRE>
(PhoneSet.description nil)
</PRE>

<P>
If the argument to this function is a list, only those parts of
the phoneset description named are returned.  For example

<PRE>
(PhoneSet.description '(silences))
(PhoneSet.description '(silences phones))
</PRE>

<P><HR><P>
Go to the <A HREF="festival_1.html">first</A>, <A HREF="festival_11.html">previous</A>, <A HREF="festival_13.html">next</A>, <A HREF="festival_35.html">last</A> section, <A HREF="festival_toc.html">table of contents</A>.
</BODY>
</HTML>