Changes between Version 1 and Version 2 of HMMVoiceCreation-MARY-5.0


Ignore:
Timestamp:
11/07/11 15:57:58 (14 years ago)
Author:
marcela_charfuelan
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HMMVoiceCreation-MARY-5.0

    v1 v2  
    99IV) Run the Voice import tools [[BR]] 
    1010V) Creating other voice in a language different from German or English (US). 
     11VI) Adaptive scripts 
    1112 
    1213The 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 analyzer.[[BR]] 
     14- Use MARY instead of festival as text analyser.[[BR]] 
    1415- Train bandpass voicing strengths for mixed excitation.[[BR]] 
    1516 
     
    9091''' 
    9192 
    92 In your voice building directory run the voice import tools: 
    93 {{{ 
     93In your voice building directory run the voice import tools (trunk version): 
     94{{{ 
     95export MARY_BASE="/your/directory/openmary/" 
     96java -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 
    94100export MARY_BASE="/your/path/to/MARY TTS/" 
    95101java -Xmx1024m -jar $MARY_BASE/java/voiceimport.jar 
     
    121127The result of this step is a '''lab''' directory. 
    122128 
    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. 
    126132 
    127133'''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. 
     
    156162Using 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. 
    157163 
    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). 
    179165 
    180166'''12-''' Run the HMMVoiceMakeData component of the HMM Voice trainer group to run the HTS procedure "make data". This procedure require the following files: 
     
    204190 
    205191The 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. 
    208192 
    209193 
     
    223207''' 
    224208 
    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 
     211Some settings of the voice can be changed here, for example: 
    227212  HMMVoicePackager.useMixExc   =  true 
    228213                                   set this variable to true if using mixed excitation 
     
    233218}}} 
    234219 
    235 The HMMVoicePackager will pack in a zip file located in MARY_BASE/download the following files:  [[BR]] 
    236 - A mary config file: german-hsmm-voice.config [[BR]] 
     220The 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]] 
    237222- 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]] 
    239224  - the HTS trees: voices/qst001/ver1/*.inf  [[BR]] 
    240225  - 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]] 
    242227  - filter taps for mixed excitation: data/filters/mix_excitation_filters.txt [[BR]] 
    243228  - trickyPhones.txt file, if one was created during training [[BR]] 
     
    245230After successfully packing a new voice, you must run the MARY Component Installer to install the voice! 
    246231 
    247  
     232NOTE: workaround until the component installer is updated: 
     233{{{ 
     234cp /voicebuildingdir/mary/voice-yourvoice-hsmm/target/voice-yourvoice-hsmm-5.0-SNAPSHOT.jar $MARY_BASE/target/marytts-5.0-SNAPSHOT/lib/ 
     235}}} 
    248236''' 
    249237=== V) Creating other voice in a language different from German or English (US). === 
    250238''' 
    251239 
    252 If you are creating a voice in other language you will need to specify: 
     240If you are creating a voice in other language you will need to specify:  (NOTE: THIS NEED TO BE UPDATED) 
    253241 
    254242- '''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). 
     
    266254 
    267255 
    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: 
     260text: 
     261 bdl clb slt jmk rms 
     262wav: 
     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: 
     266phonelabels 
     267 bdl clb slt jmk rms 
     268phonefeatures 
     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: 
     272hts/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 
     279If 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.  
     280For 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{{{ 
     282neutr --> pavoque_neutr_*.*    training data, big corpus, male voice with neutral style. 
     283obadi --> pavoque_obadi_*.*    data for adaptation, small corpus, the same male voice but with depressed style.  
     284poppy --> pavoque_poppy_*.*    data for adaptation, small corpus, the same male voice but with happy style.  
     285spike --> pavoque_spike_*.*    data for adaptation, small corpus, the same male voice but with angry style.  
     286}}} 
     287 
     288Having this distribution of files, our settings for configureAdapt looked like: 
     289{{{ 
     290HMMVoiceConfigure.dataSet        = pavoque 
     291HMMVoiceConfigure.adaptTrainSpkr = neutr 
     292HMMVoiceConfigure.adaptSpkr      = 'obadi poppy spike' 
     293HMMVoiceConfigure.adaptSpkrMask  = */pavoque_%%%%%_* 
     294                                    (here the voice names are exactly 5 letters long, it can not be a voice name with more that 5 letters!) 
     295HMMVoiceConfigure.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 
    269303 
    270304[[BR]]