Perl_TexttoSppech_Example
About
The following script is a sub routine I wrote to set up and execute your TTS (Text-to-Speech).
Click here to expand Table of Contents
Script requirements
* mod_perl
* A tts engine such as cepstra, flite, etc.
* If you're going to use the Dumper line below, please make sure you have use Data::Dumper - available on most builds and on CPAN.
Example script
Usage:
speak("My name is Kareem Hamdy.");
# This sub routine performs the tts function. It will set up the tts params,
# such as the engine and voice; and will dictate the string passed. If no
# variables are passed, it will load defaults.
#
# by Kareem Hamdy 2009-01-19
sub speak {
# Variable initialization - here we assign the
# parameters passed to their corresponding variables.
my ($text, $engine, $voice) = @_;
# If the tts engine wasn't specified, it will default
# to flite - an open source engine.
if (!$engine){
$engine = 'flite';
}
# If the tts voice isn't specified, it will default to Kal.
if (!$voice){
$voice = 'kal';
}
# If the text to be read is missing, it assigns it
# an empty character set.
if (!$text){
$text = ;
}
# Here is where we set up the tts parameters -
# setting the engine and the voice.
$session->set_tts_parms($engine, $voice);
# This line isn't important - however I generally like
# to see all my variables for troubleshooting.
print "\n\n".Dumper(\@_)."\n\n";
# This line waits until the session is ready. If so,
# it will engage the speech engine, thereby dictating the entered text.
if ($session->ready ()) {
$session->speak($text);
}
return 1;
}