OK, I’ve combined all the approved prompts between @koan and @hugocoolens (total: 1587). I then ran the optimization to minimize the set without dropping overall coverage, which produced 1169 prompts.
I’ve done my best to clean up the prompts. If you have time, please give them one more quick look over.
The final coverage is about 90%, which I think will be sufficient. For reference, I recently came across a set of Dutch prompts on VoxForge and their coverage was only 70%. VoxForge is all GPL, so I’d be hesitant in re-using any of their prompts.
Ok this was much better: I only removed/commented 30 sentences.
But I feel that there is still some repetition in sentence fragments. This one stood out because “wie o wie” is not something you read every day:
koan@x1:~/Rhasspy/tts-prompts$ grep -i "wie o wie" nl-nl/prompts.txt
( nl_rhasspy_999 "Wie o wie kan ons helpen?" )
( nl_rhasspy_1010 "Wie o wie gaat er winnen, en welke weg gaan ze nemen?" )
( nl_rhasspy_1072 "Wie o wie?" )
( nl_rhasspy_1087 "Wie o wie kan mij helpen?" )
999 and 1087 are almost the same, and 1072 is probably redundant.
I’d still love to improve coverage by trying to add as much words as possible for the missing phoneme pairs.
By the way, can you publish the script to compute the coverage? This would be helpful for fine-tuning the list of prompts: I would then immediately see the effect of removing or adding words or sentences.
Great, thank you! I’m thinking we should keep some of the sentences with English works to get a bit of the foreign phoneme coverage. Do you think those English words are common enough?
This must have been a way of getting the phoneme pair /iː o/ (wie is /w iː/). The /iː/ is from something like “anal[y]se” too. I see maybe 10 examples in the lexicon where this sound comes at the end of a word (like zei), and no cases where the pair occurs in a single word.
Sure, the coverage file contains all of the missing pairs and example words. If the example words all look unusual or foreign, it probably means the pair can be safely ignored.
Yes, maybe I was a bit too strict in weeding out all English words. Words like “Halloween”, “liken”, “showen”, “shop” and “bye” are probably common enough to include.
I’m using GlowTTS and the Multiband MelGAN vocoder. I had to re-train from scratch this morning because of a mistake, so the vocoder isn’t sounding so great yet.
I’ll update the examples after it’s had a change to train overnight
Definitely The first step will be adding support for French to gruut. I expect this to be done by next week or so.
The recordings can be done with anything as long as you have WAV files and transcripts. With a little work, gruut will help select a small set of sentences from a large corpora (books, Wikipedia, etc.) that are maximally useful.
Training just needs a CUDA-enabled GPU that’s supported by PyTorch >= 1.5. I’m using a GTX 1060 6GB.
This is the rdh Dutch voice speaking an (accented) English sentence! Because I use IPA for both English and Dutch phonemes, I created a small mapping file that approximates the 14 or so “missing” phonemes from Dutch. I had to guess on some, but it works as a proof of concept
So this means we could re-use some of the voices for other languages, until we get native speakers in that language. To get it right, though, I will need help from people who speak both languages. For example, I don’t really know how Dutch folks pronounce the “th” sounds from “thing” and “the”.
For things like numbers and dates you should probably preprocess your text with something like Lingua Franca to convert them to words that are pronounceable by the TTS.