Dutch text to speech voice

EDIT: I’d recommend checking out my OpenTTS add-ons now instead of what you find below :slightly_smiling_face:


I’ve trained a high quality Dutch voice using a public dataset and a text to speech system based on MozillaTTS.

A Docker image is available for x86_64 machines (Raspberry Pi images are coming). You can try it out with by running:

$ docker run -it -p 5002:5002 --device /dev/snd:/dev/snd rhasspy/larynx:nl-rdh-1

and then visit http://localhost:5002 for a test page.

This Docker image emulates a part of the MaryTTS API so you can use it in Home Assistant with no special integration! Just run:

$ docker run -it -p 59125:5002 rhasspy/larynx:nl-rdh-1

and add to your configuration.yaml file:

tts:
  - platform: marytts

This voice was trained as part of the Rhasspy project. If you’re interested in volunteering your voice, let me know!

6 Likes

Can you create an add-on for this to install on Home Assistant, alsjeblieft? This sounds (no punt intended) amazing!

2 Likes

I Will try it tomorrow!

1 Like

Or explain how to install this docker via Portainer AddOn?

1 Like

Sure, I can do that :slight_smile: I’ll see if I can get it up today.

I’m not familiar enough with that add-on, but it shouldn’t require anything special (you can ignore the --device stuff if you’re using using the MaryTTS API).

I’ll create a Hass.io add-on for it specifically soon.

6 Likes

That would be great! I just created a container on my syno in docker. I am able to to access the frontend and when I try some words, it states synthese, and then stops the container. Unable to connect to network. Looking forward to an add-on!

Started the container… works fine! But why does the guy sound like he is from Limburg Belgium?

Interesting. Do I assume correctly that this will output the audio on the device itself? Or is there an option to send it to a Google Home for example?

OK, finally got the add-on working! Just add the Rhasspy add-on store: https://github.com/rhasspy/hassio-addons

The one with the Dutch flag is the voice. At the moment, this only works on x86_64 machines. I’m working on Raspberry Pi builds, but they’re being especially stubborn about PyTorch.

1 Like

It should work as a drop-in replacement for a MaryTTS server. So the audio will go to whatever media player you have configured.

Not sure, this is the dataset I used: GitHub - r-dh/dutch-vl-tts: Free Dutch voice dataset

I don’t speak Dutch or know anything about regional accents, so you’d be teaching me :slight_smile:

That github states “This dataset contains 15.000 audio fragments of a male Dutch Flemish voice”

Flemish (Dutch with an accent) is 1 of the native languages in Belgium. Hence why the voice sounded Belgian to me :slight_smile:

Would be very nice to have a true Dutch dataset next to the Flemish one so we can have the enitre HA benelux community use your nice work!

1 Like

Anyone is welcome to volunteer their voice :slight_smile: I’ve been working with folks in the Rhasspy community to cultivate a set of 1,139 Dutch sentences that are phonetically rich (good coverage of Dutch sounds). This is so you don’t have to read so many sentences (rdh generously donated 15,000!)

If you have a good microphone (I use a Blue Yeti Nano) and a computer that can run Python and arecord or sox, you can contribute. I wrote a small voice-recorder Python app for doing this. It’s compatible with the Dutch prompts file. All recording happens locally, so we have to coordinate afterwards to exchange the files.

Importantly, I ask that you either release the audio data into the public domain or use an appropriate Creative Commons license (rdh used CC-0). Of course, you’re always free to keep your files private and train your own model.

Small update: the Dutch voice add-on should now run on the Raspberry Pi 2, 3, and 4 (armhf, aarch64). It’s quite slow of a Pi 3 (several seconds to synthesize a small sentence), but it automatically caches generated audio, so it will be quick if you often re-use sentences.

I’m very curious, also I’m not quite sure how to set it up. Can you help?

I added the repository to the Hass.io Add-on store. I see these options:
image

Which should I install? And after that, should I just put this in configuration.yaml?:

tts:
  - platform: marytts
1 Like

Choose the upper-left one with the Dutch flag (if you want the Dutch voice). Then add that YAML snippet to your configuration.yaml file and reload Home Assistant.

Once the add-on in started, you should be able to open its web UI and try it out. It can take a few seconds to start, so it might not be available immediately.

Thanks! Unfortunately, I am unable to install the add-on, it throws an error. This might be because I am running an unsupported installation of Home Assistant on Ubuntu 18.04. I’ll fix that in the near future and will try installing the voice then.

If you have Docker installed, you can easily run it outside of Home Assistant:

$ docker run -it -p 59125:5002 rhasspy/larynx:nl-rdh-1
1 Like

French and German voices are also now available: New French and German text to speech voices

Spanish and Russian voices are now also available :slight_smile: