Dutch text to speech voice

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!

5 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: https://github.com/r-dh/dutch-vl-tts

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.