HTS Voice Training Checklist
Speaker-Independent Training
- Make sure you are using a template from the right version of HTS.
Either copy from a similar voice, or
use /proj/tts/hts-2.3/template_si_htsengine for HTS 2.3.
- Make sure the $MCDGV fix is present. This is a common
training error for which we have embedded a fix into the training
scripts. You can check that you have the fix by looking
in yourvoicedir/scripts and seeing that a file
called fix_mcdgv.py is there. If you
used template_si_htsengine, then it should already be
there. If not, please use a template that has it.
- Also under scripts, make sure that
in Config.pm, $prjdir is set to the path to your
voice directory.
- Acoustic data: under data/, put data from your corpus into
directories cmp, lf0, and mgc. Typically
we use symbolic links to avoid duplicating large amounts of data for
each voice. If you are experimenting with different acoustic
settings like f0 extraction ranges or other variations, then you'll have to re-make
these with your own settings, rather than copying the data over.
- Text labels: under labels/, put data from your corpus
into mono and full. Make sure
that mono.mlf and full.mlf contain the right
paths. If you are experimenting with some modified frontend,
e.g. different pronunciations or syllabification or extra features, you will need to
re-create these label files rather than using the default ones in
the /proj/tts/data repository.
- Generation labels for synthesis: place these
in labels/gen.
Again, if you are using a nonstandard frontend, you will need to
generate these labels yourself rather than using the default ones in
the data repository.
- Model lists: these are lists/full_all.list, full.list,
mono.list. full_all.list needs to contain labels for
both training and synthesis, and also if you are using any
non-standard frontend you will need to re-create these for the new
model definitions resulting from your new labels. When in
doubt, re-run this using make list in
the data/Makefile (make sure to update any paths in there)
after all your label files are in place.
- Training and generation script files. scp/train.scp is
the list of files to use for training. Make sure they are all
there, and that the paths to your voice directory are correct. If
you are training a subset voice, this is the place to define the
subset. scp/gen.scp lists the files to synthesize from for
test synthesis. Make sure these contain the correct files and paths.
- Questions files under questions/. These are language-dependent so make sure you
are using ones for the correct language. If you copied
from template_si_htsengine then you are using the English
ones. You can copy the ones for Turkish from any of the Turkish
voices we have already trained. If you are using any of your own
additional frontend features, then you will also need to add in
questions about those in the questions file.
- Are you training using SAT? If so, then please also check the
following:
- Each data directory should have one subdirectory for each
speaker.
- gen labels should be prefixed with the ID of the
target speaker and be in a subdirectory named after that speaker.
- labels/*.mlf files should have speaker-specific
lines.
- scripts/Config.pm - check that $spkrPat is
correct and also that $spkr is the ID of the adaptation
speaker that you want to use.