System information

This function name may be added to the server safe functions."
(let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
(utt.wave.resample wholeutt 8000)
(utt.wave.rescale wholeutt 5)
(utt.send.wave.client wholeutt)))
After adding that, you need to start the Festival server:
$ sudo festival_server 2>&1 > /dev/null &
Using menuselect from your Asterisk source directory, verify that the app_festival ap-
plication has been selected under the Applications heading. If it was not already selected,
be sure to run make install after selecting it to install the Festival() dialplan application.
Before you can use the Festival() application, you need to tell Asterisk how to connect
to the Festival server. The festival.conf file is used for controlling how Asterisk connects
to and interacts with the Festival server. The sample festival.conf file located in the
Asterisk source directory is a good place to start, so copy festival.conf.sample from the
configs/ subdirectory of your Asterisk source to the /etc/asterisk/ configuration directory
now:
$ cp ~/asterisk-complete/asterisk/1.8/configs/festival.conf.sample \
/etc/asterisk/festival.conf
The default configuration is typically enough to connect to the Festival server running
on the local machine, but you can optionally configure parameters such as the host
where the Festival server is running (if remote), the port to connect to, whether to
enable caching of files (defaults to no), the location of the cache directory (defaults
to /tmp), and the command Asterisk passes to the Festival server.
You can verify that the Festival() dialplan application is accessible by running core
show application festival from the Asterisk console:
*CLI> core show application festival
If you don’t get output, you may need to load the app_festival.so module:
*CLI> module load app_festival.so
Verify that the app_festival.so module exists in /usr/lib/asterisk/modules/ if you’re still
having issues with loading the module.
After loading the Festival() application into Asterisk, you need to create a test dialplan
extension to verify that Festival() is working:
[LocalSets]
exten => 203,1,Verbose(2,This is a Festival test)
same => n,Answer()
same => n,Playback(silence/1)
same => n,Festival(Hello World)
same => n,Hangup()
Reload the dialplan with the dialplan reload command from the Asterisk console, and
test out the connection to Festival by dialing extension 203.
Text-to-Speech Utilities | 441