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.
(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)