Skip to content
This repository has been archived by the owner on May 7, 2020. It is now read-only.

VoiceManager fails to find suitable voice #2352

Closed
kaikreuzer opened this issue Oct 22, 2016 · 6 comments
Closed

VoiceManager fails to find suitable voice #2352

kaikreuzer opened this issue Oct 22, 2016 · 6 comments

Comments

@kaikreuzer
Copy link
Contributor

There is some problem with the selection of the right voice to use in VoiceManager.

If e.g. MaryTTS is installed, you have:

openhab> voice voices
marytts:bits1hsmm bits1-hsmm (de)
marytts:cmuslthsmm cmu-slt-hsmm (en_US)
marytts:bits3hsmm bits3-hsmm (de)

Calling

openhab> voice say test

results in

21:39:47.778 [ERROR] [se.smarthome.core.voice.VoiceManager] - Error saying 'test ': Unable to find a voice for language de

When the locale (in Configuration->System) is set to "de" instead of "de_DE", TTS works as expected.

@Jaghova
Copy link

Jaghova commented Oct 23, 2016

Is there any plan to add other lenguages in case they are supported? As far as I know VoiceRSS supports multiple lenguages.

@kaikreuzer
Copy link
Contributor Author

The voice infrastructure supports ANY language, it all just depends on what voices are available. Currently, the VoiceRSS TTS has support for de and en, but this can be easily extended to all 26 languages offered by VoiceRSS (@JochenHiller, correct me, if I am wrong).

@JochenHiller
Copy link
Contributor

@Jaghova Yep, there are more languages, which I planned to add. The initial contribution was done in just 2 evenings, I wanted to add first test cases before adding more features. But sure, I will add all supported languages of VoiceRSS extension soon.

@kaikreuzer about the reported issue: VoiceRSS extension does register languages with both country and region code (e.g. de_DE). So I did not run into that issue.

Just as an idea which I came up during testing and demoing that feature: the "say" command could support an option to specify the locale, e.g. "say --locale "de" "Hallo Welt"?
Nevertheless, the reported bug has to be fixed either.

@kaikreuzer
Copy link
Contributor Author

the "say" command could support an option to specify the locale, e.g. "say --locale "de" "Hallo Welt"?

The say() command in rules supports defining a voice that should be used - through this, the locale is also directly chosen. I would think that this is good enough (and we could add this option to the console say command as well, yes), since in most cases, you really want to chose the voice that is used.

@kaikreuzer
Copy link
Contributor Author

I actually think that this problem might be fixed through the commented out code in VoiceManager - unfortunately, this feature is only available in Java 8, so this code cannot be enabled (yet)...

@cauer71
Copy link

cauer71 commented Nov 14, 2016

Is it now possible to activate the language output in german?

htreu pushed a commit to htreu/smarthome that referenced this issue Sep 5, 2017
kaikreuzer pushed a commit that referenced this issue Sep 5, 2017
…2352 (#4197)

Signed-off-by: Henning Treu <henning.treu@telekom.de>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants