No voice w/o building mimic (SOLVED)

I’ve got Mycroft running on my Antergos (Arch) PC following the instructions on https://mycroft.ai/documentation/linux/ and it’s all fine if I build mimic. But I get no audio if I don’t build mimic.

Am I mistaken? I thought it would still have a voice unless I’m not connected to the internet? I’ve done this twice on 2 completely fresh linux installs.

I use the plasmoid to see the written responses and to switch Mycroft on and off while testing.

1 Like

Mimic (1) works offline. Without it, you wouldn’t hear a voice. That’s correct. Mimic2 requires a connection to the internet unless you run a server for that locally.

I’m always connected to the internet. How do I know which version of mimic I have?
I assume it’s 2 because during install it says I won’t have voice if I’m NOT connected to the net so to build mimic for that case.

The local built one is more robotic and has an odd cadence. mimic2 has a more natural sound.

Thanks, well then I have the more robotic version 1 that I built during install, but why doesn’t it work if I don’t build it locally?

That’s what it’s designed to be–a local TTS engine.

Yes I know that but the installation message states that a local mimic is only needed if I’m going to be offline which I never am so why does it not work if I choose to NOT build mimic locally?

Maybe I don’t understand the naming, is mimic ONLY a local build program and the online service is called something else?

Online tool is mimic2, but you have to have an account to use that.

I have an account, if I didn’t I wouldn’t have been able to register my computer as a Mycroft Device.
So back to my original question, why do I have to build mimic locally when it’s supposed to work (according to the installation notes & as long as I am online) in order to have a voice?

Unless you’ve specifically configured another tts engine, mimic will be the tts engine. Without either a) mimic installed, or b) another tts configured and working, you won’t hear anything.

1 Like

Ok thanks you’re saying the same thing as I came to believe but that means the installation text is either wrong or incomplete, but anyway that’s my question solved :slight_smile:

Hi @robgriff444

Sorry for the confusion, this page is on my list of documentation to update (along with lots of others). If you have any specific ideas on how it could be improved we would love any and all feedback. You can submit this either using the documentation ratings at the bottom of every page in the documentation, or directly on the github repo.

Glad to hear you got mimic up and running locally though :slight_smile:

@gez-mycroft Thanks, here’s the message:

"Mycroft uses its Mimic technology to speak to you. Mimic can run both
locally and from a server. The local Mimic is more robotic, but always
available regardless of network connectivity. It will act as a fallback
if unable to contact the Mimic server.

However, building the local Mimic is time consuming – it can take hours
on slower machines. This can be skipped, but Mycroft will be unable to
talk if you lose network connectivity. Would you like to build Mimic
locally? "

Having had no Mycroft experience before installing this I assumed that ‘from a server’ meant in the cloud (ie already there). I see now what was meant but it is only clear when you know!

1 Like

Hi - I just wanted to bump this issue to let you know the wording is still confusing. I installed mycroft for the first time this weekend and also interpreted the mimic choice as optional, and didn’t install it. I spent untold number of hours needlessly dissecting ALSA and Pulse thinking there was surely something wrong with my drivers.

Please make it more clear that the only ways to get TTS is to install mimic locally, or otherwise configure some remote TTS server. The wording leads you to believe that a remote instance of mimic is ready and waiting for you by default.

Thanks,
Bill

Hi Bill,

Sorry to hear that your first experience was frustrating. The less robotic TTS voices use our are all cloud based and should be available by default.

I’m wondering if you have the “British Male” voice selected in your device preferences?

As this is the main Mimic 1 voice, I’m wondering if you have this selected, and opt not to build Mimic then this could result in no audio? We definitely need to add a warning if this is the case.

I did have British Male selected on my first try, yes. I’m using American Male now, but have opted to build Mimic on my latest try as well. How can I tell if it’s using the cloud or local Mimic?

The easiest way to tell is just that the Mimic2 voices sound waaaay better. Local mimic sounds more robotic.

If you have the CLI interface up you can also type

:log level debug

This will write a lot more detail in your log files. If you look in /var/log/mycroft/audio.log you will then see entries like:

16:44:28.257 - mycroft.tts.mimic2_tts:get_tts:256 - DEBUG - Generating Mimic2 TSS for: It is four forty four

or if the connection failed and it had to fallback to local Mimic:

16:44:33.275 - mycroft.audio.speech:mimic_fallback_tts:147 - DEBUG - Mimic fallback, utterance : It is four forty four

If you have British Male selected as your voice, it will use the local Mimic and the log entries would be:

16:48:42.367 - mycroft.audio.speech:mute_and_speak:128 - INFO - Speak: It’s four forty eight

Finally it’s good to keep the log level at info just to reduce the data being written to disk unnecessarily. So back in the CLI type:

:log level info

I too am trying to set up Mycroft on Linux, and have run into the same roadblocks as @robgriff444. By default, I chose not to build Mimic1 locally as I have my Mycroft connected to the web. However, I’m now in the exact same state. `````./start-mycroft.sh debug` shows clearly that Mycroft is hearing me and understanding me, and I can hear the wake chime noise and can confirm audio/speakers are working great, so it’s just that Mycroft isn’t using any cloud TTS.

To make matters worse, I can’t find any documentation for how to configure TTS other than to build Mimic1 locally. I want to use a cloud-based Mimic2, however. The above conversation is a bit hard to follow, but I get the feeling you’re saying that I’d need to stand up my own Mimic2 TTS server? Even if I did that, it would still be unclear how to point Mycroft at that TTS server to begin with, I can’t find any documentation. How have others used Mimic2?

For using “cloud tts” go to home.mycroft.ai edit your Mycroft-device and choose “Google” as voice.