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

[hts-users:03631] Duration mean rounding


Hi all,

I'm trying to understand the duration modeling in detail. When I look at the .dur files created by HMGenS, I sometimes see some unexpected numbers:

t^P6-sil+x=x@  ...  -1.state[2]: duration=5 (frame), mean=5.174239e+00
t^P6-sil+x=x@  ...  -1.state[3]: duration=11 (frame), mean=1.025650e+01
t^P6-sil+x=x@  ...  -1.state[4]: duration=22 (frame), mean=2.222014e+01
t^P6-sil+x=x@  ...  -1.state[5]: duration=6 (frame), mean=6.575937e+00
t^P6-sil+x=x@  ...  -1.state[6]: duration=2 (frame), mean=1.950120e+00

In general, the number of frames is the rounded mean. But sometimes, like in the fourth row here, it seems to be floored rather than rounded. Sometimes it also seems ceiled.

I am using HTS 2.2, and in HGen.c (lines 796 etc.) I see:

dur = (rFlags&RNDDUR) ? GaussDeviate(mean[i][k],sqrt(1.0/ivar[i][k])) /* random duration sampling */
                               : mean[i][k]+rho/ivar[i][k];
         genInfo->durations[i][j] = (int)(dur+diff+0.5);

I don't see where RNDDUR would be set, so I assume I am not randomly sampling (not 100% sure though, where should I look?).
I am calling HMGenS with -r 1.0, so rho should be 0.0
So I would expect 7 frames and not 6 in the fourth row above.

Does anybody understand what's going on?

Thank you, Dietmar

--
----------------------------------------------------------------------
Dipl.-Ing. Dietmar Schabus | Researcher
phone +43 1 5052830-48 | fax -99 | schabus@xxxxxx | http://userver.ftw.at/~schabus/

FTW Telecommunications Research Center Vienna
Donau-City-Straße 1/3 | 1220 Vienna | Austria | www.ftw.at

Follow-Ups
[hts-users:03632] Re: Duration mean rounding, 那兴宇