SnipsSuperTTS, one script to rule them all

tts
wavenet
amazon
polly
google

#21

You’re welcome! About the language change, sorry, but I never tried


#22

Hi,

I have try on two satellites:
I did the installation of mycroft ONLY (offline feature).
on the sh script, i change :

useMycroft=true
mycroftPath="/home/boss/mimic"

I have modified my toml like this:

[snips-tts]
provider = "customtts"
customtts = { command = ["/home/boss/snipsSuperTTS/snipsSuperTTS.sh", "%%OUTPUT_FILE%%", "mycroft", "%%LANG%%", "FR", "slt", "FEMALE", "%%TEXT%%", "22050"] }

After restarting snips service, when i try to say using jeedom+snips plugin some sentences, i heard the original snips voice…
If i comment the two lines, again. If i made a mistake (volontary) in the toml tts i have no sound…

Why i don’t heard mycroft voice ?

I have installed snips-tts on my satellite. Do i need to make the installation again on the snips server ?


#23

It’s not to be installed on satellites, but on the main unit only


#24

Argh… lol.
So i need to remove tts on the satellite and installed only on the main server VM.
I will keep you in touch if it is okay.

Thank you Psycho !


#25

That’s how snips works, the audio is always streamed from the main unit :smirk:


#26

It is not depending of A or B configuration.

I have made the change. When i reload my Jeedom plugin, it reports:

The toml file in the server:


#27

What are you talking about conf a or b? This is again something about satellites. I have no idea about jeedom thingy. The toml file looks ok


#28

I saw configuration satellite on the snips website.
Even if the error is present in Jeedom when i try to use TTS from this script it is reported an error on sam watch:

[13:38:49] [Nlu] detected intent benj29:TurnOnJeedom with probability 0.519 for input "allume la télé de notre chambre"
              Slots ->
                 device_name -> tv (confidence: 1.000)
                  house_room -> chambre parentale (confidence: 1.000)
[13:38:49] [Dialogue] New intent detected benj29:TurnOnJeedom with probability 0.519
              Slots ->
                 device_name -> tv (confidence: 1.000)
                  house_room -> chambre parentale (confidence: 1.000)
[13:38:49] [Dialogue] was ask to end session with id e9f7cdcd-ce8c-421d-90d5-52c901f97324 by saying 'Désolé je ne trouve pas les actions '
[13:38:49] [Tts] was asked to say "Désolé je ne trouve pas les actions"
[13:38:49] [AudioServer] was asked to play a wav of 61.1 kB with id '5495ad0a-32cc-48c5-9a3b-01173d975f4c' on site SATPI-SNIPS2
[13:38:49] [AudioServer] finished playing wav with id '5495ad0a-32cc-48c5-9a3b-01173d975f4c'
[13:38:49] [Dialogue] session with id 'e9f7cdcd-ce8c-421d-90d5-52c901f97324' was ended on site SATPI-SNIPS2. The session was ended because an error happened: Receives error from component Tts: { error: Error while trying to say 'SayMessage { text: "Désolé je ne trouve pas les actions", lang: Some("fr"), id: Some("6f060c33-4513-4a6c-9e7d-dd22e37f9a39"), site_id: "SATPI-SNIPS2", session_id: Some("e9f7cdcd-ce8c-421d-90d5-52c901f97324") }': Can't execute `/home/boss/snipsSuperTTS/snipsSuperTTS.sh`
 -> caused by: Permission denied (os error 13)
, context:  }

So, i change to 777 and u+x the script…

I have not now the error but i have NO SOUND…

13:41:29] [AudioServer] finished playing wav with id '9c7844e5-977e-4504-8062-217245f2e9ea'
[13:41:29] [Nlu] was asked to parse input "allume la télé dans notre chambre"
[13:41:29] [Nlu] detected intent benj29:TurnOnJeedom with probability 0.657 for input "allume la télé dans notre chambre"
              Slots ->
                 device_name -> tv (confidence: 1.000)
                  house_room -> chambre parentale (confidence: 1.000)
[13:41:29] [Dialogue] New intent detected benj29:TurnOnJeedom with probability 0.657
              Slots ->
                 device_name -> tv (confidence: 1.000)
                  house_room -> chambre parentale (confidence: 1.000)
[13:41:29] [Dialogue] was ask to end session with id 6173e33c-df74-463c-9382-5e8b45441ce7 by saying 'Désolé  je n'ai pas compris '
[13:41:29] [Tts] was asked to say "Désolé  je n'ai pas compris"
[13:41:29] [AudioServer] was asked to play a wav of 0.0 kB with id '58aff9eb-d665-40bb-814e-0a3fb6d2c9d5' on site SATPI-SNIPS2
[13:41:45] [Dialogue] session with id '6173e33c-df74-463c-9382-5e8b45441ce7' was ended on site SATPI-SNIPS2. The session was ended because one of the component didn't respond in a timely manner
[13:41:45] [Asr] was asked to stop listening on site SATPI-SNIPS2
[13:41:45] [Hotword] was asked to toggle itself 'on' on site SATPI-SNIPS2

[13:38:49] [Asr] was asked to stop listening on site SATPI-SNIPS2
[13:38:49] [Hotword] was asked to toggle itself 'on' on site SATPI-SNIPS2

How i can test just if mycroft is okay or the TTS ?

If i ask from jeedom to play some TTS (using SAY) i have no sound on my satellites… again !

If a remove customTTS linesi it is working using snips original voice.

Any idea ?


#29

I just added some thoughts on the gist :


maybe that can help to debug.


#30

For next users, you need to install mpg123 when you want to use this script (for google tts). You need to install snips-asr-google too.
For french users, don’t spent time to use mimic because it is in english only.
Now, it is working !
@psycho, maybe you need to update the documentation. Thanks for your work !


#31

That’s not true, you don’t need Google asr. Asr and tts have nothing to do together. And you need mpg123 for both Amazon and google

EDIT
Ok, now I understood what people were saying about google-asr. I never updated the script. It doesn’t require google-asr to be online anymore


#32

Hi Psycho,

as i saw in your other scripts, you have already installed mpg123 in wavelet script or amazon script.
But when you are a new user using superSnipsTTS, it is not mentionned. This is why i say you need to install.

And, again, you need to install “snips asr google” and not google asr :wink: to use in snips. In my case without this, it is not working !

The main drawback for all users who want to use google TTS is the delay to download to MP3 synthesis, but the quality is better !

Now, i’m waiting for a better TTS from Snips :wink:


#33

Dude I know you talking about snips Google asr… As I said it’s not needed and as I commented on the gist I removed the wrong need of it. Google wavenet is slower than Amazon btw, Amazon delay is pretty ok. And for offline, well, you got mimic :slight_smile:


#34

Since I don’t need any of the caching and I’m just looking to use Mimic, shouldn’t I be able to use the following in my snips.toml?

customtts = { command = ["/home/pi/mimic/mimic -t", "%%TEXT%%", "-o", "%%OUTPUT_FILE%%", "-voice /home/pi/mimic/voices/cmu_us_rms.flitevox"]}

It’s not working and I’ve been trying different formatting, spacing, etc… I’m clearly missing something.
Also, I do have mimic installed and the following will play audio:

/home/pi/mimic/mimic -t "testing testing 1 2 3"  -voice /home/pi/mimic/voices/cmu_us_rms.flitevox

#35

Sure. You can also stay on SnipsSuperTTS and enable mimic only


#36

(post withdrawn by author, will be automatically deleted in 24 hours unless flagged)