› Forums › Speech Synthesis › Festival › Unknown Label error
- This topic has 8 replies, 5 voices, and was last updated 2 years, 8 months ago by Simon.
-
AuthorPosts
-
-
March 22, 2018 at 19:04 #9157
While running Forced Alignment for Unit-selection I am getting following error.
ERROR [+7321] CreateInsts: Unknown label Q_cl
FATAL ERROR – Terminating program HERestI got my diphone labels from festival itself. Also there is no such phones in my_lexicon.scm file as well. Then what could be reason for such error and how do I rectify it?
(Can I modify phone_list/phone_substitutions copied directly?)
-
March 22, 2018 at 19:26 #9158
You probably used the wrong voice, or wrong dictionary, to create your labels. For example, you ran some steps with one dictionary, and other steps with a different dictionary.
-
March 26, 2018 at 14:45 #9168
Yes, Simon’s right, this indicates you’ve done something like use the wrong lexicon at some stage.
Incidentally, you probably won’t find *_cl phones in the my_lexicon.scm file.
Actually, FYI, the *_cl symbols are only used in the force alignment process. Stops (e.g. p, b, t, k…) are broken into two parts, one for the closure portion (e.g. p_cl, b_cl, t_cl, k_cl…) and one for the release. When you build utterances from the final MLF file, these are merged back together again in Festival’s Segment relation, but the boundary between them is used to record the diphone boundary join point…
(I’m not sure which lexicon could have a Q though! Unless it stands for glottal stop…)
-
March 27, 2018 at 12:03 #9169
Thanks a million, I will check my lexicon again.
one follow-up:
When we Check script against Dictionary, festival returns Predicted Pronunciations (by LTS rules) for out-of-dictionary words, which we copy in my_lexicon.scm.
Which Phone_set is used by it to make these predictions? And which dictionary is used to do these checkings? (Is it -gam, -rpx or -edi)
Maybe it is different from what I am using for voice-building, and that could be root-cause of this problem ?
(I am using unilex-rpx – British English (RP)) -
March 27, 2018 at 12:56 #9172
There is no point in simply copying pronunciations predicted using the LTS model into a dictionary. The dictionary is for storing exceptions to the LTS model.
So, if the LTS model gets the pronunciation correct, no need to add it to the dictionary.
But, of the LTS model gets the pronunciation wrong, you need to add a manually-created correct entry to the dictionary..
The phone set used is the one for whichever voice you currently have loaded (i.e., you need to make sure this is the one you want).
Do not use different dictionaries for different stages in the process. This makes no sense at all: the symbol sets used by different dictionaries are not interchangeable (even if it looks like some of the same symbols are used – the names of the symbols are arbitrary).
-
April 13, 2020 at 12:19 #11161
When I build a voice using rpx I get the same error:
ERROR [+7321] CreateInsts: Unknown label Q_cl
FATAL ERROR – Terminating program HERestThe word that is causing it is “bullheaded”. In the mlf file, it is transcribed as:
b_cl
b
Q_cl
Q
lw
h
e
d_cl
d
i
d_cl
dBut there is no “Q_cl” phone in phone_list file for rpx, so how is that when generating the mlf file that phone is used?
I added the LTS Festival (rpx) output for the word “bullheaded”, which is
(((b ? lw h e d) 0) ((i d) 0))), to my_lexicon file. And then I created the labels again, but the phone Q_cl still appears in the mlf file. What am I missing?As a parallel question: why the labels in the mlf file do not match the Festival lookup output if we create the labels using the Festival front-end text processor? For example, this is the mlf and lookup output using gam dictionary for the same word “bullheaded”:
(((b ? lw h e t^) 0) ((@ d) 0)))
b_cl
b
Q_cl
Q
lw
h
e
t^
@
d_cl
dThanks,
-
April 13, 2020 at 12:47 #11162
In the dictionary’s phoneset, /?/ is the glottal stop. This character is problematic for HTK and also if used as part of a filename, and so is mapped to /Q/ for the forced alignment stage.
The glottal stop is a bit unusual in unilex-rpx: it never occurs in the dictionary, but can be predicted by the letter-to-sound model (*) – see this post. For this reason, it is not included in the phone list used for forced-alignment, which leads to the error you are getting.
Solution: don’t use the glottal stop in any pronunciations you add to
my_lexicon.scm
.As already noted above, there is no point adding the output from LTS to
my_lexicon.scm
.The correct method for adding a pronunciation for “bullheaded” would be to look up pronunciations of similar-sounding words (here, “bull”, “head”, “headed”) and assemble a pronunciation from these fragments, making any small modifications you think are needed.
(*) Normally, this would be impossible, because the letter-to-sound model is trained on the dictionary entries. I don’t actually know why it is possible in unilex-rpx.
-
April 3, 2022 at 20:15 #15852
Hi,
I have experienced the same error:
ERROR [+7321] CreateInsts: Unknown label Q_cl
FATAL ERROR – Terminating program HERestThe error occurred for the word ‘arugula’. In the mlf file, the pronunciation contains the stop on g and is followed by Q_cl and Q.
I am using unilex-rpx and have not added any pronunciations to my_lexicon.scm and am simply using letter-to-sound rules. I have checked the phone list and Q or Q_cl are not included. The above posts suggest this issues arrises from contradicting dictionaries, but apart from copying over the phone_list and substitutions and generating the mlf file from out .data file, where could this mismatch be introduced. I have already check that all three commands were run with the correct dictionary selected.I wasn’t sure from the above posts, but is the solution to this issue, to add a pronunciation to my_lexicon?
Thanks
-
April 4, 2022 at 09:57 #15854
The error is caused by using letter-to-sound rules for the word ‘arugula’. The solution is to write a pronunciation (that does not contain a glottal stop) for this word and add that to
my_lexicon.scm
-
-
AuthorPosts
- You must be logged in to reply to this topic.