Skip to content
ggodart edited this page Dec 31, 2020 · 9 revisions

Introduction

This page has been copied from a very old document and is probably out of date. Please feel free to fix where it is in error.

The simplest and fastest TTS engine is flite, available from http://www.speech.cs.cmu.edu/flite . After compiling, point to where the flite binary is with the voice_text_file parm and set voice_text = flite. If on Linux, you can pick up a copy (3 meg, 7 meg unziped) here: http://misterhouse.net/public/flite.gz

The Festival Speech engine is available from http://www.cstr.ed.ac.uk/projects/festival/download.html . There are various voices and languages available. Compiling Fesitval can be a little tricky, so if you can, you will probably want to use the RPM files.

Once you have downloaded in and installed or compiled Festival, you can test it with the following commands:

echo 'Hello from Festival' | ./festival --tts ./festival --tts ../examples/example.sable

./festival --server & echo '(SayText "Hello from the festival client")' | ./festival_client You can also run the client, or a simple telnet, from a different box, but you first have to create a /usr/lib/festival/lib/siteinit.scm file with a list of boxes that you want to give authority to. (e.g. (set! server_access_list '("localhost" "house\.isl\.net")) ). See the festival documentation for more details.

Ricky Buchanan reports ESD and festival --server doe not work, and suggests to instead edit /etc/festival.scm and add these lines to the top:

(Parameter.set 'Audio_Method 'Audio_Command) (Parameter.set 'Audio_Command "/usr/bin/esdcat -m -r $SR $FILE") Making sure that /usr/bin/esdcat points to the right spot for the esdcat program.

David L. reports that there is a different engine for festival called MBROLA at http://tcts.fpms.ac.be/synthesis/mbrola.html that has a very nice US english male and female voice. Other source for festival voices can be found here: http://festvox.org/contrib.html

Once you have the festival server running, you can enable MisterHouse to use it with mh.ini parms voice_text and festival_port.

To set the default voices, find your siteinit.scm file and have fun with the following:

(set! voice_default 'voice_us1_mbrola) (set! voice_male1 'voice_kal_diphone) (set! voice_male2 'voice_us2_mbrola) (set! voice_female 'voice_kal_diphone) This depends upon which voices you have installed on your system. Some voices are don_diphone, kal_diphone, ked_diphone, rab_diphone, us1_mbrola, us2_mbrola, and us3_mbrola

Another good TTS engine is now available from Cepstral: http://www.cepstral.com . $30 per voice, for either Linux or Windows. Set mh.ini parm voice_text=swift and modify voice_text_swift to point to the swift binary.

Prior to 11/2002, for $150, you can get 2 nice voices with AT&T Natural Voices TTS Linux engine here: http://www.naturalvoices.com (additional voices cost $70), but for some reason, they no longer sell them from there. Have not tried it, but this site is selling Linux voices for $50 each: https://secure.wizzardsoftware.com/voice/wizzshop1/nvshoplinux2.asp

If you have the Linux binary, use the voice_text_naturalvoice parm to point to where you have it installed and set voice_text=naturalvoice.

If you only have the windows binary, you can now use Wine to run it from Linux. On my 1.2 GHz Celeron, time-to-speech is about 1 second, -vs- about .4 seconds for the native Linux binary. See bin/mh.ini for examples on these parms: voice_text=NaturalVoiceWine, voice_text_naturalvoice=path_to_windows_voices, wine_path=path_to_wine.

The IBM ViaVoice TTS and Voice Recognition engines is no longer available (as of 05/2002) from the IBM site ( http://www-4.ibm.com/software/speech/dev/sdk_linux.html ), but can still be found here: http://www.ecn.purdue.edu/~laird/Linux/ViaVoice/ The TTS engines can also be found here: ftp://people.redhat.com/jlamb/

To use it with MisterHouse, you need to install Brad Reed's ViaVoiceTTS.pm module from http://www.reednet.org/ViaVoiceTTS , then set your mh.ini voice_text=vv_tts or voice_text=viavoice (vv_tts is a bit fancier, queuing up speech and has more mh.ini options).

Download and install (as root) these rpms:

tar -xvf viavoice_asr_sdk_3.tar ( 3 MB) tar -xvf viavoice_dict_rtk_3.tar (78 MB) rpm -ivh ViaVoice_runtime-3.0-1.2.i386.rpm rpm -ivh ViaVoice_sdk-3.0-1.1.i386.rpm Note for our usage, you can get by without the gui menus, so if rpm tells you that you have down level or missing libraries (e.g. libgdk), you can probably ignore that by adding the rpm --nodeps option.

As the *.txt instructions from the tar file state, you should probably run the viavoice code as non-root. Here is one way to allow non-root access to the microphone:

chmod go+rw /dev/dsp* chmod go+rw /dev/audio* Make sure your microphone is selected as the recording source with this command:

aumix -m R (-l R for line, -c R for CDROM) Documentation is in /usr/doc/ViaVoice and test and example code is in /usr/lib/ViaVoice/samples. /usr/doc/ViaVoice/rt.readme.txt suggests creating a new userid with this java app:

/usr/bin/vvstartuserguru If that doesn't work, you can add a user with this command:

source /usr/bin/vvsetenv /usr/lib/ViaVoice/bin/vvuser -userid winter -setdefault To enable viavoice from MisterHouse, review the viavoice_* parms in the mh.ini file (defaults should work if you run MisterHouse on the same box as the server), set parm voice_cmd=viavoice, run mh/bin/viavoice_server_start, start MisterHouse and enable the viavoice_control.pl from the 'Select Code' ia5 MrHouse web menu. Use the Tk 'VR mode' button and/or the phrase(s) in viavoice_awake_phrase to enable the awake VR mode.

The viavoice SDK FAQ can be found here at http://www-4.ibm.com/software/speech/dev/faq_linux.html .

For Apple OS X users, here are some hints from Jon Boehm:

  1. Install Xdarwin, remember the 10.2 patch if your running Jaguar.

  2. Upgrade Perl to 5.8 http://developer.apple.com/internet/macosx/perl.html

  3. Install Perl modules required by MisterHouse. Some of the packages will not install nicely. If something fails you will need to do Goggle searches like: "OSX GD" to get some help. Specifically for GD get the translated version of this page "Installazione di php+apache+mysql su OSX" and note the packages that need to be installed before GD. Note: make sure XDarwin is running before you run "make test' for GD

Clone this wiki locally