15-492: TTS Assignment

In this assignment you will learn what works and doesn't work in text to speech systems. You will also learn the basic stages in building a synthetic voice.

Your tasks are:

You must submit your written report, plus 5 waveform examples on your synthesizer to awb@cs.cmu.edu before 3:30pm Friday 28th October 2010.

Installing Festival and the Festvox tools

Windows you must install the cygwin environment for this to work. Festival can work with Visual studio, but the FestVox tools do not, so install the full cygwin environment first. Linux and OSX should work out of the box.

Download the source, voices and lexicons from: http://www.speech.cs.cmu.edu/15-492/assignments/tts/packed2010/

Follow the commands for unpacking and compilation in the script http://www.speech.cs.cmu.edu/15-492/assignments/tts/packed2010/build_them . You wish to go through these commands one by one rather than running the script in case there are errors on the way.

Finding problems with Festival and other synthesizers

Once Festival is installed you should be able to run it from the command line

Festival Speech Synthesis System 2.0.96:beta May 2010
Copyright (C) University of Edinburgh, 1996-2010. All rights reserved.

Here are some useful commands
festival> (SayText "Hello world.")

festival> (set! utt1 (SayText "Hello world."))

festival> (utt.save.wave utt1 "example.wav")

You can check for pronunciation problems, non-standard word errors etc. Higher grades will be given for more different types of error.

You should try to find some commercial system out there that offers a type in box, so you can test it.

Building a voice

Before starting you mist set two environment variations

export ESTDIR=...pathto../speech_tools
export FESTVOXDIR=...pathto../festvox
You can follow the instructions for building a talking clock here. You should ignore the parts about power normalization.

For building CLUSTERGEN voice, follow the instructions here and use the first 100 utterances (or more) of the ARCTIC prompt set which you can find here arctic_prompts.data