15 | | The previous steps will be explained creating a HMM voice using the HTS '''speaker dependent training demo''':[[BR]] |
16 | | http://hts.sp.nitech.ac.jp/archives/2.0.1/HTS-demo_CMU-ARCTIC-SLT.tar.bz2 |
17 | | |
18 | | For an explanation on how to create an adapted HMM voice using the '''speaker adaptation/adaptive training demo''':[[BR]] |
19 | | http://hts.sp.nitech.ac.jp/archives/2.0.1/HTS-demo_CMU-ARCTIC-ADAPT.tar.bz2 [[BR]] |
20 | | please see [wiki:HMMVoiceCreationAdapt]. |
| 15 | The previous steps will be explained below creating a HMM voice using the HTS '''speaker dependent training demo'''.[[BR]] |
| 16 | |
| 17 | For an explanation on how to create an adapted HMM voice using the '''speaker adaptation/adaptive training demo''' please see [wiki:HMMVoiceCreationAdapt]. [[BR]] |
81 | | 1- Run HMMVoiceDataPreparation of the HMM Voice Trainer group, to check if text, wav and data/raw files are available and in the correct paths. |
82 | | If just data/raw provided, the program will do the conversion. If no text files are available but data/utts in festival format, the program will do the conversion as well. |
83 | | |
84 | | 2- Run PhoneUnitFeatureComputer component of the Feature Extraction group to extract context feature vectors from the text data. This procedure will create a "phonefeatures" directory. For running this component the MARY server should be running as well. |
85 | | |
86 | | 3- Run the EHMMlabeler component of the Automatic Labeling group to label automatically the wav files using the corresponding transcriptions. |
87 | | For running EHMMLabeler, please set: [[BR]] |
88 | | * EHMMLabeler.ehmm to corresponding path in ../festvox/src/ehmm/bin/ |
89 | | |
90 | | 4- Run LabelPauseDeleter component of the Automatic Labeling group. Please set: [[BR]] |
91 | | * LabelPauseDeleter.threshold = 10. |
92 | | |
93 | | 5- Run PhoneUnitLabelComputer component of the Labels and Pause Correction group. |
94 | | |
95 | | 6- Run PhonelabelFeatureAligner component of the Labels and Pause Correction group. This procedure will create a "phonelab" directory. |
| 80 | 1- Run the HMMVoiceDataPreparation of the HMM Voice Trainer group to check if text, wav and data/raw files are available and in the correct paths. |
| 81 | If just data/raw is provided, the program will do the conversion. If no text files are available but data/utts in festival format, the program will do the |
| 82 | conversion as well. |
| 83 | |
| 84 | 2- Run the PhoneUnitFeatureComputer component of the Feature Extraction group to extract context feature vectors from the text data. This procedure will create a "phonefeatures" directory. For running this component the MARY server should be running as well. |
| 85 | |
| 86 | 3- Run the EHMMlabeler component of the Automatic Labeling group to label automatically the wav files using the corresponding transcriptions. This procedure might |
| 87 | take several hours. For running EHMMLabeler, please use the settings editor of this component to set, according to your festvox installation, the variable: |
| 88 | {{{ |
| 89 | EHMMLabeler.ehmm = ../festvox/src/ehmm/bin/ |
| 90 | }}} |
| 91 | |
| 92 | 4- Run the LabelPauseDeleter component of the Automatic Labeling group. Please use the settings editor of this component to set the variable: |
| 93 | {{{ |
| 94 | LabelPauseDeleter.threshold = 10 |
| 95 | }}} |
| 96 | |
| 97 | 5- Run the PhoneUnitLabelComputer component of the Labels and Pause Correction group. This procedure will create a "phonelab" directory. |
| 98 | |
| 99 | 6- Run the PhonelabelFeatureAligner component of the Labels and Pause Correction group. This procedure will verify alignment between "phonefeatures" and "phonelabels". |
| 100 | |
104 | | If running for other voice, for example a male German voice, please set: [[BR]] |
105 | | * HMMVoiceConfigure.dataSet : german_set_name [[BR]] |
106 | | * HMMVoiceConfigure.featureList : feature_list_de.pl (context features used for this voice can be change in this file). [[BR]] |
107 | | * HMMVoiceConfigure.lowerF0 : 40 (for male) [[BR]] |
108 | | * HMMVoiceConfigure.speaker : speaker_name [[BR]] |
109 | | * HMMVoiceConfigure.upperF0 : 280 (for male) [[BR]] |
110 | | * HMMVoiceConfigure.voiceLang : de [[BR]] |
111 | | |
112 | | Using the setting of this component you can also change other variables like using LSP instead og MGC, sampling frequency, etc., |
113 | | the same as you would do when running "make configure" with the original HTS scripts. |
114 | | |
115 | | 8- Run HMMVoiceMakeData component of the HMM Voice trainer group to run the HTS procedure "make data". This procedure is the same as in the original scripts with additional sections for calculating strenghts (for mixed exitation), global variance, and handling of MARY context features. |
116 | | |
117 | | Particular procedures can be repeated isolated, fixing the particular settings for this component. For example, if the procedure that creates strengths (str directory) has to be repeated with a different set of filters (data/filters/), please set: [[BR]] |
118 | | * HMMVoiceMakeData.makeSTR 1 [[BR]] |
119 | | * HMMVocieMakeData.makeCMPMARY 1 [[BR]] |
| 109 | If running configure for other voice, for example a male German voice, please use the settings editor of this component to set the variables: |
| 110 | {{{ |
| 111 | HMMVoiceConfigure.dataSet = german_set_name |
| 112 | HMMVoiceConfigure.featureList = feature_list_de.pl (the set of context features used for this voice can be change in this file). |
| 113 | HMMVoiceConfigure.lowerF0 = 40 (for male) |
| 114 | HMMVoiceConfigure.speaker = speaker_name |
| 115 | HMMVoiceConfigure.upperF0 = 280 (for male) |
| 116 | HMMVoiceConfigure.voiceLang = de |
| 117 | }}} |
| 118 | |
| 119 | Using the settings editor of this component you can also change other variables like using LSP instead og MGC, sampling frequency, etc., |
| 120 | the same as you would do when running "make configure + parameters" with the original HTS scripts. |
| 121 | |
| 122 | 8- Run the HMMVoiceMakeData component of the HMM Voice trainer group to run the HTS procedure "make data". This procedure is the same as in the original scripts with additional sections for calculating strengths (for mixed excitation), global variance, and handling of MARY context features. |
| 123 | |
| 124 | Particular procedures can be repeated isolated fixing the particular settings for this component. For example, if the procedure that creates strengths (in the str directory) has to be repeated with a different set of filters (data/filters/), please set: |
| 125 | {{{ |
| 126 | HMMVoiceMakeData.makeSTR = 1 |
| 127 | HMMVocieMakeData.makeCMPMARY = 1 |
| 128 | }}} |
124 | | Note: the Makefile in data/ includes a gv: section copied from HTS-2.1alpha version to calculate global variance files. In MARY, this files are generated little endian and contain a header of size one short to indicate the size of the vectors it contains. |
125 | | |
126 | | 9- Run HMMVoiceMakeVoice component of the HMM Voice trainer group, here again particular training steps can be repeated selecting them (setting in 1, all the others in 0) from the settings of this component. This is equivalent to run again: [[BR]] |
127 | | perl scripts/Training.pl scripts/Config.pm [[BR]] |
| 133 | NOTE: the Makefile in data/ includes a gv: section copied from HTS-2.1alpha version to calculate global variance files. In MARY, these files are generated little endian and contain a header of size one short to indicate the size of the vectors it contains. |
| 134 | |
| 135 | 9- Run the HMMVoiceMakeVoice component of the HMM Voice trainer group, here again particular training steps can be repeated selecting them (setting in 1, all the others in 0) from the settings of this component. This is equivalent to run again: |
| 136 | {{{ |
| 137 | perl scripts/Training.pl scripts/Config.pm |
| 138 | }}} |
139 | | 10- Run HMMVoiceInstaller component of the Install Voice group. The default setting values of this component are already fixed for the HTS-demo_CMU-ARCTIC-SLT voice. If you are training other voice please set: [[BR]] |
140 | | * HMMVoiceInstaller.FeaList: make sure that this name is the one used during training, it should be the one in: [[BR]] |
141 | | data/feature_list_xx.pl (xx=en for English or xx=de for German) [[BR]] |
142 | | * HMMVoiceInstaller.Flab: this is an example of file to synthesise in HTSCONTEXT format. One example can be found in: [[BR]] |
143 | | data/labels/gen/ [[BR]] |
144 | | * HMMVoiceInstaller.useMixExc: set this variable to true for using mixed excitation [[BR]] |
145 | | * HMMVoiceInstaller.useGV: set this variable to true for using global variance in parameter generation. [[BR]] |
| 150 | 10- Run the HMMVoiceInstaller component of the Install Voice group. The default setting values of this component are already fixed for the HTS-demo_CMU-ARCTIC-SLT voice. If you are training other voice please use the settings editor of this component to set: |
| 151 | {{{ |
| 152 | HMMVoiceInstaller.FeaList = data/feature_list_xx.pl |
| 153 | make sure that this file is the one used during training, xx=en for English or xx=de for German. |
| 154 | HMMVoiceInstaller.Flab = data/labels/gen/xx.lab |
| 155 | this is an example of a label file in HTSCONTEXT format for synthesise during start-up. |
| 156 | HMMVoiceInstaller.useMixExc = true |
| 157 | set this variable to true if using mixed excitation |
| 158 | HMMVoiceInstaller.useGV = true |
| 159 | set this variable to true if using global variance in parameter generation. |
| 160 | }}} |