Has anyone figured out a good setup to use TTS with lesser common languages, for example ‘nl’ for Dutch is Dutch spoken in The Netherlands, not in Belgium. You can compare it to UK and US English.
I have yet to find a service (Google or other) that provides nl-BE or Flemish voices. It does exist in Waze for example.
This integration should do the trick for you. With a bit of luck you can use neural voice too, which sounds much more natural than default. I use it for Slovenian, which is also not a common language and it works great :).
service: tts.microsoft_say
data:
entity_id: media_player.googlenestmini
message: This is a test message
You get API key from your Azure subscription and you have to choose appropriate streaming device from your lsit of available devices in HA (Google Nest mini in my case).
To have even better voice quality, I also edited one of HA files:
/usr/src/homeassistant/homeassistant/components/microsoft/tts.py
I changed the
DEFAULT_OUTPUT = “audio-16khz-128kbitrate-mono-mp3”
to
DEFAULT_OUTPUT = “audio-48khz-192kbitrate-mono-mp3”
and the improvement is huge (at least to my ears)
Unfortunately you have to do that after each HA update, as the update overwrites the files…
I tried (and also someone else did even before me), but we’ve been told, that the team no longer allows integrations to add or change a platform YAML configuration (see here and here). Refractoring the integration is out of my reach, unfortunately…
Well, yes and no :).
It’s pay as you go, so, certain rate is free, but if you exceed it, you have to pay for the extra usage. You need to register, provide your credit card etc, but as long as you don’t exceed the limit, you are not charged (still, you receive a bill for 0,00€ by email:) ).