Changes between Version 1 and Version 2 of HMMVoiceCreation-MARY-5.0
- Timestamp:
- 11/07/11 15:57:58 (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
HMMVoiceCreation-MARY-5.0
v1 v2 9 9 IV) Run the Voice import tools [[BR]] 10 10 V) Creating other voice in a language different from German or English (US). 11 VI) Adaptive scripts 11 12 12 13 The training scripts used here are the latest versions, that is, it is required HTS_2.2 and HTK-3.4.1. Some scripts have been added-modified to:[[BR]] 13 - Use MARY instead of festival as text analy zer.[[BR]]14 - Use MARY instead of festival as text analyser.[[BR]] 14 15 - Train bandpass voicing strengths for mixed excitation.[[BR]] 15 16 … … 90 91 ''' 91 92 92 In your voice building directory run the voice import tools: 93 {{{ 93 In your voice building directory run the voice import tools (trunk version): 94 {{{ 95 export MARY_BASE="/your/directory/openmary/" 96 java -cp $MARY_BASE/marytts-lang-en/target/marytts-lang-en-5.0-SNAPSHOT.jar:$MARY_BASE/marytts-builder/target/marytts-builder-5.0-SNAPSHOT-jar-with-dependencies.jar marytts.tools.voiceimport.DatabaseImportMain 97 }}} 98 99 {{{#!comment 94 100 export MARY_BASE="/your/path/to/MARY TTS/" 95 101 java -Xmx1024m -jar $MARY_BASE/java/voiceimport.jar … … 121 127 The result of this step is a '''lab''' directory. 122 128 123 '''4-''' Run the TranscriptionAligner component of the Label-Transcript Alignment group. This program will create the '''allophones''' directory.124 125 '''5-''' Run the PhoneUnitLabelComputer component of the Label-Transcript Alignment group. This procedure has as input the '''lab''' directory and will create as an output the '''phonelab''' directory.129 '''4-''' Run the PhoneUnitLabelComputer component of the Label-Transcript Alignment group. This procedure has as input the '''lab''' directory and will create as an output the '''phonelab''' directory. 130 131 '''5-''' Run the TranscriptionAligner component of the Label-Transcript Alignment group. This program will create the '''allophones''' directory. 126 132 127 133 '''6-''' Run the FeatureSelelection component of the Feature Extraction group. This program will create a '''mary/features.txt''' file, it requires the MARY server running. Select here all the features and save the file. … … 156 162 Using the settings editor of this component you can also change other variables like using LSP instead og MGC, sampling frequency, etc., the same as you would do when running "make configure + parameters" with the original HTS scripts. 157 163 158 '''11-''' Run the HMMVoiceFeatureSelection component of the HMM Voice trainer group. This program reads the '''mary/features.txt''' file (created in step 6), and generates the file '''mary/hmmFeatures.txt'''. The hmmFeatures.txt file contains extra features, apart from phone and phonological features, that will be used to train HMMs. Select on the window extra features for training or simply copy on the window the following:[[BR]] 159 {{{ 160 accented 161 next_tobi_endtone 162 onsetcoda 163 prev_accent 164 next_is_pause 165 tobi_accent 166 syl_break 167 pos_in_syl 168 stressed 169 prev_syl_break 170 segs_from_word_start 171 selection_prosody 172 prev_is_pause 173 next_tobi_accent 174 syls_from_phrase_start 175 words_from_phrase_start 176 tobi_endtone 177 }}} 178 Delete other features and save. 164 '''11-''' Run the HMMVoiceFeatureSelection component of the HMM Voice trainer group. This program reads the '''mary/features.txt''' file (created in step 6), and generates the file '''mary/hmmFeatures.txt'''. The hmmFeatures.txt file contains extra features, apart from phone and phonological features, that will be used to train HMMs. You can select or delete on the window extra context features (all can be used). 179 165 180 166 '''12-''' Run the HMMVoiceMakeData component of the HMM Voice trainer group to run the HTS procedure "make data". This procedure require the following files: … … 204 190 205 191 The procedures can be repeated manually as well, going to the hts/data directory and running "make str-mary" and "make cmp-mary". 206 207 NOTE: the Makefile in data/ includes a gv: section 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.208 192 209 193 … … 223 207 ''' 224 208 225 '''14-''' Run the HMMVoicePackager component of the Install Voice group. The default setting values of this component are already fixed for the HTS-demo_CMU-ARCTIC-SLT voice. Some settings of the voice can be changed here, for example: 226 {{{ 209 '''14-''' Run the HMMVoiceCompiler component of the Install Voice group. The default setting values of this component are already fixed. 210 {{{#!comment 211 Some settings of the voice can be changed here, for example: 227 212 HMMVoicePackager.useMixExc = true 228 213 set this variable to true if using mixed excitation … … 233 218 }}} 234 219 235 The HMMVoice Packager will pack in a zip file located in MARY_BASE/downloadthe following files: [[BR]]236 - A mary config file: german-hsmm-voice.config [[BR]]220 The HMMVoiceCompiler will pack in a zip file located in /voicebuildingdir/mary/voice-yourvoice-hsmm/target/voice-yourvoice-hsmm-5.0-SNAPSHOT.zip the following files: [[BR]] 221 - A mary config file: voice.config [[BR]] 237 222 - HMM files corresponding to this voice: 238 - one example of phonefeatures for testing the synthesiser: data/phonefeatures/ cmu_us_arctic_slt_xxxx.pfeats [[BR]]223 - one example of phonefeatures for testing the synthesiser: data/phonefeatures/features_example.pfeats [[BR]] 239 224 - the HTS trees: voices/qst001/ver1/*.inf [[BR]] 240 225 - the HTS PDF models: voices/qst001/ver1/*.pdf [[BR]] 241 - global variance models (if useGV is set to true): data/gv/gv-*-littend.pdf [[BR]]226 - global variance models (if useGV is set to true): voices/qst001/ver1/gv-*.pdf [[BR]] 242 227 - filter taps for mixed excitation: data/filters/mix_excitation_filters.txt [[BR]] 243 228 - trickyPhones.txt file, if one was created during training [[BR]] … … 245 230 After successfully packing a new voice, you must run the MARY Component Installer to install the voice! 246 231 247 232 NOTE: workaround until the component installer is updated: 233 {{{ 234 cp /voicebuildingdir/mary/voice-yourvoice-hsmm/target/voice-yourvoice-hsmm-5.0-SNAPSHOT.jar $MARY_BASE/target/marytts-5.0-SNAPSHOT/lib/ 235 }}} 248 236 ''' 249 237 === V) Creating other voice in a language different from German or English (US). === 250 238 ''' 251 239 252 If you are creating a voice in other language you will need to specify: 240 If you are creating a voice in other language you will need to specify: (NOTE: THIS NEED TO BE UPDATED) 253 241 254 242 - '''Minimal NLP components''': if you are creating a new voice from scratch, for example following the steps in [http://mary.opendfki.de/wiki/NewLanguageSupport NewLanguageSupport], you will need to create Minimal NLP components for the new language. These minimal components are necessary to run the MARY server in the new language and extract context features ('''phonefeatures''' directory). … … 266 254 267 255 268 256 === VI) Adaptive scripts === 257 ''' 258 259 '''1.''' For running the HTS Speaker adaptation/adaptive training demo we need the following directories in your voicebuilding directory: 260 text: 261 bdl clb slt jmk rms 262 wav: 263 bdl clb slt jmk rms 264 265 '''2.''' With the voicebuilding tools we need to create phonelabels and phonefeatures directories for each set of data. This can be done working each set with voicebuilding tools, that is, use the general settings to define where your wave, text, etc. directories are. Then for each data set run the steps 1-8 of the speaker dependent tutorial. As a result we should have the following directories: 266 phonelabels 267 bdl clb slt jmk rms 268 phonefeatures 269 bdl clb slt jmk rms 270 271 '''3.''' Create raw data from you wav files, this can be done using the script $MARY_BASE/lib/external/hts/data/scripts/wav2raw. As a results we should have the following directories: 272 hts/data/raw: 273 bdl clb slt jmk rms 274 275 '''4.''' Having the previous directories, the run the voiceimportools and excute the steps: 276 - HMMVoiceDataPreparation, setting the adaptScripts variable in true 277 - HMMVoiceConfigure, setting the adaptScripts variable in true 278 279 If adapting other sets, be aware of the file names format for the adaptive scripts. Since it is used a mask for the names it is better if the names of your files have a particular format. 280 For example we have experimented adapting a neutral voice to different styles with the male German PAVOQUE database. For this database the file names have the format: 281 {{{ 282 neutr --> pavoque_neutr_*.* training data, big corpus, male voice with neutral style. 283 obadi --> pavoque_obadi_*.* data for adaptation, small corpus, the same male voice but with depressed style. 284 poppy --> pavoque_poppy_*.* data for adaptation, small corpus, the same male voice but with happy style. 285 spike --> pavoque_spike_*.* data for adaptation, small corpus, the same male voice but with angry style. 286 }}} 287 288 Having this distribution of files, our settings for configureAdapt looked like: 289 {{{ 290 HMMVoiceConfigure.dataSet = pavoque 291 HMMVoiceConfigure.adaptTrainSpkr = neutr 292 HMMVoiceConfigure.adaptSpkr = 'obadi poppy spike' 293 HMMVoiceConfigure.adaptSpkrMask = */pavoque_%%%%%_* 294 (here the voice names are exactly 5 letters long, it can not be a voice name with more that 5 letters!) 295 HMMVoiceConfigure.adaptF0Ranges = 'neutr 40 280 obadi 40 280 poppy 40 280 spike 40 280' 296 }}} 297 298 - HMMVoiceFeatureSelection 299 - HMMVoiceMakeData, setting the adaptScripts variable in true 300 - HMMVoiceMakeVoice 301 - HMMVoiceCompiler 302 269 303 270 304 [[BR]]