12.12.2012 Views

Festival Speech Synthesis System: - Speech Resource Pages

Festival Speech Synthesis System: - Speech Resource Pages

Festival Speech Synthesis System: - Speech Resource Pages

SHOW MORE
SHOW LESS

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] [ ? ]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!