Mimic3 Error
MatthewJSalerno opened this issue ยท 6 comments
Thank you for putting the effort into splitting this out.
Debian 11 64-bit
Raspberry Pi 4 (8gb)
I've gotten the stack up and running but when I switch from mimic to mimic3 and any audio response gets generated, I get an error.
2022-09-22 15:51:39.312 | INFO | 1 | mycroft.util.process_utils:start_message_bus_client:155 | Connected to messagebus
2022-09-22 15:51:41.970 | INFO | 1 | mycroft.tts.tts:create:706 | Loaded plugin mimic3_tts_plug
2022-09-22 15:51:41.987 | ERROR | 1 | mycroft.tts.tts:create:715 | The selected TTS backend couldn't be loaded. Falling back to Mimic
Traceback (most recent call last):
File "/home/mycroft/core/mycroft/tts/tts.py", line 710, in create
tts = clazz(tts_lang, tts_config)
File "/opt/mycroft-venv/lib/python3.9/site-packages/mycroft_plugin_tts_mimic3/__init__.py", line 110, in __init__
self.tts.preload_voice(voice)
File "/opt/mycroft-venv/lib/python3.9/site-packages/mimic3_tts/tts.py", line 310, in preload_voice
self._get_or_load_voice(key_to_load)
File "/opt/mycroft-venv/lib/python3.9/site-packages/mimic3_tts/tts.py", line 553, in _get_or_load_voice
maybe_model_dir = self._download_voice(voice_key)
File "/opt/mycroft-venv/lib/python3.9/site-packages/mimic3_tts/tts.py", line 605, in _download_voice
download_voice(
File "/opt/mycroft-venv/lib/python3.9/site-packages/mimic3_tts/download.py", line 85, in download_voice
voice_dir = Path(voices_dir) / voice_key
File "/usr/lib/python3.9/pathlib.py", line 1071, in __new__
self = cls._from_parts(args, init=False)
File "/usr/lib/python3.9/pathlib.py", line 696, in _from_parts
drv, root, parts = self._parse_args(args)
File "/usr/lib/python3.9/pathlib.py", line 680, in _parse_args
a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType
Carnegie Mellon University, Copyright (c) 1999-2011, all rights reserved
mimic developers, Copyright (c) 2016, all rights reserved
version: mimic-1.1.0.9000 ()
I've tried
$ mycroft-config set tts.module mimic3_tts_plug
As well as the example config from the mimic3 GitHub page
I've only started tinkering with this and I'll post any progress I make, I'm curious if anyone has gotten this working.
Thanks
Resolved due to an error in my config. Here's a working config.
{
"max_allowed_core_version": 21.2,
"hotwords": {
"hey mycroft": {
"module": "ovos-precise-lite",
"model": "~/models/precise-lite-models/wakewords/en/hey_mycroft.tflite",
"sensitivity": 0.5,
"trigger_level": 3
}
},
"tts": {
"module": "mimic3_tts_plug",
"mimic3_tts_plug": {
"voice": "en_US/vctk_low",
"speaker": "p283",
"length_scale": 1.2,
"noise_scale": 0.667,
"noise_w": 1.0
}
}
}
Awesome ๐
I did find an issue when I restarted everything (docker-compose down/up). If the voices aren't cached the mimic3 will fail on startup.
If I log into the container and execute:
mimic3 --voice en_US/vctk_low#p283 "test" > /tmp/output.wav
it will download the voice data to /home/mycroft/.local/share/mycroft/mimic3/voices/, which gets clobbered on restart. It looks like it needs a volume like Precise-lite with a local clone of https://github.com/MycroftAI/mimic3-voices
@MatthewJSalerno thanks for flagging this, could you please open a new issue with this?
@MatthewJSalerno I created the issue and pushed a change, let me know in #30 if it fixed your issue.
I created #31 which is pretty damn close to the latest commit. I need to clean up my system and then I'll try it out. Thanks.