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

[hts-users:03637] Re: v2.2 STRAIGHT demo: MGC2SP usage bug?


One more thing, if this is corrected, then the following line also has to be corrected:

 

printf SYN "sp = fread(fid1,[%d, %d],'float');\n", 513,  $T;

 

Here, 513 should be changed to 1025.

 

--David

 

From: David Klein [mailto:dklein@xxxxxxxxxxxx]
Sent: Friday, February 22, 2013 3:22 PM
To: hts-users@xxxxxxxxxxxxxxx
Subject: [hts-users:03636] v2.2 STRAIGHT demo: MGC2SP usage bug?

 

In Training.pl of HTS-demo_CMU-ARCTIC-SLT_STRAIGHT, there is this usage of MGC2SP:

 

shell( "$MGC2SP -a $fw -g $gm -m " . ( $ordr{'mgc'} - 1 ) . " -l 1024 -o 2 $mgc > $gendir/$base.sp" );

 

The output $base.sp is later read into MATLAB and passed into the STRAIGHT synthesis function, along with the corresponding $base.ap and $base.f0.

 

I noticed that in MATLAB, the sp and ap data do not have the same size along the spectral dimension. Specifically, ap has spectral size 1025 and sp has spectral size 513.

 

Note that when STRAIGHT is used to generate training data, sp and ap do have the same spectral size: 1025. Additionally, when MGCEP and LPC2LSP are used to generate training data, they are used with –l 2048 (-n 2048 for LPC2LSP).

 

Surprisingly, it seems that the STRAIGHT synthesis is correcting for the size mismatch, presumably by interpolating sp up to the correct size. I confirmed this with some experimentation.

 

Based on all this, I am guessing that MGC2LSP should be used with –l 2048, in order to be fully consistent.

 

Regards,

David Klein

 

 


Follow-Ups
[hts-users:03640] Re: v2.2 STRAIGHT demo: MGC2SP usage bug?, Keiichiro Oura
References
[hts-users:03636] v2.2 STRAIGHT demo: MGC2SP usage bug?, David Klein