Practice of speech synthesis using Festival


1.a: Installing Festival (Mac and Linux):

To install Festival you need to type the following procedures:


  1. Download the following file

  2. http://homepages.inf.ed.ac.uk/jyamagis/misc/demo-material-mac.tar.gz


  3. and untar the file and build Festival

  4. bash$ tar xvfz SummerSchool.tar.gz

  5. bash$ nohup sh do_build


For installing Festival into Mac, XCode is required to be installed


1.b: Installing Festival (Windows):

To install Festival you need to type the following commands:


  1. Download the following file

  2. http://homepages.inf.ed.ac.uk/jyamagis/misc/demo-material-win.zip


  3. Unzip the file


  4. Copy "festival" directory in the unzipped directory to the top directory of C:\\


  5. Please click festival.exe


2: Starting Festival

To start Festival you need to type the following commands:


    Mac OSX

  1. bash$ cd build/festival/bin

  2. bash$ festival

  3. You should then see the following:

  4.    Festival Speech Synthesis System 1.96:beta July 2004

  5.    Copyright (C) University of Edinburgh, 1996-2004. All rights reserved.

  6.    For details type `(festival_warranty)'

  7.    festival>


   Windows

   Click ‘festival’ file in unzipped directory

  1. You should then see the following:

  2.    Festival Speech Synthesis System 1.96:beta July 2004

  3.    Copyright (C) University of Edinburgh, 1996-2004. All rights reserved.

  4.    For details type `(festival_warranty)'

  5.    festival>


Notice the change in prompt. This means that Festival is running, and commands that you type will be interpreted by Festival rather than by the shell.



3: Making Festival Speak

To make festival speak, you need to type the following commands:


  1. festival> (SayText "Put something here")


When you issue commands to Festival you must include the command in round brackets `(...)' if you do not, it will generate an error.



4: Getting waveforms out of festival

Once you have a fully synthesised utterance object in festival, it is possible to extract the waveform to a file (to load into wavesurfer or praat) as follows:



  1. festival>(utt.save.wave (SayText "Put something here") "name.wav" 'riff)


name.wav is the filename which you can choose, remember if you save more than one waveform to call them different names.



5: Change voices and try different types of speech synthesis method

Festival has a library of speech synthesis voices. To change speech synthesis types, you need to type as follows:


  1. festival>(voice_cmu_us_slt_arctic_hts)


The following is the list of voices available in Festival:


  1. English

  2. voice_kal_diphone                             : Diphone speech synthesiser 

  3. voice_cstr_us_awb_arctic_multisyn   :Unit selection speech synthesiser

  4. voice_cmu_us_slt_arctic_hts             : HMM-based speech synthesiser      


  1. Spanish

  2. voice_el_diphone                               : Diphone speech synthesiser 

  3. voice_cstr_upc_upm_spanish_hts     : HMM-based speech synthesiser


Please try these voices and compare the quality and issues


6: Task

Let's create AudioBook using Festival text-to-speech synthesisers


    Copyright-free e-Books

    http://en.wikisource.org

    http://www.gutenberg.org/wiki/Main_Page