Overview of available TTS engines


#1

Detailed overview of available TTS engines for mycroft, includes links, supported languages, how to change voices, possible future TTS engines for integration etc.


#2

Using PicoTTS with mycroft


#3

Could you show in your videos how to make the modifications to do it?

I tried changing “module”: “mimic”, to “module”: “espeak”, and I get no sound at all.
Same with “module”:
“google”:{
“credential” : {
“token”: “{token}”
}
}


#4

i suppose you are missing the espeak package? its there a warning in the speech logs?

try to do sudo apt-get install espeak (not sure on package name)

i can make a video :slight_smile:


#5

Solved, thank you! I thought both mimic and espeak were integrated.


#6

Please post working code we can paste into mycroft.conf to enable Google TTS or alternatively espeak.

Also please clarify which mycroft.conf should we edit on a Mark I?
Different versions of the file exist in
/etc/mycroft/
/home/mycroft/.mycroft/
/usr/local/lib/python2.7/site-packages/mycroft_core-0.8.10-py2.7.egg/mycroft/configuration/


#7

Did you ever figure Google TTS out? Why has no one responded to you question??


#8

For Mycroft, you can change the TTS engine on the advanced settings of https://home.mycroft.ai/. I haven’t tried espeak recently, but Google TTS works out of the box.


#9

To get Google TTS to work, I had to reimage the Mark I microSD card, using the instructions here: https://mycroft.ai/documentation/mark-1/#reimaging-steps

After that reset, I repaired the Mark I, set up Google TTS in the web advanced settings panel, and it worked–for a while. After an hour or two, the Mark I updated itself to version 0.99 and stopped talking altogether. I tried switching back to Mimic TTS, but it remains mute. Using SSH and the python console, I can see that the Mark I is hearing and interpreting commands correctly and is invoking skills and “uttering” responses, but there is no sound and no LED activity when it does so. Apparently the 0.99 upgrade process is borked. I’ll try again when a 0.99 image for the Mark I is available.


#10

Hey guys, just wanted you to know that I am on this with the team. I had the same issue the other day, but having issues getting to the logs. I will make sure we post back whenever I hear more. I already see a strong discussion brewing. If you ever need to reach me directly, please feel free to email me at nate.tomasi@mycroft.ai.


#11

@waytgibbs Can you log into home and see what your TTS is set to for me. They just got to the logs on my unit, and for some reason, my TTS was set to MaryTTS. I am letting the devs run a few more test before I switch it to mimic, but I don’t remember ever trying MaryTTs, and apparently, that doesn’t work without some configuration.


#12

I have Google TTS selected in the web advanced settings page. After leaving the Mark I alone for a couple days, the Google TTS voice resumed working.

Checking the config files, I see that…

  • In /home/mycroft/.mycroft/mycroft.conf, TTS is still set to Mimic.
  • In /etc/mycroft/mycroft.conf, there is no TTS section.
  • In /usr/local/lib/python2.7/site-packages/mycroft_core-0.9.10-py2.7.egg/mycroft/configuration/mycroft.conf, TTS is set to “module”: “mimic”.
  • ‘sudo find / -name mycroft.conf’ turns up no other instances of a mycroft.conf file.

So Google doesn’t appear to be configured as TTS in any of the standard config files, and yet the voice played is clearly Google TTS, and this is confirmed by a glance at the mycroft-audio.log, which shows calls to https://translate.google.com for each utterance.

Apparently there is another config file somewhere that actually governs the TTS behavior–but where?


#13

like you said it’s in the remote config that gets periodically pulled down, the remote settings override the system config files, so in the end your tts is set to google

EDIT:

your user configuration should load after remote settings and you should get mimic, i don’t understand why you get google…

If /home/mycroft/.mycroft/mycroft.conf, TTS is still set to Mimic. this should be the last loaded value? did you change this file manually?


#14

From @steve.penrod

setting that comes down from Home can be seen at /opt/mycroft/web_config_cache.json

We load settings in a specific order, overlaying things at each stage. So a setting loaded at stage 2 would be replaced by the same setting at stage 4. The stages are:

  1. DEFAULTS - in code (in the site-packages/mycroft_core_0.9.XX-py2.7.egg for a Mark 1)

  2. REMOTE - from the web (see copy at /opt/mycroft/web_config_cache.json)

  3. SYSTEM - from /etc/mycroft/mycroft.conf

  4. USER - from ~/.mycroft/mycroft.conf (depends on active user, so under a Mark 1 this is /home/mycroft/.mycroft/mycroft.conf)

More documentation can be seen in the setting file at https://github.com/MycroftAI/mycroft-core/blob/dev/mycroft/configuration/mycroft.conf#L4

I don’t believe that @Jarbas_Ai is exactly right here, if I am understanding it correctly. Remote doesn’t overwrite the other settings.


#15

indeed, that was long fixed… configuration order now makes sense and that is a non issue, will update

fixing the configuration load order was one of my first PRs, how could i forget about it :stuck_out_tongue:

EDIT:
previous post edited for clarity