festival

Festival install script version 1.96

 # festival
# ========
# Below we install speech_tools, festival, some lexicons, and some voices.
# The more you install, the more space you'll eat up.  If you only want a
# simple American English male voice, install speech_tools, festival itself,
# festlex_POSLEX, festlex_CMU, and festvox_kallpc16k.

###***###
### Edited to work with Ubuntu Edgy/ Feisty
### By Eric " Styles " April 18 2007
###***###

# Create a directory for the tarballs
mkdir -p -m 0700 ~/installed/festival

# If you have anything in ~/src/festival from the last version of this
# howto, zap it:
test -d ~/src/festival && rm -r ~/src/festival

# Create a directory to install everything under
su -c "mkdir -p /usr/local/festival"


# Lexicons & Voices
#===================
# Install the POSLEX lexicon (required for British and American English
# voices)
cd
test -f installed/festival/festlex_POSLEX.tar.gz &&
 mv installed/festival/festlex_POSLEX.tar.gz .
test ! -f festlex_POSLEX.tar.gz &&
 wget http://festvox.org/packed/festival/1.96/festlex_POSLEX.tar.gz

# Verify tarball w/ cksum:
#echo "3863375121 242914 festlex_POSLEX.tar.gz" ; cksum \
# festlex_POSLEX.tar.gz

su -c "tar xzvf ./festlex_POSLEX.tar.gz -C /usr/local/festival"
cd
rm -f installed/festival/festlex_POSLEX.tar.gz
mv festlex_POSLEX.tar.gz installed/festival/


# Install the CMU lexicon (required for American English voices)
cd
test -f installed/festival/festlex_CMU.tar.gz &&
 mv installed/festival/festlex_CMU.tar.gz .
test ! -f festlex_CMU.tar.gz &&
 wget http://festvox.org/packed/festival/1.96/festlex_CMU.tar.gz

# Verify tarball w/ cksum:
#echo "2208443443 1749300 festlex_CMU.tar.gz" ; cksum \
# festlex_CMU.tar.gz

su -c "tar xzvf ./festlex_CMU.tar.gz -C /usr/local/festival"
cd
rm -f installed/festival/festlex_CMU.tar.gz
mv festlex_CMU.tar.gz installed/festival/


# Install the OALD lexicon (required by British English voices)
cd
test -f installed/festival/festlex_OALD.tar.gz &&
 mv installed/festival/festlex_OALD.tar.gz .
test ! -f festlex_OALD.tar.gz &&
 wget http://festvox.org/packed/festival/1.96/festlex_OALD.tar.gz

# Verify tarball w/ cksum:
#echo "3503475994 1472516 festlex_OALD.tar.gz" ; cksum \
# festlex_OALD.tar.gz

su -c "tar xzvf ./festlex_OALD.tar.gz -C /usr/local/festival"
cd
rm -f installed/festival/festlex_OALD.tar.gz
mv festlex_OALD.tar.gz installed/festival/


# Install rabl British English male diphone voice
# Requires: festlex_POSLEX and festlex_OALD
cd
test -f installed/festival/festvox_rablpc16k.tar.gz &&
 mv installed/festival/festvox_rablpc16k.tar.gz .
test ! -f festvox_rablpc16k.tar.gz &&
 wget http://festvox.org/packed/festival/1.96/festvox_rablpc16k.tar.gz

# Verify tarball w/ cksum:
#echo "65489380 5369001 festvox_rablpc16k.tar.gz" ; cksum \
# festvox_rablpc16k.tar.gz

su -c "tar xzvf ./festvox_rablpc16k.tar.gz -C /usr/local/festival"
cd
rm -f installed/festival/festvox_rablpc16k.tar.gz
mv festvox_rablpc16k.tar.gz installed/festival/


# Install don British English male diphone voice
# Requires: festlex_POSLEX and festlex_OALD
cd
test -f installed/festival/festvox_don.tar.gz &&
 mv installed/festival/festvox_don.tar.gz .
test ! -f festvox_don.tar.gz &&
 wget http://festvox.org/packed/festival/1.96/festvox_don.tar.gz

# Verify tarball w/ cksum:
#echo "1116255262 645583 festvox_don.tar.gz" ; cksum \
# festvox_don.tar.gz

