MycroftAI / mimic3

A fast local neural text to speech engine for Mycroft
GNU Affero General Public License v3.0
1.06k stars 99 forks source link

Could not find a version that satisfies the requirement mimic3-tts[de] #7

Open goldyfruit opened 2 years ago

goldyfruit commented 2 years ago

When I tried to install the mycroft-plugin-tts-mimic3[all] Python library, I got this error:

"#16 85.10 ERROR: Could not find a version that satisfies the requirement mimic3-tts[de] (from mycroft-plugin-tts-mimic3[all]) (from versions: none)",
"#16 85.11 ERROR: No matching distribution found for mimic3-tts[de]",
synesthesiam commented 2 years ago

This should be fixed with v0.1.5 of the plugin: https://github.com/MycroftAI/plugin-tts-mimic3/releases/tag/release%2Fv0.1.5

goldyfruit commented 2 years ago

For some reason it keeps downloading the 1.4 version.

EDIT:

Error seems to happen for arm/v7 only.

goldyfruit commented 2 years ago

According to Mattermost, someone else (@JoergZ2 ) got the same issue.

Collecting mycroft-plugin-tts-mimic3[de]
  Using cached mycroft_plugin_tts_mimic3-0.1.5.tar.gz (8.5 kB)
  Preparing metadata (setup.py) ... done
Collecting mycroft-mimic3-tts<1.0
  Using cached mycroft_mimic3_tts-0.2.3.tar.gz (130 kB)
  Preparing metadata (setup.py) ... done
Collecting dataclasses-json<1.0
  Using cached dataclasses_json-0.5.7-py3-none-any.whl (25 kB)
Collecting epitran==1.17
  Using cached epitran-1.17-py2.py3-none-any.whl (153 kB)
Collecting espeak-phonemizer<2.0,>=1.0
  Using cached espeak_phonemizer-1.1.0.tar.gz (18 kB)
  Preparing metadata (setup.py) ... done
Collecting gruut<3.0,>=2.3.0
  Using cached gruut-2.3.4-py3-none-any.whl
Collecting numpy<2.0
  Using cached numpy-1.21.6.zip (10.3 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting mycroft-mimic3-tts<1.0
  Using cached mycroft_mimic3_tts-0.2.2.tar.gz (130 kB)
  Preparing metadata (setup.py) ... done
INFO: pip is looking at multiple versions of mycroft-plugin-tts-mimic3[de] to determine which version is compatible with other requirements. This could take a while.
Collecting mycroft-plugin-tts-mimic3[de]
  Using cached mycroft_plugin_tts_mimic3-0.1.4.tar.gz (8.5 kB)
  Preparing metadata (setup.py) ... done
ERROR: Ignored the following versions that require a different python version: 1.22.0 Requires-Python >=3.8; 1.22.0rc1 Requires-Python >=3.8; 1.22.0rc2 Requires-Python >=3.8; 1.22.0rc3 Requires-Python >=3.8; 1.22.1 Requires-Python >=3.8; 1.22.2 Requires-Python >=3.8; 1.22.3 Requires-Python >=3.8; 1.22.4 Requires-Python >=3.8; 1.23.0 Requires-Python >=3.8; 1.23.0rc1 Requires-Python >=3.8; 1.23.0rc2 Requires-Python >=3.8; 1.23.0rc3 Requires-Python >=3.8
ERROR: Could not find a version that satisfies the requirement mimic3-tts[de] (from mycroft-plugin-tts-mimic3[de]) (from versions: none)
ERROR: No matching distribution found for mimic3-tts[de]
(.venv) pi@picroft:~ $ python --version
Python 3.7.3
(.venv) pi@picroft:~ $ 
synesthesiam commented 2 years ago

I think this is because there is no official onnxruntime wheel for arm/v7. Mimic 3 must be installed like this then:

pip install -f 'https://synesthesiam.github.io/prebuilt-apps/' mycroft-mimic-tts

I keep copies of pre-compiled onnxruntime wheels here: https://github.com/synesthesiam/prebuilt-apps/releases

JoergZ2 commented 2 years ago

No, same error again:

ERROR: Could not find a version that satisfies the requirement mimic3-tts[de] (from mycroft-plugin-tts-mimic3[de]) (from versions: none)
ERROR: No matching distribution found for mimic3-tts[de]

Even if I don't use the [de] flag.

goldyfruit commented 2 years ago
pip install -U -f 'https://synesthesiam.github.io/prebuilt-apps/' mycroft-plugin-tts-mimic3[all]==0.1.5

Try to force the version.

JoergZ2 commented 2 years ago

@goldyfruit That worked! Thanks! But during installation I saw no gruut-lang-de was downloaded. So the voice is speaking a german text with en en-us pronunciation. My tts part of mycroft.conf looks so:

  "tts": {
    "module": "mimic3_tts_plug",
    "mimic3_tts_plug": {
        "voice": "de_DE/thorsten_low",
        "speaker": "male",
        "length_scale": 1.0,
        "noise_scale": 0.667,
        "noise_w": 1.0
    }
  },

Is there any fault?

JoergZ2 commented 2 years ago

@goldyfruit told me to use mimic3-download de_DE/thorsten_low But that throws a lot of (numpy-) errors:

Traceback (most recent call last):
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/numpy/core/__init__.py", line 22, in <module>
    from . import multiarray
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/numpy/core/multiarray.py", line 12, in <module>
    from . import overrides
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/numpy/core/overrides.py", line 7, in <module>
    from numpy.core._multiarray_umath import (
ImportError: /lib/arm-linux-gnueabihf/libm.so.6: version `GLIBC_2.29' not found (required by /home/pi/mycroft-core/.venv/lib/python3.7/site-packages/numpy/core/_multiarray_umath.cpython-37m-arm-linux-gnueabihf.so)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pi/mycroft-core/.venv/bin/mimic3-download", line 5, in <module>
    from mimic3_tts.download import main
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/mimic3_tts/__init__.py", line 17, in <module>
    from .tts import Mimic3Settings, Mimic3TextToSpeechSystem
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/mimic3_tts/tts.py", line 26, in <module>
    from gruut_ipa import IPA
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/gruut_ipa/__init__.py", line 2, in <module>
    from gruut_ipa.accent import GuessedPhonemes, guess_phonemes  # noqa: F401
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/gruut_ipa/accent.py", line 8, in <module>
    from gruut_ipa.distances import get_closest
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/gruut_ipa/distances.py", line 10, in <module>
    import numpy as np
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/numpy/__init__.py", line 150, in <module>
    from . import core
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/numpy/core/__init__.py", line 48, in <module>
    raise ImportError(msg)
ImportError: 

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.

We have compiled some common reasons and troubleshooting tips at:

    https://numpy.org/devdocs/user/troubleshooting-importerror.html

Please note and check the following:

  * The Python version is: Python3.7 from "/home/pi/mycroft-core/.venv/bin/python3"
  * The NumPy version is: "1.21.6"

and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.

Original error was: /lib/arm-linux-gnueabihf/libm.so.6: version `GLIBC_2.29' not found (required by /home/pi/mycroft-core/.venv/lib/python3.7/site-packages/numpy/core/_multiarray_umath.cpython-37m-arm-linux-gnueabihf.so)

What do I've to do for using de_DE voices?

goldyfruit commented 2 years ago

It seems you are using Debian 10 which provided GLIBC 2.28, Debian 11 provides GLIBC 2.31. One solution could be to update from Buster (10) to Bullseye (11).

@synesthesiam should be able to provide more information.

JoergZ2 commented 2 years ago

It's a Picroft installation from origin and it's "old" by default ;-). Until now the image is from 2020-09-07. I did

sudo apt update
sudo apt list --upgradable

There seems to be no newer glibc library. So I don't know if it was a good idea to upgrade the system.

goldyfruit commented 2 years ago

It's a Picroft installation from origin and it's "old" by default ;-). Until now the image is from 2020-09-07. I did

sudo apt update
sudo apt list --upgradable

There seems to be no newer glibc library. So I don't know if it was a good idea to upgrade the system.

To go from Buster to Bullseye your will have to change the /etc/apt/sources.list then sudo apt update && sudo apt dist-upgrade but this could break stuff and lead you to re-flash your SD-card with Picroft image.

Don't blame me :p

JoergZ2 commented 2 years ago

At least I had succes installing Mimic3 with Mycroft on a Raspberry Pi 3 A: https://chat.mycroft.ai/community/pl/bf6ikhfhejbkb8h5fkm1szhb9a