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.

(Parameter.set 'Audio_Method 'irixaudio)<br />

`Audio Command'<br />

Alternatively the user can provide a command that can play an audio file. <strong>Festival</strong> will execute that command<br />

in an environment where the shell variables SR is set to the sample rate (in Hz) and FILE which, by default,<br />

is the name of an unheadered raw, 16bit file containing the synthesized waveform in the byte order of the<br />

machine <strong>Festival</strong> is running on. You can specify your audio play command and that you wish <strong>Festival</strong> to<br />

execute that command through the following command<br />

(Parameter.set 'Audio_Command "sun16play -f $SR $FILE")<br />

(Parameter.set 'Audio_Method 'Audio_Command)<br />

On SGI machines under IRIX the equivalent would be<br />

(Parameter.set 'Audio_Command<br />

"sfplay -i integer 16 2scomp rate $SR end $FILE")<br />

(Parameter.set 'Audio_Method 'Audio_Command)<br />

The Audio_Command method of playing waveforms <strong>Festival</strong> supports two additional audio parameters.<br />

Audio_Required_Rate allows you to use <strong>Festival</strong>'s internal sample rate conversion function to any desired rate.<br />

Note this may not be as good as playing the waveform at the sample rate it is originally created in, but as some<br />

hardware devices are restrictive in what sample rates they support, or have naive resample functions this could be<br />

optimal. The second additional audio parameter is Audio_Required_Format which can be used to specify the<br />

desired output forms of the file. The default is unheadered raw, but this may be any of the values supported by the<br />

speech tools (including nist, esps, snd, riff, aiff, audlab, raw and, if you really want it, ascii). For example suppose<br />

you have a program that only plays sun headered files at 16000 KHz you can set up audio output as<br />

(Parameter.set 'Audio_Method 'Audio_Command)<br />

(Parameter.set 'Audio_Required_Rate 16000)<br />

(Parameter.set 'Audio_Required_Format 'snd)<br />

(Parameter.set 'Audio_Command "sunplay $FILE")<br />

Where the audio method supports it, you can specify alternative audio device for machine that have more than one<br />

audio device.<br />

(Parameter.set 'Audio_Device "/dev/dsp2")<br />

If Netaudio is not available and you need to play audio on a machine different from teh one <strong>Festival</strong> is running on we<br />

have had reports that `snack' (http://www.speech.kth.se/snack/) is a possible solution. It allows remote play but<br />

importnatly also supports Windows 95/NT based clients.<br />

Because you do not want to wait for a whole file to be synthesized before you can play it, <strong>Festival</strong> also offers an<br />

audio spooler that allows the playing of audio files while continuing to synthesize the following utterances. On<br />

reasonable workstations this allows the breaks between utterances to be as short as your hardware allows them to be.<br />

The audio spooler may be started by selecting asynchronous mode<br />

(audio_mode 'async)<br />

This is switched on by default be the function tts. You may put <strong>Festival</strong> back into synchronous mode (i.e. the<br />

utt.play command will wait until the audio has finished playing before returning). by the command<br />

(audio_mode 'sync)<br />

Additional related commands are<br />

(audio_mode 'close)

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

Saved successfully!

Ooh no, something went wrong!