MaryTTS Connection Exception

Hi Rhasspy-Communiy,

everytime i send a TTS command to my marytts instance i get the exception:
TtsException: file does not start with RIFF id

Rhasspy and marytts are both running in a own docker container and are available in the network. MaryTTS seems to work correctly since i can access it and play around with the gui. The URL for maryTTS is set in the rhasspy settings to the correct ip and port.
Does anyone has a idea how i can fix this?

Have you tried this? This can happen if you entered a wrong locale.

Hi, i finally had time to try this out but the locale is correct. When i send a tts command i get this debug output:
2020-07-02 09:00:18,053 [I/O dispatcher 6] INFO marytts.server Connection from null
2020-07-02 09:00:18,054 [I/O dispatcher 6] DEBUG marytts.server File requested: ?INPUT_TYPE=TEXT&OUTPUT_TYPE=AUDIO&AUDIO=WAVE&LOCALE=de&INPUT_TEXT=test&VOICE=dfki-pavoque-neutral-hsmm
2020-07-02 09:00:18,055 [I/O dispatcher 6] DEBUG marytts.http Returning HTTP status 404: File ?INPUT_TYPE=TEXT&OUTPUT_TYPE=AUDIO&AUDIO=WAVE&LOCALE=de&INPUT_TEXT=test&VOICE=dfki-pavoque-neutral-hsmm not found
2020-07-02 09:00:18,058 [I/O dispatcher 6] INFO marytts.server Connection closed: [closed]

It seems the container can’t find the voice. Have you added the --voice dfki-pavoque-neutral-hsmm argument to your docker run command?

Yes, i added
–voice dfki-pavoque-neutral-hsmm de male hmm
but this does not seem to be the problem. I´ve restarted maryTTS without this parameter and it still shows the same exception. I´ve tried it with several other voices but none of them was found.

In the rhasspy gui the different voices are suggested and i can select them there.

What are you using for your MaryTTS URL? The error looks like MaryTTS is trying to return a file instead of using the /process endpoint to do text to speech.

image
I´m not sure what you mean with the URL, i simply added the ip and the port in the url field: http://192.168.178.29:59125

This configuration works for me:

marytts

You need to add /process at the end of the URL. Can you confirm that this works for you? Then I’ll update the documentation, which doesn’t seem to mention the /process endpoint.

3 Likes