[hts-users:01075] Re: about duration model streams
Hi,
gues wrote (2007/12/24 14:43):
HTS2.1 alpha.
You may find the following lines in your HTKTools/HERest.c:
void GenDurMMF (HMMSet *hset, char *durfn)
{
FILE *fp;
char buf[MAXSTRLEN];
int h,i,N,MaxN;
Boolean isPipe;
MLink mac;
HLink hmm;
/* vSize of dur MMF */
MaxN = MaxStatesInSet(hset)-2;
/* ------- Output duration model ------- */
if (trace & T_TOP)
printf("Generatnig dur MMF from HMM MMF...\n");
if ((fp = FOpen(durfn,NoOFilter,&isPipe)) == NULL)
HError(7360,"GenDurMMF: Cannot create dur MMF file %s", durfn);
/* output model definition and dummy state-transition matrix */
fprintf(fp,"~o\n");
fprintf(fp,"<STREAMINFO> %d", MaxN);
for (i=1; i<=MaxN; i++)
fprintf(fp," 1");
fprintf(fp,"\n<MSDINFO> %d", MaxN);
for (i=1; i<=MaxN; i++)
fprintf(fp," 0");
fprintf(fp,"\n<VECSIZE> %d <NULLD><DIAGC><%s>\n",MaxN,ParmKind2Str(hset->pkind,buf));
fprintf(fp,"~t \"trP_1\"\n<TRANSP> 3\n");
fprintf(fp,"0 1 0\n0 0 1\n0 0 0\n");
/* output vfloor macro */
for (i=1; i<=MaxN; i++) {
fprintf(fp,"~v \"varFloor%d\" \n",i);
fprintf(fp,"<VARIANCE> 1\n");
fprintf(fp,"%e\n",minVar);
}
It shows that if HMMs in your HMM mmf have more than 1 state (excluding null states),
your duration mmf becomes multi-stream structure.
Regards,
Heiga ZEN (Byung Ha CHUN)
--
------------------------------------------------
Heiga ZEN (in Japanese pronunciation)
Byung Ha CHUN (in Korean pronunciation)
Department of Computer Science and Engineering
Nagoya Institute of Technology
Gokiso-cho, Showa-ku, Nagoya 466-8555 Japan
http://www.sp.nitech.ac.jp/~zen
------------------------------------------------
- References
-
- [hts-users:01070] about duration model streams, gues
- [hts-users:01071] Re: about duration model streams, Heiga ZEN (Byung Ha CHUN)
- [hts-users:01072] Re: about duration model streams, gues
- [hts-users:01073] Re: about duration model streams, Heiga ZEN (Byung Ha CHUN)
- [hts-users:01074] Re: about duration model streams, gues