su -c "tar xzvf ./festvox_don.tar.gz -C /usr/local/festival"
cd
rm -f installed/festival/festvox_don.tar.gz
mv festvox_don.tar.gz installed/festival/


# Install kal American English male diphone voice
# Requires: festlex_POSLEX and festlex_CMU
cd
test -f installed/festival/festvox_kallpc16k.tar.gz &&
 mv installed/festival/festvox_kallpc16k.tar.gz .
test ! -f festvox_kallpc16k.tar.gz &&
 wget http://festvox.org/packed/festival/1.96/festvox_kallpc16k.tar.gz

# Verify tarball w/ cksum:
#echo "1214589009 4104056 festvox_kallpc16k.tar.gz" ; cksum \
# festvox_kallpc16k.tar.gz

su -c "tar xzvf ./festvox_kallpc16k.tar.gz -C /usr/local/festival"
cd
rm -f installed/festival/festvox_kallpc16k.tar.gz
mv festvox_kallpc16k.tar.gz installed/festival/


# Install ked American English male diphone voice
# Requires: festlex_POSLEX and festlex_CMU
cd
test -f installed/festival/festvox_kedlpc16k.tar.gz &&
 mv installed/festival/festvox_kedlpc16k.tar.gz .
test ! -f festvox_kedlpc16k.tar.gz &&
 wget http://festvox.org/packed/festival/1.96/festvox_kedlpc16k.tar.gz

# Verify tarball w/ cksum:
#echo "163170610 4221528 festvox_kedlpc16k.tar.gz" ; cksum \
# festvox_kedlpc16k.tar.gz

su -c "tar xzvf ./festvox_kedlpc16k.tar.gz -C /usr/local/festival"
cd
rm -f installed/festival/festvox_kedlpc16k.tar.gz
mv festvox_kedlpc16k.tar.gz installed/festival/


# Install Castilian Spanish male diphone voice
# Requires: nothing else
cd
test -f installed/festival/festvox_ellpc11k.tar.gz &&
 mv installed/festival/festvox_ellpc11k.tar.gz .
test ! -f festvox_ellpc11k.tar.gz &&
 wget http://festvox.org/packed/festival/1.96/festvox_ellpc11k.tar.gz

# Verify tarball w/ cksum:
#echo "1040342107 1473907 festvox_ellpc11k.tar.gz" ; cksum \
# festvox_ellpc11k.tar.gz

su -c "tar xzvf ./festvox_ellpc11k.tar.gz -C /usr/local/festival"
cd
rm -f installed/festival/festvox_ellpc11k.tar.gz
mv festvox_ellpc11k.tar.gz installed/festival/


# Install American English male HTS voice
# Requires: festlex_POSIX and festlex_CMU
cd
test -f installed/festival/festvox_cmu_us_bdl_arctic_hts.tar.gz &&
 mv installed/festival/festvox_cmu_us_bdl_arctic_hts.tar.gz .
test ! -f festvox_cmu_us_bdl_arctic_hts.tar.gz &&
 wget http://festvox.org/packed/festival/1.96/\
festvox_cmu_us_bdl_arctic_hts.tar.gz

# Verify tarball w/ cksum:
#echo "2213471920 1060641 festvox_cmu_us_bdl_arctic_hts.tar.gz" ; cksum \
# festvox_cmu_us_bdl_arctic_hts.tar.gz

su -c "tar xzvf ./festvox_cmu_us_bdl_arctic_hts.tar.gz -C /usr/local/festival"
cd
rm -f installed/festival/festvox_cmu_us_bdl_arctic_hts.tar.gz
mv festvox_cmu_us_bdl_arctic_hts.tar.gz installed/festival/


# Install American English female HTS voice
# Requires: festlex_POSIX and festlex_CMU
cd
test -f installed/festival/festvox_cmu_us_slt_arctic_hts.tar.gz &&
 mv installed/festival/festvox_cmu_us_slt_arctic_hts.tar.gz .
test ! -f festvox_cmu_us_slt_arctic_hts.tar.gz &&
 wget http://festvox.org/packed/festival/1.96/\
festvox_cmu_us_slt_arctic_hts.tar.gz

# Verify tarball w/ cksum:
#echo "1417181162 955706 festvox_cmu_us_slt_arctic_hts.tar.gz" ; cksum \
# festvox_cmu_us_slt_arctic_hts.tar.gz

