rhasspy / piper

A fast, local neural text to speech system
https://rhasspy.github.io/piper-samples/
MIT License
6.76k stars 498 forks source link

Unable to Install piper-tts on macOS Due to piper-phonemize 1.1.0 Dependency #217

Open gabrielgq opened 1 year ago

gabrielgq commented 1 year ago

Unable to Install piper-tts on macOS Due to piper-phonemize 1.1.0 Dependency

Description

I am trying to install piper-tts on macOS. However, the installation process fails because of its dependency on piper-phonemize version 1.1.0, which appears to lack a macOS-compatible distribution.

Steps to Reproduce

  1. On a macOS system, execute: pip install piper-tts
  2. Installation fails due to the dependency on piper-phonemize 1.1.0.
  3. Direct installation of piper-phonemize 1.1.0 also fails: pip install piper-phonemize==1.1.0

Expected Behavior

I anticipated that piper-tts would be installed successfully on my macOS system without issues related to its dependencies.

Actual Behavior

The installation process is halted because there isn't a macOS-compatible wheel or source distribution available for piper-phonemize version 1.1.0.

Additional Information

When inspecting the PyPI page for piper-phonemize 1.1.0, it's evident that wheels are available for Linux (manylinux) for Python versions 3.9, 3.10, and 3.11, but no distributions are present for macOS.

Questions

  1. Is the lack of a macOS distribution for piper-phonemize 1.1.0 a known issue?
  2. Are there plans to release a macOS-compatible wheel or source distribution for this version?
  3. As I am keen to use piper-tts on macOS, is there a recommended workaround or alternative version that I can utilize in the interim?

Thank you for your prompt attention to this matter!

wdebusschere commented 1 year ago

@gabrielgq I have exact the same problem.

Salvakiya commented 1 year ago

same problem with python 3.11.4 on windows 11 x64

nafets33 commented 1 year ago

same here, I attempted docker image but also ran into issues : (

tuxpoldo commented 1 year ago

Maybe related to rhasspy/piper-phonemize#11 ? When merged, check if this fixes the issue.

eshack94 commented 1 year ago

Seeing the same issue on MacOS.

Wonder if this is the result of version schemas changing recently.

The previous release v1.2.0, but the latest release is 2023.9.27-1. A similar version schema change has happened for piper-phonemize recently.

Wonder if the dependency resolution lists in requirements.txt need to be updated to account for it.

FWIW, I also noticed the latest version available on PyPi is v1.2.0, whereas I'd expect it to match the latest release on GitHub. The latest version of piper-phonemize on PyPi is v1.1.0. That might also be something to look into, in case something is funky with the GitHub workflow config, or the GitHub <> PyPi integration

Sendery commented 1 year ago

Seeing the same issue on MacOS when installing with pip.. I'm going to try it compiling from source

williamcorney commented 1 year ago

@Sendery Any luck ?

Same problem. I will post if I can figure out a solution

rmcpantoja commented 1 year ago

Piper phonemize is already for Windows and mac but we only need a Python wheel. I tried to build it but failed.

Aptronymist commented 1 year ago

Yeah, same on my windows. A shame, I really wanted to try this out!

rmcpantoja commented 1 year ago

Hi @Aptronymist, you can try without Python API, just download the last asset in the releases page.

Aptronymist commented 1 year ago

Hi @Aptronymist, you can try without Python API, just download the last asset in the releases page.

Oh I got that , just wanted to be able to use it with python too.

Sendery commented 1 year ago

@williamcorney I did compile it, or I think... I did have to download the piper-phonemize into the lib folder. I download a few architectures (macos-aarch64 and Linux-arm64) The compilation work and it generated a few executables in the build folder, it even past the single test during compilation. The piper executable wasnt install in any "bin" or "script" folder of the system that i notice I did continue anyway and downloaded a few models and try the piper executable with the "echo .... | piper ... " command When executing the piper executable in the build folder it reports: /usr/share/espeak-ng-data/phontab': No such file or directory But that folder was used during compilation from: piper/install/espeak-ng-data/phondata I did try to link, copy and move... to that path the folder, but I couldnt due to MacOS folder system (or thats what i thought, Im not very expert on MacOS) And I dont know if I can set piper to use anohter path.

I install espeak-ng with ports but didnt do the trick either.

For the moment I'm stuck.

PS: The test generate a wav file that has speech... so It must work somehow... I think

kerwinkfs commented 1 year ago

Same problem with my man as well.

nickolay commented 1 year ago

I posted steps that worked for me to https://github.com/rhasspy/piper-phonemize/issues/14

willwade commented 6 months ago

if you need to work around this download the wheel: https://github.com/rhasspy/piper-phonemize/issues/14#issuecomment-2094395478 so

pip install piper_phonemize-1.1.0-cp311-cp311-macosx_11_0_arm64.whl
pip install piper-tts
jtoy commented 5 months ago

I also can't get it working on macbook pro m1: The conflict is caused by: piper-tts 1.2.0 depends on piper-phonemize~=1.1.0 piper-tts 1.1.0 depends on piper-phonemize~=1.0.0

jdeltoft commented 3 months ago

You might try using pipx. I followed this approach after seeing it mentioned in the error the Mac reports. I did this and then had no issues using piper in python as listed in piper's README

I also read up a bit here: https://mac.install.guide/python/pipx

image
zeroows commented 2 months ago

@jdeltoft

I'm getting

pipx install piper-tts
Collecting piper-tts
  Downloading piper_tts-1.2.0-py3-none-any.whl.metadata (776 bytes)
INFO: pip is looking at multiple versions of piper-tts to determine which version is compatible with other requirements. This could take a while.
  Downloading piper_tts-1.1.0-py3-none-any.whl.metadata (776 bytes)

The conflict is caused by:
    piper-tts 1.2.0 depends on piper-phonemize~=1.1.0
    piper-tts 1.1.0 depends on piper-phonemize~=1.0.0

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip to attempt to solve the dependency conflict

PIP STDERR
----------
ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts