-
Notifications
You must be signed in to change notification settings - Fork 152
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some words are pronounced incorrectly. #15
Comments
Mimic (and flite which it is based on) use the CMU pronunciation dictionary version 0.4 to derive its pronunciations for American English. This dictionary contains a large number of pronunciation errors, inconsistencies and mixed accents. As such, the pronunciations vary in accuracy. For the words you highlighted, cmudict 0.4 contains:
This highlights what I mentioned above and explains why mimic/flite are pronouncing those words incorrectly. In cmudict 0.6d, these are:
So penis has been corrected in that version, but atheism is only correct in the alternate pronunciation. |
Can we easily update the dictionary version then? On Sat, Feb 27, 2016, 3:17 AM Reece H. Dunn [email protected]
|
There is a I have github repositories of both festival and speech-tools that include various back-ported build fixes. Versions 1.95 and earlier require older systems with gcc 2.95 -- I have built these in a Debian Woody chroot. |
Once #17 is merged, we will be able to address this issue adding/correcting the lexicon. Concerns about updating the dictionaryThe lexicon we are currently using has part of speech (POS) information for some words. This POS information can be used to disambiguate the pronunciation of words. For instance: (live as verb: "I live here" vs. live as noun: "The post office will not ship live animals."). More recent versions of the cmu_dict do not have POS information:
I am a bit concerned about how this lack of POS information can affect mimic's ability to resolve homograph ambiguities. ProposalMy current idea is to add all the new cmudict words using a 'missing' POS field (there is no problem on that). Alternative pronunciations will be automatically discarded and if bugs arise we will see how to deal with them. Our "base dictionary" will still be our current dictionary, so any word that already has POS information (such as "live") will not lose it. If anyone is aware of a free lexicon with POS information and phonetic transcriptions, suggestions are welcome. |
Regarding updating the dictionary:
|
@rhdunn pretty interesting stuff and will probably be useful. I've tested it very briefly and I might be using it wrong but it didn't accept the command line you gave I used to get it running I used the festlex option. This in turn seem to have made the format of the output differ slightly from For example chair in 0.4: This is what mimic produces after Is festlex the flag you meant or is there another flag that I'm missing? |
@forslund Yes,
The
with the vowel stress number moving to the syllable group. If you look in the
The
which is what part of
Regarding documentation of the process, there is very sparse disjointed information about the process. I have built up my experience from trying to understand the code and searching for material online. |
Hi, I have created an American English Pronunciation Dictionary (AmEPD) based on cmudict 0.7 (the last Public Domain version of the dictionary). This includes:
There is still a lot of cleanup and consistency checking to do, but this should be a useful starting point. NOTE: The part of speech tags used here are different to the ones used by festival. The tags for AmEPD are described in the amepd.ttl file in the amepd project, while the festlex-CMU tags are described in the festlex.ttl file of my pos-tags project. The festlex tags are different to the wp39 and wp20 tags (also described in pos-tags) used by the festival TTS program. |
Hi @rhdunn! Sounds interesting, I'll try to convert it for mimic. Meant to come back to you about the cmudict-0.7 but forgot. I created a branch using your cmu-dict repo and tool (see rhdunn-cmudict). When testing we found that the change from ah0 to ax makes the prounciation slightly different, and kept the old dict for now. Is the difference intended or do we need to update the voices for this to sound ok? Also some of the emphasis levels aren't supported by mimic (I reduced the ones to levels that were included in mimic). Do you have an opinion on how this should be handled? |
@forslund Do you mean changing The cmudict uses the For the stressed levels, |
NOTE: I will also need to modify the I should also add support for mapping between vocabularies, making it easier to map from the amepd context vocabulary to the festlex one. |
Thanks @rhdunn! I had not seen the cmu2ft script! Your cmudict-tool makes our lives easier! |
@rhdunn, oh dear... I mixed them up! That explains it... I'm gonna throw fortune at it to test more strings but so far so good. |
I have updated the
|
I have the above working now with the latest
This will give you a NOTE: Some entries cannot be disambiguated by part of speech alone, e.g.:
so will look odd when in the festival format as only the first two of those entries will be included. The dictionary contains fixes for the words reported in the initial summary of the issue above. |
Cool! I'll try it out as soon as I get time (my best guess: tomorrow). Getting an updated dict and closing this issue would be great. Also, I'll see if I can make a guide on how to update the dictionary using @zeehio's scripts together with your dict and tool. |
Hopefully I will find some time for mimic this weekend. Yesterday I realized that "mycroft" needs to be added to the dictionary. Thanks for working hard on this! |
Yeah, it might be a good idea to add Mycroft =) I tested the amepd dictionary and Removing all lines using the characters produce nice results, both penis and atheism is pronounced correctly. Need to test some more though. @rhdunn is the upstream dictionary interested in keeping the pronounciation of "Mycroft" or should we keep that as a local patch? And Thanks for the hard work! |
@forslund I will be adding Mycroft shortly in part of the updates I am making to the dictionary post 0.1. I have checked and
to filter out
Mimic/flite are handling this via
|
I used a similar but more complicated grep-line =) Thanks for clearing up the 's issue, I'll just remove the lines involved using grep. I'm going to make a clean rebuild tomorrow and create a proper pull request so people can start trying out your dict! |
Some words are pronounced incorrectly.
The two that come to mind in my testing are
Atheism and Penis
Atheism is pronounced by Mimic
A thigh ism
Now Theism, Theist and Atheist are pronounced correctly so this is a bit puzzling why atheism is pronounced differently.
Penis is pronounced by mimic like the words
pen is
it should be pronounced like
pee nis
Now I tested this out with a few voices and had identical results.
The text was updated successfully, but these errors were encountered: