Flite (festival-lite) is a small, fast open source text to speech synthesis engine developed at CMU and primarily designed for small embedded machines and/or large servers. Flite is designed as an alternative text to speech synthesis engine to Festival for voices built using the FestVox suite of voice building tools.
While flite can be installed using the usual 'apt-get install flite' the current version will not work on Raspberry Pi's as of April 2019. The package was built without support for alsa which is required for Raspberry Pi. We will walk you through building your own version from scratch along with a few example commands for usage. You can replace festival in our code examples with "flite" should you need a faster more flexible program.
Method 1:
There should be a package available. At the command line:
sudo apt install flite
And try the Reading Text section if it appears to work. If this method doesn't work, try the following to get the source and install it:
Method 2:
Move to the Downloads folder and install the necessary libasound2-dev package that flite requires:
cd ~/Downloads sudo apt-get install libasound2-dev
Next we will grab the latest version of the flite "tarball".
wget http://www.festvox.org/flite/packed/flite-2.1/flite-2.1-release.tar.bz2
Now we can uncompress the files, change into the new source code directory and start the configure process.
tar -xvf flite-2.1-release.tar.bz2 cd flite-2.1-release ./configure --with-audio=alsa --with-vox=awb
It will take several minutes to compile the source even on todays fastest Raspberry Pi B+. We will use the make command command to start the compilation.
make
Once the make command has completed without errors we can install the files using the following command:
sudo make install
You are now set to try it out. For simple text, use text after the -t flag:
flite -t "All good men come to the aid of the rebellion"
and you can have flite speak the contents of a file with -f
flite -f Thomas_Jefferson.txt
Sounds pretty good, eh?
You are not limited to the default voice. If you type:
flite -lv
you get a list of available voices like this:
To use a different voice, use the -voice flag followed by one of the voices in the listing
flite -voice awb -t "The Raspberry Pi is a great Maker platform!"
If you would like one of the voices listed but not installed by default, they can be downloaded from the Flite website.
There is a large selection of voices to choose from in the download area of the Flite website.
WAV File Output
If you have only a fixed set of phrases, it might be better to have the sentences in an audio file instead of generating them every time you want them spoken. Fortunately Flite will save its voice to a wav file (a standard sound file format):
flite -t "Shall we play a game?" -o wargames1.wav flite -t "Lets play global thermonuclear war." -o wargames2.wav
You can then use a number of Linux programs to output the text file when you need to. aplay
is one such program already on the Raspberry Pi:
aplay wargames1.wav aplay wargames2.wav
You can even copy these wav files to your PC/Mac or Arduino wave shield SD card and play the voices on other equipment.
Text editor powered by tinymce.