I am successfully using local TTS through Wyoming and the Piper add on.
The generated message files are stored in the local config → tts
folder when the Caching option is enabled, so that the same message can be repeated without re-generating it again.
This is working fine.
As I understand it, the first part of the message file names is a hash value generated from the message contents.
But where is the added language code in the last part of the mp3 file names meant for?
This are some examples of mp3 message files in the config → tts
folder:
I think that this language code is fixed for a specific period, but when the Home Assistant server is rebooted another language code is used.
And it seems arbitrary which code is chosen?
This are some examples of these language codes that I currently have in the config → tts
folder:
- de-de German
- en-us English US
- hu-hu Hungarian
- nl-be Dutch
- sr-rs Serbian
- sw-cd Swahili
- ne-np Nepali
- vi-vn Vietnamese
However, I am only using TTS in the Netherlands (Dutch) language, with the Piper voice nl_BE-nathalie-medium
.
So nl-be
would be a logic language code extension in my case, but then why are all these other language codes used?
Any change in language code also means that with exactly the same message the message files are re-generated, with exactly the same hash value but a different language code extension.
There are two examples of this shown in the list above.
Is this functional, or is this a bug?
Who knows more about this?