Closed popey closed 2 years ago
The issue can be replicated by hitting http://0.0.0.0:59125/api/voices directly. The problem is that the aliases
key in a Voice
returned from Mimic3TextToSpeechSystem.get_voices
is a set
, and set
s can't be serialised to JSON.
It can be seen at https://github.com/MycroftAI/mimic3/blob/master/mimic3_tts/tts.py#L237 that aliases are loaded from a file, if that file is present, and the type of the aliases member is made a set. However, if there's nothing to load from disk (as happens on the first ever run) then aliases aren't set and so the error doesn't occur.
This probably needs fixing by making that aliases member a list or a tuple, or by poking the JSON serialiser used in jsonify to convert sets to and from lists when serialising and deserialising, but someone who understands the code will need to do that.
Should be fixed in 0.2.4
Describe the bug Visiting the mimic3 web page results in empty drop-down fields and errors in the terminal. I have made no changes to mimic3. It worked yesterday, and now no longer does.
To Reproduce Steps to reproduce the behaviour: On Kubuntu 22.10
Opening the web page looks like this. Output from the command line looks like this:
Expected behaviour The web page should show like this, and be usable.
Environment (please complete the following information):
Additional context Worth noting this exact setup on this machine worked perfectly yesterday. I know this because I wrote a blog post about it. I left mimic running on my laptop, changed network a couple of times, came home, and tried again, and now it's completely failing. I even wiped the folder and re-cloned and reinstalled as per the instructions above.