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

[hts-users:03616] Re: dynamic window specification


Hi,

Adding a zero to a window in this way gives an almost identical result,
which is the same for all practical purposes.  However it is not
strictly speaking identical.

We can see this is we compare the synthesis results for a standard
window such as "1.0 -2.0 1.0" versus a very long one such as "0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 1.0 -2.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0".
The trajectories synthesized by HMGenS differ slightly towards the very
start and very end of the utterance.

In fact there is a small bug in Calc_WUW_and_WUM (see
http://hts.sp.nitech.ac.jp/hts-users/spool/2009/msg00024.html) which is
still present in HTS-2.3alpha which may cause problems for windows of
even length, so it is definitely a good idea to pad with a zero to make
your window of odd length.

Personally I have altered my HTS code to use -1e10 as a special value
distinct from 0.0 in the window definition files to allow using windows
of truly arbitrary sizes.

Matt Shannon


On 14/02/13 17:25, Heiga ZEN (Byung Ha CHUN) wrote:
> They are the same.  However, to avoid confusions, I recommend you to use
> 
> 5 1.0 1.0 [-2.0] 1.0 0.0
> 
> for this case.
> 
> I personally think that it was my mistake to introduce the following code.
> 
>       if (fsize % 2 == 0)
>           win->r_width[i]--;
> 
> Regards,
> 
> Heiga
> 
> 
> 2013/2/14 那兴宇 <nxy-yzqs@xxxxxxx>:
>> Hi all,
>>
>> In current MLPG implementations, either HMGenS or hts_engine_API, the default dynamic window is symmetrical.
>> But I wonder what would happen if I set unsymmetrical window.
>> So I checked the HGen(in HTS-2.2) and HTS_model(in hts_engine_API-1.06), found similar codes below;
>> +     /* set pointer */
>> +     length = fsize / 2;
>> +     win->coefficient[i] += length;
>> +     win->l_width[i] = -length;
>> +     win->r_width[i] = length;
>> +     if (fsize % 2 == 0)
>> +         win->r_width[i]--;
>>
>> I suppose it means I can set unsymmetrical window like
>> +   4   1.0   1.0   [-2.0]   1.0
>> with  '-2.0' be the coeff. for current frame, right?
>> But what if I set
>> +   5   1.0   1.0   [-2.0]   1.0   0.0
>> as unsymmetrical window in a symmetrical form? Is it the same?
>> Please drop in any opinion.
>> Thank you.
>>
>> Best,
>> --
>> Xingyu Na (那兴宇)
>> http://www.idiap.ch/~xna/
>> Beijing Institute of Technology [naxy(at)bit.edu.cn]
>> Idiap Research Institute [xingyu.na(at)idiap.ch]
>>
> 
> 
> 
> --
> Heiga ZEN (in Japanese)
> Byung Ha CHUN (in Korean)
> <heigazen@xxxxxxxxxx>
> 

Follow-Ups
[hts-users:03618] Re: dynamic window specification, 那兴宇
References
[hts-users:03607] dynamic window specification, 那兴宇
[hts-users:03608] Re: dynamic window specification, Heiga ZEN (Byung Ha CHUN)