Sonos ... Audio Sink ... Say?

@curlyel @Marty56

Same problem on yesterdays nightly build

Instead of ā€œmaryttsā€ I am using ā€œvoicerssā€.

The downside is that this is requiring an internet service which I would prefer to avoid due to privacy and availability reasons.

So do I.

FYI: I raised an issue on that:
https://github.com/openhab/openhab2-addons/issues/1715

Is anybody deploying maryTTS with a German voice rendered at the right speed?
If yes, which audio sink you are using?

Seems nobody is using maryTTS with German voice, because it is not rendered correctly.
Quite a pity. It was my hope to have some TTS without cloud involved ā€¦

Why not make your own? :slight_smile:

Thanks Oli, sounds brilliant. But Iā€™m afraid thatā€™s beyond my capabilities :frowning:

As @Kai did some refactoring of maryTTS (among his work on many, many other stuff) for openHAB2 I was hoping he is using it himselve and probably in his native language :wink:

So I was wondering how to solve it if there is indeed some issue with the German voices on maryTTS ā€¦

Assuming you have some kind of Linux box running, itā€™s actually quite simple.
The only prerequisite is a running LAMP (instructions for setting that up are just one Goggle away), and the tutorial works 100% cut&paste.

Unfortunately not - and I donā€™t have it anywhere at the top of my to-do list, so I would hope for somebody else that uses (or plans to use) MaryTTS to go and figure out what needs to be fixed.

marcelloceschia found the lines in the MaryTTSAudioStream.java, where the sampling rate is hard-codedā€¦
Thanks marcelloceschia for looking into it!

He also proposed a quite easy solution to it, but was unable to build the bundle himself:

Since Iā€™m not able too, Iā€™d like to ask for somebody more experienced in Java programming than me to step in and build some jar according his proposal ā€¦

Iā€™ve build a bundle for testing https://www.dropbox.com/s/uksw9s0t2fk52qr/org.openhab.voice.marytts-2.0.0-SNAPSHOT.jar?dl=1

Just replace it and restart the openHAB service.

Excellent. Itā€™s working!

Voice quality is not at the level of VoiceRSS, but everything remains local :wink:

Many thanks for your help @marcelloceschia !

Thank you for testing. I hope it will be tested by some other users to and we can open a pull request du fix this issue in the main branch.
Please also try to switch voices and check the result for all voices, especially the en_US voice with 48kHz sampling.

@curlyel maryTTS has a lot more voices with ā€œother quallityā€, but this can result in > 500MB library code

Iā€™ve tested all three voices supplied with maryTTS bundle. The two German voices at 16kHz are rendered correctly as well as the English one at 48kHz. So from my point of view all fine :slight_smile:

Regarding the ā€œother quality voicesā€:
Since nowadays the bundle is just installed on user request, an increased size of the bundle would only affect those users, who decided actively to get maryTTS installed for having TTS local. Those would accept higher disc space requirements - probably :wink:

I personally would be more than happy if could have a better TTS quality for the cost of some disc space and compute power. If youā€™re preparing a PR, it would be nice getting some more voices especially in higher quality in.

1 Like

@marcelloceschia [quote=ā€œcurlyel, post:91, topic:15576ā€]
Iā€™ve tested all three voices supplied with maryTTS bundle. The two German voices at 16kHz are rendered correctly as well as the English one at 48kHz. So from my point of view all fine :slight_smile:
[/quote]

I tested it with (Build #920) version 2.1.0.201705151816 | MaryTTS Voice Service, but both german voices are too fast, and english voice is like a bit on Valium (a bit too slow). Iā€™ve tested it directly on OH2-Server (System Speaker with mp3 support), itā€™s ok (all voices)!!! But when I select my ā€œAllplay speakerā€ ->ā€˜Default Sinkā€™ in audio configuration, speed didnā€™t fitā€¦ Is it an Allplay problem or a MaryTTS problem?

@Celaeno1 I can confirm the issue (same problem here), however I cannot see how the could be caused by the AllPlay binding. The binding is just forwarding the generated voice URL to the AllPlay speaker.
It would make sense to analyze the generated file which is sent to the speaker, however it seems like this only exists temporarily, I have no clue how to access it.

@Kai
Do you know about this issue? Maybe now itā€™s solved for ā€œSonosā€ (PR 1982 ), but ā€œAllplayā€ is not running with ā€œMaryTTS, germanā€. See Post 92

No, I didnā€™t find time for any testing of such things in the past weeks - so I am not in the loop about any issues on that.

@Kai Who is the current maintainer of MaryTTS?

I donā€™t think there is any, so feel free to come up with fixes yourself.