A better way to create the full-context labels for HTS training data

One of my previous post describes my first attempt to generate training data for HTS system from recordings and transcripts: How to create full-context labels for your HTS system (update: not really worked); unfortunately, it did not work as expected. During eNTERFACE’14, I have learned that there is a tool named EHMM in festvox that can help to build the .utt files (and in turn the full-context labels easily).

To start, you can follow the steps in the following link, which is the full instruction to build a CLUSTERGEN voice: http://festvox.org/bsv/c3170.html.

You can actually stop after having obtained the .utt files and use it for your own purposes.

In general, the necessary steps are listed below:

  1. Prepare the folder structure with the command (you can change the italic parts as you want)
    $FESTVOXDIR/src/clustergen/setup_cg cmu us awb_arctic
  2. Copy the wav files into the wav/ folder or using the command below to copy and automatically format the .wav file appropriately (16kHz, 16bit mono, RIFF).
  3. Put all the transcriptions into the file etc/txt.done.data. The file should be formatted similarly to http://www.festvox.org/cmu_arctic/cmuarctic.data.
  4. Setup the phone sets appropriately by editing files inside the folder festvox/. You can use the scm files in any festvox voice as a reference.
  5. Run the following 3 commands.
    ./bin/do_build build_prompts
    ./bin/do_build label
    ./bin/do_build build_utts
  6. Generate the full context labels from the .utt files using the make script inside HTS demo.

There are many interesting tools inside festival and festvox that can be used for both unit selection and HMM-based speech synthesis. You can read more about some tools and commands in the link below:

2 thoughts to “A better way to create the full-context labels for HTS training data”

  1. Hi Nguyen Quy Hy

    First, thanks a lot for this guide, it really helps me!

    I am still trying to generate the full labels. I’ve followed the five steps you described, i have the mono labels and utt files, but not the full labels. Does the step 6 generate them? I am using this demo also (http://hts.sp.nitech.ac.jp/archives/2.3/HTS-demo_NIT-BP613-F001.tar.bz2). By the way it looks like the Makefile inside the demo processes existing full labels files and doesn’t create them. I am confused.

    best regards

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.