Festival Speech Synthesis System: - Speech Resource Pages
Festival Speech Synthesis System: - Speech Resource Pages
Festival Speech Synthesis System: - Speech Resource Pages
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
festival/lib/voices/english/ked_diphone/festvox/ked_psola.scm<br />
Adding a symbole link in `festival/lib/voices/english/' ro `ked_diphone' called `ked_psola'<br />
will allow that voice to be automatically registered when <strong>Festival</strong> starts up.<br />
Note that this method doesn't actually load the voices it finds, that could be prohibitively time consuming to the start<br />
up process. It blindly assumes that there is a file `VOICENAME/festvox/VOICENAME.scm' to load. An<br />
autoload definition is given for voice_VOICENAME which when called will load that file and call the real<br />
definition if it exists in the file.<br />
This is only a recommended method to make adding new voices easier, it may be ignored if you wish. However we<br />
still recommend that even if you use your own convetions for adding new voices you consider the autoload function<br />
to define them in, for example, the `siteinit.scm' file or `.festivalrc'. The autoload function takes three<br />
arguments: a function name, a file containing the actual definiton and a comment. For example a definition of voice<br />
can be done explicitly by<br />
(autooad voice_f2b "/home/awb/data/f2b/ducs/f2b_ducs"<br />
"American English female f2b")))<br />
Of course you can also load the definition file explicitly if you wish.<br />
In order to allow the system to start making intellegent use of voices we recommend that all voice definitions include<br />
a call to the function voice_proclaim this allows the system to know some properties about the voice such as<br />
language, gender and dialect. The proclaim_voice function taks two arguments a name (e.g. rab_diphone<br />
and an assoc list of features and names. Currently we require language, gender, dialect and description.<br />
The last being a textual description of the voice itself. An example proclaimation is<br />
(proclaim_voice<br />
'rab_diphone<br />
'((language english)<br />
(gender male)<br />
(dialect british)<br />
(description<br />
"This voice provides a British RP English male voice using a<br />
residual excited LPC diphone synthesis method. It uses a<br />
modified Oxford Advanced Learners' Dictionary for pronunciations.<br />
Prosodic phrasing is provided by a statistically trained model<br />
using part of speech and local distribution of breaks. Intonation<br />
is provided by a CART tree predicting ToBI accents and an F0<br />
contour generated from a model trained from natural speech. The<br />
duration model is also trained from data using a CART tree.")))<br />
There are functions to access a description. voice.description will return the description for a given voice and<br />
will load that voice if it is not already loaded. voice.describe will describe the given given voice by<br />
synthesizing the textual description using the current voice. It would be nice to use the voice itself to give a self<br />
introduction but unfortunately that introduces of problem of decide which language the description should be in, we<br />
are not all as fluent in welsh as we'd like to be.<br />
The function voice.list will list the potential voices in the system. These are the names of voices which have<br />
been found in the voice-path. As they have not actaully been loaded they can't actually be confirmed as usable<br />
voices. One solution to this would be to load all voices at start up time which would allow confirmation they exist<br />
and to get their full description through proclaim_voice. But start up is already too slow in festival so we have<br />
to accept this stat for the time being. Splitting the description of the voice from the actual definition is a possible<br />
solution to this problem but we have not yet looked in to this.<br />
[ < ] [ > ] [ > ] [Top] [Contents] [Index] [ ? ]