su -c "tar xzvf ./festvox_cmu_us_slt_arctic_hts.tar.gz -C /usr/local/festival"
cd
rm -f installed/festival/festvox_cmu_us_slt_arctic_hts.tar.gz
mv festvox_cmu_us_slt_arctic_hts.tar.gz installed/festival/


# Install Canadian English male HTS voice
# Requires: festlex_POSIX and festlex_CMU
cd
test -f installed/festival/festvox_cmu_us_jmk_arctic_hts.tar.gz &&
 mv installed/festival/festvox_cmu_us_jmk_arctic_hts.tar.gz .
test ! -f festvox_cmu_us_jmk_arctic_hts.tar.gz &&
 wget http://festvox.org/packed/festival/1.96/\
festvox_cmu_us_jmk_arctic_hts.tar.gz

# Verify tarball w/ cksum:
#echo "461887971 909045 festvox_cmu_us_jmk_arctic_hts.tar.gz" ; cksum \
# festvox_cmu_us_jmk_arctic_hts.tar.gz

su -c "tar xzvf ./festvox_cmu_us_jmk_arctic_hts.tar.gz -C /usr/local/festival"
cd
rm -f installed/festival/festvox_cmu_us_jmk_arctic_hts.tar.gz
mv festvox_cmu_us_jmk_arctic_hts.tar.gz installed/festival/


# Install Scottish English male HTS voice
# Requires: festlex_POSIX and festlex_CMU
cd
test -f installed/festival/festvox_cmu_us_awb_arctic_hts.tar.gz &&
 mv installed/festival/festvox_cmu_us_awb_arctic_hts.tar.gz .
test ! -f festvox_cmu_us_awb_arctic_hts.tar.gz &&
 wget http://festvox.org/packed/festival/1.96/\
festvox_cmu_us_awb_arctic_hts.tar.gz

# Verify tarball w/ cksum:
#echo "3079570081 878090 festvox_cmu_us_awb_arctic_hts.tar.gz" ; cksum \
# festvox_cmu_us_awb_arctic_hts.tar.gz

su -c "tar xzvf ./festvox_cmu_us_awb_arctic_hts.tar.gz -C /usr/local/festival"
cd
rm -f installed/festival/festvox_cmu_us_awb_arctic_hts.tar.gz
mv festvox_cmu_us_awb_arctic_hts.tar.gz installed/festival/


# Install Canadian English male multisyn voice
# Requires: festlex_POSIX and festlex_CMU
cd
test -f installed/festival/festvox_cstr_us_jmk_arctic_multisyn-1.0.tar.gz &&
 mv installed/festival/festvox_cstr_us_jmk_arctic_multisyn-1.0.tar.gz .
test ! -f festvox_cstr_us_jmk_arctic_multisyn-1.0.tar.gz &&
 wget http://festvox.org/packed/festival/1.96/\
festvox_cstr_us_jmk_arctic_multisyn-1.0.tar.gz

# Verify tarball w/ cksum:
#echo "1405898172 103164450" ; cksum \
# festvox_cstr_us_jmk_arctic_multisyn-1.0.tar.gz

su -c "tar xzvf ./festvox_cstr_us_jmk_arctic_multisyn-1.0.tar.gz \
  -C /usr/local/festival"
cd
rm -f installed/festival/festvox_cstr_us_jmk_arctic_multisyn-1.0.tar.gz
mv festvox_cstr_us_jmk_arctic_multisyn-1.0.tar.gz installed/festival/


# Install Scottish English male multisyn voice
# Requires: festlex_POSIX and festlex_CMU
cd
test -f installed/festival/festvox_cstr_us_awb_arctic_multisyn-1.0.tar.gz &&
 mv installed/festival/festvox_cstr_us_awb_arctic_multisyn-1.0.tar.gz .
test ! -f festvox_cstr_us_awb_arctic_multisyn-1.0.tar.gz &&
 wget http://festvox.org/packed/festival/1.96/\
festvox_cstr_us_awb_arctic_multisyn-1.0.tar.gz

# Verify tarball w/ cksum:
#echo "2402648095 155290872" ; cksum \
# festvox_cstr_us_awb_arctic_multisyn-1.0.tar.gz

