hardware-mycroft-mark-II
hardware-mycroft-mark-II copied to clipboard
Mimic2 TTS fails on cached lines (.wavs play fine through paplay)
For the past little while, I've been getting TTS failures on cached phrases. Here's an example from audio.log:
audio.log snippet
2021-03-28 21:35:08.852 | INFO | 270 | mycroft.audio.speech:mute_and_speak:127 | Speak: Seventeen
Playing WAVE '/tmp/mycroft/cache/tts/Mimic2/00e86eb858795dc0bce0a673f3218e61.wav' : Signed 16 bit Little Endian, Rate 22000 Hz, Mono
2021-03-28 21:35:15.702 | INFO | 270 | mycroft.audio.speech:mute_and_speak:127 | Speak: Seventeen
2021-03-28 21:35:15.707 | INFO | 270 | mycroft.tts.tts:_get_sentence_from_cache:393 | Found 00e86eb858795dc0bce0a673f3218e61.wav in TTS cache
2021-03-28 21:35:15.710 | ERROR | 270 | mycroft.audio.speech:mute_and_speak:134 | TTS execution failed.
Traceback (most recent call last):
File "/opt/mycroft/mycroft/audio/speech.py", line 129, in mute_and_speak
tts.execute(utterance, ident, listen)
File "/opt/mycroft/mycroft/tts/tts.py", line 338, in execute
self._execute(sentence, ident, listen)
File "/opt/mycroft/mycroft/tts/tts.py", line 385, in _execute
viseme = self.viseme(phonemes) if phonemes else None
File "/opt/mycroft/mycroft/tts/mimic2_tts.py", line 208, in viseme
vis_dur = float(pair[1])
IndexError: string index out of range
I don't know when this behavior began, exactly, but I first wondered if Mycroft had failed to reply last night, and I first definitively noticed about half an hour ago.
Maybe this belongs at Mimic, idk, but I've never noticed this on Linux.
I think this should be fixed through https://github.com/MycroftAI/mycroft-core/pull/2865/files, but there is a related issue for mimic1 See PR https://github.com/MycroftAI/mycroft-core/pull/2871
@chrisveilleux this is definitely fixed and deployed right?
I can't reproduce it currently.