Flite TTS
About
Speech CS CMU
Carnegie Mellon University
5000 Forbes Ave
Pittsburgh, PA 15213
USA
Website: http://www.speech.cs.cmu.edu/flite/
Definition
Flite is a free open source Text-to-Speech engine. Flite (Festival Lite) is a small, fast run-time synthesis engine developed at CMU and primarily designed for small embedded machines and/or large servers.
Languages
American, English
Installation
Unzip and untar the Flite package by using the command:
# tar xvzf flite_V1.x_date.tar.gz
Go to the directory of the Flite and then, type the following command.
# cd flite_V1.x_date # ./install.sh
Configuration
This is the PHP script used to generate wav files from Flite:
<?php error_reporting ( E_ALL ); include("config.php"); include("ttslib.php"); if(!defined('DEBUG')) error_reporting(0); debug("Mode debug enabled"); if(isset($_POST["text"])){ $text = $_POST["text"]; if(isset($_POST["format"])) $format = $_POST["format"]; debug(" POST VARIABLES :"); debug(print_r( $_POST,true)); }elseif(isset($_GET["text"])){ $text = $_GET["text"]; if(isset($_GET["format"])) $format = $_GET["format"]; debug(" GET VARIABLES :"); debug(print_r( $_GET,true)); }else httperror(); debug(" text = $text"); debug(" format = $format"); switch($format){ case 'gif': headerdebug("Content-Type: image/gif"); headerdebug('Content-Disposition: attachment; filename="file.gif"'); break; case 'wav': default : headerdebug("Content-Type: audio/wav"); headerdebug('Content-Disposition: attachment; filename="file.wav"'); } $filename=tempnam("/tmp",$ttsname."TMP"); $file=fopen($filename, "w"); debug(" Temp file = $filename"); register_shutdown_function('cleanup',"$filename"); fwrite($file, $text); fwrite($file, "\n"); fclose($file); $program = "/usr/bin/flite"; $time_start = microtime(true); register_shutdown_function('cleanup',"$filename.wav"); exec($program." -f $filename -o $filename.wav", $return, $status); $time_end = microtime(true); $texec = $time_end - $time_start; $outsize=filesize("$filename.wav"); readfile("$filename.wav"); if($enable_record_to_cdr) register_shutdown_function('cdrrecord',$ttsname,$lang,$status,$texec,$text,$outsize); register_shutdown_function('garbage',$ttsname); // vim: set filetype=php expandtab tabstop=2 shiftwidth=2 autoindent smartindent: ?>
The TTS package install the HTTP scripts in:
/var/www/tts/flite
In a default Debian installation, you can test the TTS installation with :
http://yourip/tts/flite/index.php
This web page will generate wav files in PCM 16bit 8kHz mono.
Release Notes
Install the script on your Apache/PHP server. Configure the VoiceXML Browser (Text-to-Speech Option) and restart the VoiceXML interpreter to get the new configuration.
Flite have a dependency to libasound (with Debian install the package libasound2).