su -c "tar xzvf ./festvox_cstr_us_awb_arctic_multisyn-1.0.tar.gz \
 -C /usr/local/festival"
cd
rm -f installed/festival/festvox_cstr_us_awb_arctic_multisyn-1.0.tar.gz
mv festvox_cstr_us_awb_arctic_multisyn-1.0.tar.gz installed/festival/


# speech_tools 1.2.95-beta
# ========================
cd
test -f installed/festival/speech_tools-1.2.95-beta.tar.gz &&
 mv installed/festival/speech_tools-1.2.95-beta.tar.gz .
test ! -f speech_tools-1.2.95-beta.tar.gz &&
 wget http://www.festvox.org/packed/festival/1.96/\
speech_tools-1.2.95-beta.tar.gz

# Verify tarball w/ cksum:
#echo "803997793 1281274 speech_tools-1.2.95-beta.tar.gz" ; cksum \
# speech_tools-1.2.95-beta.tar.gz

# Become root to install it
su

( cd /usr/local
  find -maxdepth 1 -type d -name "speech_tools-*" -exec rm -r {} \;
  test -L ./speech_tools && rm ./speech_tools )
tar xzvf ./speech_tools-1.2.95-beta.tar.gz -C /usr/local
( cd /usr/local
  mv speech_tools speech_tools-1.2.95
  ln -sf speech_tools-1.2.95 speech_tools
  cd speech_tools-1.2.95
  test $UID = 0 && chown -R root:root .
  chmod -R u+w . )
cd /usr/local/speech_tools
./configure
make
make test

# Become yourself again
exit

cd
rm -f installed/festival/speech_tools-*.tar.*
mv speech_tools-1.2.95-beta.tar.gz installed/festival/


# festival 1.96-beta
# ==================
cd
test -f installed/festival/festival-1.96-beta.tar.gz &&
 mv installed/festival/festival-1.96-beta.tar.gz .
test ! -f festival-1.96-beta.tar.gz &&
 wget http://festvox.org/packed/festival/1.96/festival-1.96-beta.tar.gz

# Verify tarball w/ cksum:
#echo "4226888879 707573 festival-1.96-beta.tar.gz" ; cksum \
# festival-1.96-beta.tar.gz

# Become root to install it
su

( cd /usr/local
  find -maxdepth 1 -type d -name "festival-*" -exec rm -r {} \;
  test -L festival && rm festival )
tar xzvf ./festival-1.96-beta.tar.gz -C /usr/local
( cd /usr/local
  mv festival festival-1.96-beta
  ln -sf festival-1.96-beta festival
  cd festival-1.96-beta
  test $UID = 0 && chown -R root:root .
  chmod -R u+w . )
cd /usr/local/festival
./configure
make

# If you installed the POSLEX, CMU, and OALD lexicons, and the don,
# kedlpc16k, and rablpc16k voices, you can run 'make test' now

# Create a symlink so you can run festival without it's path
ln -s /usr/local/festival/bin/festival /usr/local/bin/festival

# Become yourself again
exit

cd
rm -f installed/festival/festival-*.tar.*
mv festival-1.96-beta.tar.gz installed/festival/


## To actually use it, try something like this.  If you didn't
## install certain voices, skip those.
festival
(voice_rab_diphone)
(SayText "I am a British male")
(voice_don_diphone)
(SayText "I am also a British male")
(voice_ked_diphone)
(SayText "I am an American male")
(voice_kal_diphone)
(SayText "I am also an American male")
(voice_el_diphone)
(SayText "Hola mi amigo")
(voice_cmu_us_slt_arctic_hts)
(SayText "I am an American female")
(voice_cmu_us_bdl_arctic_hts)
(SayText "I am an American male")
(voice_cmu_us_jmk_arctic_hts)
(SayText "I am a Canadian male")
(voice_cmu_us_awb_arctic_hts)
(SayText "I am Scottish male")
(voice_cstr_us_jmk_arctic_multisyn)
(SayText "I am a Canadian male")
(voice_cstr_us_awb_arctic_multisyn)
(SayText "My name is fat bastard, I am so sexy")
(SayText "I am Duncan McLeod of the clan McLeod")
(SayText "Shaken, not stirred")
(quit)

# Speak the time:
/usr/local/festival/examples/saytime

# Speak the contents of a text file:
festival --tts /usr/local/festival/README