Which TTS is better for the Dutch language?

Until now I have been using Espeak as TTS for Dutch. The quality is not good, quite often difficult to understand. So I’d like to switch to another solution, I tried OpenTTS but I had the impression it just uses the voice of Espeak. Any suggestions (based on experience) from the Dutch speaking part of the community here?

kind regards,
Hugo

Google Wavenet.

It sends the text to Google yes, but only once and then it is played from cache

1 Like

For those who speak Dutch (I don’t), have you come across any openly available speech data with a single person reading a book or something?

Importantly, each sentence should be split into a separate audio file. Librivox has plenty of audio books in Dutch, but it’s only split by chapters.

If someone can point me at a properly split audio corpus, I will train a MozillaTTS model for the Rhasspy community.

Alternatively, if anyone has the time and a high quality microphone, I can give you a phonetically balanced set of sentences to read and a small program that will record them. We only need one volunteer!

1 Like

Thanks for doing this, @synesthesiam! I have written a blog post about your offer in Dutch and pushed the link on my Twitter and LinkedIn accounts:

In what other places can we make some noise about this to make this happen?

1 Like

Synesthesiam,
I am prepared to read the phrases for you. I have an Apogee studio microphone available which only can be used on a Mac ( Not my choice…) and an sm57 (or 58) which I can connect to my main linux machine using an u-phoria umc202 interface. I also have a Jabra headset available.
My pronunciation will be that of Dutch(Flanders) which differs a bit from Dutch(The Netherlands) but is mutually understandable between people from Flanders and the Netherlands.
I have already being reading phrases for https://commonvoice.mozilla.org/nl, I don’t know whether that input could be merged with your data?
And a last thing which puzzles me, I read this in the Rhasspy-documentation
(https://rhasspy.readthedocs.io/en/latest/text-to-speech/):
“Mozilla TTS will not run on a Raspberry Pi”. Is that no longer up to date?

kind regards,
hugo

2 Likes

One person replied to me, she asks whether she needs any specific experience for this, and what she needs to do exactly. And which operating systems does this “small program” run on? She has a Mac.

It would be nice to have both a male and a female voice :slight_smile:

I wonder if there would be interest on the Mozilla TTS Discourse site? Maybe users of Home Assistant or OpenHAB would also be interested.

Awesome, thank you :slight_smile:

Please forgive my ignorance: is this a difference like U.S. vs U.K. English, (different pronunciations) or is this more like North vs. South U.S. (accent)? I ask because it may change how I build my pronunciation dictionaries. I see Flanders mentioned on this Dutch phonology page, but in some places like Wiktionary I see different pronunciations labelled “Nederland” and “Vlaanderen”.

My MozillaTTS Docker image is build for amd64 only right now. In theory, MozillaTTS should run wherever PyTorch can (or sometimes Tensorflow 2). I will need to build a Raspberry Pi image once I know the details of our models.

Great! Multiple voices would be awesome.

I have a small Python program that uses a very basic tkinter GUI and arecord. Do you know if these work on the Mac? We could replace arecord with some other Mac command-line utility if needed. @hugocoolens, it sounds like the same would apply to you since you’re also on a Mac.


Before we start recording, I need to do two things:

  1. Clean up my voice-recorder program (mentioned above) and ensure it can record on a Mac.
  2. Construct a set of “phonetically balanced” Dutch sentences for @hugocoolens and @koan’s participant to read.

I might need some feedback on #2. I plan to follow a similar process as was used to construct the CMU Arctic prompts for English. I’ve successfully trained a decent MozillaTTS model on these ~1000 prompts, so it seems like that’s enough data to start with (at least for English, which I’ve read is related to Dutch).

I’ll post a link here to my first attempt at the Dutch prompts/sentences when I have them ready. If this approach works well, we can extend this to Rhasspy’s other languages :slight_smile:

One last thing: licensing. Are you (@hugocoolens, @koan’s participant) willing to release your voice recordings into the public domain?

It might be; I need to check the licensing of Common Voice to see if I’m allowed to build voices based on the data. If you have local recordings, you could always release them separately.

I think instead of arecord we can use sox on macOS. It can be installed with Homebrew.

2 Likes

Yes, I am willing to release my anonymized voice recordings Do you think you can guarantee anonymizing them?

Since I already have no idea who you are, would this just mean not attaching your user name to them? :smiley:

If we use sox as @koan suggested and store the audio in WAV files, there shouldn’t be any metadata aside from sample rate, etc. in the files. We should still double check with soxi or something before anything gets sent around.

Please forgive my ignorance: is this a difference like U.S. vs U.K. English, (different pronunciations) or is this more like North vs. South U.S. (accent)? I ask because it may change how I build my pronunciation dictionaries. I see Flanders mentioned on this Dutch phonology page, but in some places like Wiktionary I see different pronunciations labelled “Nederland” and “Vlaanderen”.

I’m not a linguist (maybe an amateur linguist), but the difference between different pronunciation and different accents is not easy to determine.

Maybe you could give the speakers, which lend their voices, a checkbox to choose whether they consider their pronunciation “Flemish Dutch”, “Dutch from the Netherlands” or “Neutral”?

kind regards,
Hugo

Since I already have no idea who you are, would this just mean not attaching your user name to them?

Yes, that’s sufficient for me.

kind regards,
Hugo

1 Like

I have a small Python program that uses a very basic tkinter GUI and arecord . Do you know if these work on the Mac? We could replace arecord with some other Mac command-line utility if needed. @hugocoolens, it sounds like the same would apply to you since you’re also on a Mac.

My personal computers all are Linux-boxes. But the Apogee mike only works on a Mac (not mine, but from someone in the house ;-).

1 Like

I have tested your “little program” on my Linux-box with a Jabra Headset and it works fine.
You can send me those phonetically balanced” Dutch sentences.

kind regards,
Hugo

1 Like

I have a program now that can select a phonetically balanced set of sentences from a corpus. I’m finding that books work best as source material.

Does anyone here know of maybe 5 classic Dutch books that I could get plaintext files for? I looked in the Dutch section of Project Gutenberg, but I don’t see an option to sort by popularity within a given language.

The best books for this would be out of copyright, still understandable to modern Dutch readers, and not contain generally offensive or bizarre content.

Is it a problem if many of these books use older spelling rules? For instance, I just took a look at a random book, Aan de Zuidpool from Roald Amundsen, and I saw “nieuwen” instead of “nieuwe”, “groote”, instead of "grote, “dienzelfden” instead of “diezelfde”, … We don’t use this spelling anymore in Dutch.

This does seem to be a problem. I have “nieuwe” in my lexicon (from Wiktionary) for example, but not “nieuwen”.

Are there any public domain Dutch books you know of with modern spellings?

The books in the Dutch section of Project Gutenberg are not usable, I went through them and they are all in dated orthography and a kind of Dutch which isn’t spoken now a days. Maybe articles from news sites like https://www.vrt.be/vrtnws/nl could be used?

kind regards,
Hugo