I’m not sure on which mailing-list to ask for this, I have an issue with the alignment steps in the multisyn recipe, but all the Festvox mailing-lists seem inactive.
Since this concerns HRec, I thought someone on this list could answer?
I’m trying to build a custom multisyn voice from custom data and the CMU dict, and when doing the HTK forced-alignment
I get the following error when doing the second alignment (the ones which adds back the sp
short-pause between words):
Created lattice with 34 nodes / 33 arcs from label file
WARNING [-8232] ExpandWordNet: Pronunciation 1 of sp is 'tee' word in HVite
WARNING [-8232] ExpandWordNet: Pronunciation 1 of sp is 'tee' word in HVite
WARNING [-8232] ExpandWordNet: Pronunciation 1 of sp is 'tee' word in HVite
WARNING [-8232] ExpandWordNet: Pronunciation 1 of sp is 'tee' word in HVite
WARNING [-8232] ExpandWordNet: Pronunciation 1 of sp is 'tee' word in HVite
WARNING [-8232] ExpandWordNet: Pronunciation 1 of sp is 'tee' word in HVite
ERROR [+8522] LatFromPaths: Align have dur<=0
FATAL ERROR - Terminating program HVite
I assume the sp
phone should be a tee model because the short-pause should be skippable, so I’m not sure if this warning is an error or if it should be removed in the case of sp
?
And I’m not sure where the error with Align have dur<=0
comes from. When I look in the HRec
code which defines the LatFromPaths
method, the error happens if a phone has a null duration and is not the sp
phone
#ifdef PHNALG
/* didn't handle model that allow 0 frame */
if (dur<=0 && labid != splabid) HError(8522,"LatFromPaths: Align have dur<=0 ");
#endif
In my case, splabid
is a non-null pointer to the sp
phone, but labid
is a NULL pointer
I’m wondering if the error is related to the warnings, and if there is a way to fix this ?
I have other ways to do alignment using tools that I master, but:
- I don’t use the same phones as the ones from the recipe, and since they seem custom I’m not sure how hard it would be to adapt
- I don’t have the
_cl
phones for the closure of fricative phones, and it seems this is used in the recipe, I’m not sure if this is needed, and how hard it would be to adapt the recipe?