[Subject Prev][Subject Next][Thread Prev][Thread Next][Date Index][Thread Index]

[hts-users:04531] Re: KLD-based state mapping

Hi Hui,

Many thanks for your reply. Sorry I didn't say anything here, but I solved the problem by using other .mmf files for the KLD mapping. I think I had been using the wrong files. At the beginning I was using the .mmf files in the folder "models/${set}/mapmmf/re_clustered_sat_all.mmf" for calculating the KLD mapping. Then when I applied the mapping, some of the components in the dec.base file couldn't be found in the source model (I was getting the warning "It doesn't exist in your source language model" for some of the components). Instead, if I use the .mmf files in the folder "models/${set}/regTrees/re_clustered.mmf" for calculating the mapping, everything works.



2017-06-12 22:31 GMT+01:00 Hui LIANG <tshlmail-hts@xxxxxxxxx>:
Hi Carmen,

I am not sure whether it still makes sense to reply to you, since your most recent email was sent almost three months ago. I am no longer active in this mailing list, so sorry I couldn't help in time ... :-/

You could check the following things:

1. Your adaptation data are in Galician and you want to synthesise Spanish speech. Hence when you create mapping rules with the two tools for transform mapping-based cross-lingual speaker adaptation, you must make sure that there exists one mapping rule for each HMM state in your Spanish average voice model set, such that each HMM state in your Spanish average voice model set can be associated with a CMLLR transform that has been estimated with your Galician average voice model set and Galician adaptation data.

2. When calling HMGenS, use gl_hmm/dec.cmp.tree and gl_hmm/dec.dur.tree. (This is probably the right solution, but try the first point at first.)

Good luck!


On Tuesday, 21 March 2017, 20:11, Carmen Magariños Iglesias <cmagui@xxxxxxxxxxxx> wrote:

Hi Hui,

Thank you very much for your answer. As you said my cmp is composed by MCEP features + log F0 + bandap, so the third parameter of Distortion_cmp should be 7. I tried what you suggested and unfortunately I got the same error. The difference now is that the number of missing components is much lower. Any other possible reasons for some components not to appear in the base class list?

2017-02-06 23:58 GMT+01:00 Hui LIANG <tshlmail-hts@xxxxxxxxx>:
Hi, Carmen,

almost a months has passed since you posted this email. I don't know whether you have solved this issue. If not, try the following (I assume your CMP=spectral feature+logF0+bndap):

./Distortion_cmp ../es_hmm/re_clustered_sat_ all.cmp.ascii.mmf ../gl_hmm/re_clustered_sat_ all.cmp.ascii.mmf 7 1 1 &> es_gl.cmp.KLD &


On Thursday, 12 January 2017, 10:23, Carmen Magariños Iglesias <cmagui@xxxxxxxxxxxx> wrote:

I've been testing the code for cross-lingual state mapping available at the EMIME website and I'm having some problems. After getting the KLD mapping and the modified “dec.base” files for both cmp and dur (transform mapping approach), I get the following error when I run the HMGenS command:
ERROR [+999]  CheckBaseClass: Components missing from Base Class list (291 29558)
I guess I'm missing something or I did something wrong during the KLD mapping. I list below the steps I followed to obtain a Galician speaker in Spanish language, given the two corresponding average voice models (I will refer to the Spanish model as “es_hmm” and to the Galician model as “gl_hmm”):

1. Run the KLD mapping for cmp and dur as follows:
./Distortion_cmp ../es_hmm/re_clustered_sat_ all.cmp.ascii.mmf ../gl_hmm/re_clustered_sat_ all.cmp.ascii.mmf 1 1 1 &> es_gl.cmp.KLD &
./KLD_dur ../es_hmm/re_clustered_sat_ all.dur.ascii.mmf ../gl_hmm/re_clustered_sat_ all.dur.ascii.mmf 1 &> es_gl.dur.KLD &

2. Apply mapping (“TransformMapping/2. ApplyMapping_t.plscript) using the following files:
For cmp:
my $mappingFile = "../KLD\ Calculation/es_gl.cmp.KLD";
my $targetLanguage = "../es_hmm/re_clustered_sat_ all.cmp.ascii.mmf";
my $sourceLanguage = "../gl_hmm/re_clustered_sat_ all.cmp.ascii.mmf";
my $inBaseFile = "../gl_hmm/dec.cmp.base";
my $outBaseFile = "../gl_hmm/es_dec.cmp.base";
For dur:
my $mappingFile = "../KLD\ Calculation/es_gl.dur.KLD";
my $targetLanguage = "../es_hmm/re_clustered_sat_ all.dur.ascii.mmf";
my $sourceLanguage = "../gl_hmm/re_clustered_sat_ all.dur.ascii.mmf";
my $inBaseFile = "../gl_hmm/dec.dur.base";
my $outBaseFile = "../gl_hmm/es_dec.dur.base";

3. Run the HMGenS command:
HMGenS -A -B -C es_hmm/syn.cnf -D -T 2 -S es_hmm/gen.scp -t 1500 100 5000 -h ${SPKRPAT} -c 0 -H es_hmm/re_clustered_sat_all.cm p.mmf -N es_hmm/re_clustered_sat_all.du r.mmf -M es_hmm/gen/SAT+dec_feat3/0 -a -J gl_hmm/models/cmp/xforms SAT+dec_feat3 -H gl_hmm/es_dec.cmp.base -H es_hmm/dec.cmp.tree -b -Y gl_hmm/models/dur/xforms SAT+dec_feat3 -N gl_hmm/es_dec.dur.base -N es_hmm/dec.dur.tree es_hmm/cmp.tiedlist es_hmm/dur.tiedlist

Any idea to solve the problem?
Carmen Magariños

[hts-users:04446] KLD-based state mapping, Carmen Magariños Iglesias
[hts-users:04467] Re: KLD-based state mapping, Hui LIANG
[hts-users:04510] Re: KLD-based state mapping, Carmen Magariños Iglesias
[hts-users:04529] Re: KLD-based state mapping, Hui LIANG