Setting basics up:I use x-chat2 with
uberscripts and
festival plugin. Tired of the default festival voice, Today's effort was to change the voices ;). I found
this to be the best available resource.
Here are the instructions in command format. You can just copy paste the following.
sudo apt-get install festival festlex-cmu festlex-poslex festlex-oald libestools1.2 unzip
sudo apt-get install festvox-don festvox-rablpc16k festvox-kallpc16k festvox-kdlpc16
cd ~/tmp
mkdir hts_tmp
cd hts_tmp/
wget -c http://hts.sp.nitech.ac.jp/archives/2.0.1/festvox_nitech_us_awb_arctic_hts-2.0.1.tar.bz2
wget -c http://hts.sp.nitech.ac.jp/archives/2.0.1/festvox_nitech_us_bdl_arctic_hts-2.0.1.tar.bz2
wget -c http://hts.sp.nitech.ac.jp/archives/2.0.1/festvox_nitech_us_clb_arctic_hts-2.0.1.tar.bz2
wget -c http://hts.sp.nitech.ac.jp/archives/2.0.1/festvox_nitech_us_rms_arctic_hts-2.0.1.tar.bz2
wget -c http://hts.sp.nitech.ac.jp/archives/2.0.1/festvox_nitech_us_slt_arctic_hts-2.0.1.tar.bz2
wget -c http://hts.sp.nitech.ac.jp/archives/2.0.1/festvox_nitech_us_jmk_arctic_hts-2.0.1.tar.bz2
wget -c http://hts.sp.nitech.ac.jp/archives/1.1.1/cmu_us_kal_com_hts.tar.gz
wget -c http://hts.sp.nitech.ac.jp/archives/1.1.1/cstr_us_ked_timit_hts.tar.gz
for t in `ls` ; do tar xvf $t ; done
sudo mkdir -p /usr/share/festival/voices/us
sudo mv lib/voices/us/* /usr/share/festival/voices/us/
sudo mv lib/hts.scm /usr/share/festival/hts.scm
cd ../
rm -rf hts_tmp/
NOTE: I have chosen just the smallest of the voices. In the
link I provided previously, MonkeeSage explains other voices.
Testing, Selecting and Configuring the default voiceStart up festival. Note that festival is a "lispy". () form each sentence. (quit) is to quit, (SayText "Hello World") causes festival to speak "Hello World".
Procedure for testing and selecting voice
- (voice.list) - list all voices available.
- (voice_) - select as the current voice
- (SayText "Hello World") - Say the text Hello World
- Repeat steps 2 and 3 till you find the voice which you are ok with.
- (quit) - to exit from festival
Example:(voice.list)
(voice_rab_diphone)
(SayText "magnetic interferance from money/credit cards")
(voice_ked_diphone)
(SayText "waste water tank overflowed onto computer")
(voice_kal_diphone)
(SayText "nesting roaches shorted out the ether cable")
(voice_nitech_us_jmk_arctic_hts)
(SayText "need to wrap system in aluminum foil to fix problem")
(voice_nitech_us_bdl_arctic_hts)
(SayText "Groundskeepers stole the root password")
(voice_nitech_us_rms_arctic_hts)
(SayText "your keyboard's space bar is generating spurious keycodes")
(voice_nitech_us_slt_arctic_hts)
(SayText "Communications satellite used by the military for star wars")
(voice_nitech_us_clb_arctic_hts)
(SayText "We didn't pay the Internet bill and it's been cut off")
(voice_nitech_us_awb_arctic_hts)
(SayText "Your cat tried to eat the mouse.")
(
Disclaimer: all of the above wordings were "borrowed" from bofh.txt from uberscript)
Next step will be to create/edit your own ~/.festivalrc file using your fav editor(gedit, vim etc..). Mine is as follows:
(set! default_after_synth_hooks
(list (lambda (utt) (utt.wave.rescale utt 1.6 t))))
(set! voice_default 'voice_nitech_us_slt_arctic_hts)
Note: you can change the
voice_nitech_us_slt_artic_hts to which ever voice you choose.