Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.
Syedoaun opened this issue ยท 48 comments
pip install piper-tts
Collecting piper-tts
Using cached 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.
Using cached piper_tts-1.1.0-py3-none-any.whl.metadata (776 bytes)
ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.
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:
- loosen the range of package versions you've specified
- remove package versions to allow pip attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
I had this problem too, I was able to get around it by installing python v3.10.12 and using that in a virtual environment. Otherwise I could not find any way to get it to work with my main system python v3.12.3. It seems this trick doesn't work for everyone but it did work for me on Arch Linux.
Same issue here... even with python v3.10.12 I still having the issue on my mac m1. I don't know if this can affect
(venv31012) [jesus@Jesus-MBP](aks-uat-shared-app)(apps)scrapper (master)% python --version
Python 3.10.12
(venv31012) [jesus@Jesus-MBP](aks-uat-shared-app)(apps)scrapper (master)% pip install --no-cache-dir 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)
ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.
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 attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
However, on a docker container based on python:3.10-slim
it works
Also on Arch Linux, I have to use micromamba to install Python 3.11. Related rhasspy/piper-phonemize#33.
I have similar issue
~/Documents/projects/umbrella โฏ uv pip install piper-tts Py umbrella 23:26:11
ร No solution found when resolving dependencies:
โฐโโถ Because only the following versions of piper-phonemize are available:
piper-phonemize<=1.0.0
piper-phonemize>=1.1.dev0
and piper-phonemize==1.0.0 has no wheels are available with a matching Python ABI, we can conclude that piper-phonemize<1.1.dev0 cannot be used.
And because piper-tts==1.1.0 depends on piper-phonemize<1.1.dev0 and only the following versions of piper-tts are available:
piper-tts==1.1.0
piper-tts==1.2.0
we can conclude that piper-tts<1.2.0 cannot be used. (1)
Because only the following versions of piper-phonemize are available:
piper-phonemize<=1.1.0
piper-phonemize>=1.2.dev0
and piper-phonemize==1.1.0 has no wheels are available with a matching Python ABI, we can conclude that piper-phonemize>=1.1.0 cannot be used.
And because piper-tts==1.2.0 depends on piper-phonemize>=1.1.0, we can conclude that piper-tts==1.2.0 cannot be used.
And because we know from (1) that piper-tts<1.2.0 cannot be used, we can conclude that all versions of piper-tts cannot be used.
And because you require piper-tts, we can conclude that the requirements are unsatisfiable.
hint: piper-phonemize was requested with a pre-release marker (e.g., piper-phonemize>1.0.0,<1.1.dev0), but pre-releases weren't enabled (try: `--prerelease=allow`)
I have this problem using python 3.11.9
Collecting piper-tts
Using cached 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.
Using cached piper_tts-1.1.0-py3-none-any.whl.metadata (776 bytes)
ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.
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 attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts```
problem with python 3.10.11
Collecting piper-tts
Using cached 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.
Using cached piper_tts-1.1.0-py3-none-any.whl.metadata (776 bytes)
ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.
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:
- loosen the range of package versions you've specified
- remove package versions to allow pip attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
I still have this problem with python 3.11.6
Collecting piper-tts
Using cached 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.
Using cached piper_tts-1.1.0-py3-none-any.whl.metadata (776 bytes)
ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.
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 attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
I am having this as well on a Mac with python 13.10.12
I'm having this issue with both Python 3.11 and 3.9 on Windows. Downloading and running the piper windows binary works fine, but having the package installed would be better for my projects.
My "workaround" at the moment is a Dockerfile using the python:3.9-slim image. I then run apt-install for "libportaudio2" and "libsndfile1" (not sure if these are even needed tbh), and then ensuring piper-tts is installed via pip (I have a requirements.txt file for this).
Same problem here, python 3.12.4 on Ubuntu.
same problem Python 3.11.5
I am having same problem with pipx
(virtuenv pip
) executing pipx install piper-tts
in voidlinux with Python 3.12.4.
$ pipx install piper-tts
Fatal error from pip prevented installation. Full pip output in file:
/home/zenny/Downloads/voidrice/.local/pipx/logs/cmd_2024-07-29_10.44.37_pip_errors.log
pip seemed to fail to build package:
piper-tts
Some possibly relevant errors from pip install:
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
Error installing piper-tts.
The log states the same:
$ cat /home/zenny/Downloads/voidrice/.local/pipx/logs/cmd_2024-07-29_10.44.37_pip_errors.log
PIP STDOUT
----------
Collecting piper-tts
Using cached 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.
Using cached 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 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
This appears to be an outstanding reproducible issue. Thanks.
Cheers,
Having the same issue on Windows 10 with a fresh install of Windows and Python 3.10.6. I had previously tried with Python 3.11 and 3.12 which gave the exact same conflict error, so I did a system wipe and reinstalled just one runtime to see if it was some kind of orphaned package conflicting on the old system.
C:\Windows\system32>pip install piper-tts
Collecting piper-tts
Downloading piper_tts-1.2.0-py3-none-any.whl (29 kB)
Collecting onnxruntime<2,>=1.11.0
Downloading onnxruntime-1.18.1-cp310-cp310-win_amd64.whl (5.6 MB)
---------------------------------------- 5.6/5.6 MB 27.4 MB/s eta 0:00:00
Collecting piper-tts
Downloading piper_tts-1.1.0-py3-none-any.whl (27 kB)
ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.
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 attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
This is such an awesome project. I really hope we can get python 3.12 support soon.
Thx for sharing your efforts.
Same issue on Mac M2 with python 3.9, 3.10, 3.12.
โฏ pip install piper-tts
Collecting piper-tts
Using cached 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.
Using cached piper_tts-1.1.0-py3-none-any.whl.metadata (776 bytes)
ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.
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 attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
Windows 10 python 3.11.7
(env) PS A:\ai\piper> pip3 install piper-tts
Collecting piper-tts
Using cached 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.
Using cached piper_tts-1.1.0-py3-none-any.whl.metadata (776 bytes)
ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.
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
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
Many users are having similar install issues across many different platforms. Most suggest some workaround including building from source, which is obviously a bad user experience. I personally was able to install by downgrading python on the latest Ubuntu. I had to switch from using 32 bit to 64 bit in order to get it working on Raspberry PI OS Lite. Maintainers need to prioritize these issues so that new users are able to use their software.
piper is dead, broken for months, last release 2023, switch to something else
One solution here in case it helps anyone is upgrading your OS version.
Longer more detailed explanation for those who want to understand more:
If you take a look at the uploaded package identifiers for piper-phonemize
:
https://pypi.org/project/piper-phonemize/#files
you can see that most of the package identifiers have the formats such as:
CPython 3.11 manylinux: glibc 2.28+ x86-64
In this example, we can see that the requirements needed to install that specific version of the package are:
- Python 3.11
- glibc 2.28+
- A 64-bit OS
Other wheels available appear to support python version 3.9, 3.10, and mac OS architectures, but the main thing here for folks installing piper-tts
(and subsequently the piper-phonemize
dependency) on linux OS variations is going to be that glibc 2.28+
requirement.
glibc
is the GNU C Library that is built into most linux distros and in many cases it is a core part of the system itself so it can't be upgraded independently of the OS.
Here are a few debugging methods that can be used in situations like this:
# This command can be used to print information that includes the
# python package tags your system supports:
pip debug --verbose
# Example output:
...
Compatible tags: 689
cp311-cp311-manylinux_2_27_x86_64
cp311-cp311-manylinux_2_26_x86_64
cp311-cp311-manylinux_2_25_x86_64
cp311-cp311-manylinux_2_24_x86_64
cp311-cp311-manylinux_2_23_x86_64
...
Another useful one is installing packages verbosely. This output is helpful because it tells you exactly what packages were skipped for installation and why:
pip install -vvv piper-phonemize
# Sample output:
...
Fetched page https://pypi.org/simple/piper-phonemize/ as application/vnd.pypi.simple.v1+json
Skipping link: none of the wheel's tags (cp310-cp310-manylinux_2_28_aarch64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/41/e8/ae6a5f5d23b7f35d29927bedc796e50d9c41ff03a2e3267100bdaeb3ba09/piper_phonemize-1.0.0-cp310-cp310-manylinux_2_28_aarch64.whl (from https://pypi.org/simple/piper-phonemize/) (requires-python:>=3.7)
...
The easiest way to check what version of glibc
your system has installed is to run:
ldd --version
# Example output from my old Raspberry Pi where installs where failing:
ldd (Ubuntu GLIBC 2.27-3ubuntu1.6) 2.27
The python version can also be helpful to check:
python3 --version
# Python 3.7.3
The last note I'll include is that you can look up what glibc
versions come with each OS release. You can check what OS version you have available by running lsb_release -a
and it should return some sort of output like this:
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster
These are the python and glibc
versions that a few common linux distros will have:
OS | Python | glibc |
---|---|---|
Debian 12 (bookworm) | 3.11 | 2.36 |
Debian 11 (bullseye) | 3.9 | 2.31 |
Debian 10 (buster) | 3.7 | 2.28 |
Ubuntu 20.04 | 3.8 | 2.31 |
Ubuntu 18.04 | 3.6 | 2.27 |
More for debian versions (Raspberry Pi OS will match these):
In the cases I ran into while testing this on different systems I found that generally either my Python version was too old or my glibc
version was outdated. After upgrading my Raspberry Pi from buster
to bookworm
I can confirm that the installation was successful:
pip install piper-tts
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting piper-tts
Downloading piper_tts-1.2.0-py3-none-any.whl (29 kB)
Collecting piper-phonemize~=1.1.0
Downloading piper_phonemize-1.1.0-cp311-cp311-manylinux_2_28_aarch64.whl (24.5 MB)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 24.5/24.5 MB 852.6 kB/s eta 0:00:00
...
Successfully installed numpy-2.1.0 onnxruntime-1.19.0 piper-tts-1.2.0
I suspect one way to add support for a wider range of linux distros might be to add a build arg to the piper-phonemize
build https://github.com/rhasspy/piper-phonemize/blob/master/Dockerfile#L1 so that distributions older than debian bullseye
can be used. But that being said, glibc
compatibility is not just something that effects piper-tts
- its has widespread effects across the software development community and ecosystem (microsoft/vscode#203375 for example). It might be better in the long run to direct people towards the path of upgrading so they can also benefit from the availability of newer python and OS versions.
There are still commits flowing in, so I wouldn't throw in the towel just yet unless there's a more compelling alternative.
It's frustrating to deal with this after upgrading ubuntu. Python environment anxiety ranks high on my list of things I hate dealing with. Hopefully the pipe team will see this as CRITICAL issue to fix.
One solution here in case it helps anyone is upgrading your OS version.
This advice seems to be opposite of that is going on in my experience. I have to use an old version of Python (3.10.12) in order to get it work, anything newer doesn't seem to work. Anyone on an Arch-based or other rolling release distro is already going to have the newest packages, and downgrading is your only hope... if you are lucky and it works for you.
same issue, Python 3.12.6, Arch Linux.
Using gtts-cli instead, which isn't great but does the job I guess for now.
edit: now I'm also using piper with Python 3.11 through docker. Very complicated but thankfully there is AI to help with it.
As an additional data point regarding python versions, etc., building a non-system install of python 3.10.15 (so just have it live under $HOME
somewhere) and using that worked here on Ubuntu 24.04.01.
Less paranoid folks might just go for using uv
(^^;
Summary below.
# prerequisites...python's make install can fail without zlib (libz-dev)
# sorry, only for .deb-based systems
sudo apt update
sudo apt install build-essential git gcc make \
libncurses-dev libgdbm-dev libz-dev tk-dev \
libsqlite3-dev libreadline-dev liblzma-dev \
libffi-dev libssl-dev
# build and install python 3.10.x -- wasn't crazy about using a pre-built python from somewhere other than the distribution in use
git clone --depth 1 --branch 3.10 https://github.com/python/cpython
cd cpython
git checkout 3.10
# --prefix=$HOME/.local not great because python lacks make uninstall
./configure --prefix=$HOME/python3.10 \
--enable-optimzations --with-lto \
--with-computed-gotos --with-system-ffi
make -j "$(nproc)"
make install
# make appropriate venv and activate
cd ~
export PATH=$HOME/python3.10/bin:$PATH
python3 -m venv piper
source piper/bin/activate
# install piper-tts
pip install piper-tts
# fetch voice info and generate sample audio
echo 'yes, sample audio' | piper \
--model en_US-joe-medium \
--output_file sample.wav
Here are 2 ways to I used to install using pip, first with conda:
conda create -n py310-piper python=3.10 -y
conda run -n py310-piper pip install piper-tts
conda run -n py310-piper bash -c 'echo "Welcome to the world of speech synthesis!" | piper -m en_US-hfc_male-medium.onnx --output-raw | aplay -r 22050 -f S16_LE -t raw -'
second with Docker/Podman:
cat <<EOF> containerfile
FROM python:3.10-slim
RUN pip install piper-tts
ENTRYPOINT ["/usr/local/bin/piper"]
EOF
podman build -t piper -f containerfile
echo "Welcome to the world of speech synthesis" | podman run --rm -i -v ~/Downloads:/piper piper -m /piper/en_US-hfc_male-medium.onnx --output-raw | aplay -r 22050 -f S16_LE -c 1 -t raw -
Here are 2 ways to I used to install using pip, first with conda:
conda create -n py310-piper python=3.10 -y conda run -n py310-piper pip install piper-tts conda run -n py310-piper bash -c 'echo "Welcome to the world of speech synthesis!" | piper -m en_US-hfc_male-medium.onnx --output-raw | aplay -r 22050 -f S16_LE -t raw -'
This method does not overcome the dependencies conflict and throws the same error. piper-tts fails to load.
Possible solution from Dave Xanatos
wget https://github.com/rhasspy/piper/releases/download/v1.2.0/piper_arm64.tar.gz
tar -xvzf piper_arm64.tar.gz
Same issue here. Using windows 11, tried it on python 13, 11, 10, and 8. No luck.
`ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.
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:
- loosen the range of package versions you've specified
- remove package versions to allow pip to attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts`
I also tried installing piper-phonemize directly to fulfill the requirement.
pip install piper-phonemize gives this:
ERROR: Could not find a version that satisfies the requirement piper-phonemize (from versions: none) ERROR: No matching distribution found for piper-phonemize
I tried specifying the version number: pip install piper-phonemize==1.1.0
And pip install https://github.com/rhasspy/piper-phonemize.git
And downloading the .tar.gz file and doing this: pip install C:\piper-phonemize-2023.11.14-4.tar.gz
None of that worked.
I have installed it successfully on a Rpi4B:
Os 64-bit Lite, on the 32-bit version, didn't work.
- Python 3.11.2 (sudo apt install python3.11)
- glibc 2.36
- OS: 64bit
DO NOT INSTALL ON 32-bit system!
Same windows11 Python 3.11.9 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:
- loosen the range of package versions you've specified
- remove package versions to allow pip to attempt to solve the dependency conflict
I had this problem too, I was able to get around it by installing python v3.10.12 and using that in a virtual environment. Otherwise I could not find any way to get it to work with my main system python v3.12.3. It seems this trick doesn't work for everyone but it did work for me on Arch Linux.
I used these steps to accomplish this:
sudo apt update
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.10
sudo apt install python3.10-venv
python3.10 -m venv piper
source /piper/bin/activate
python -m pip install pip==24.0
pip install piper-tts
I hope this helps anyone else with the issue!
@synesthesiam fix this issue and my life is yours!
on this article for windows WSL install
#24
mentions a full pip list, that might help you troubleshoot conflicting packages in your case.
can be used to recreate a full, explicit requirements.txt, then re-run pip
I was able to install it on Raspberry Pi 5 with just the pip install piper-tts
Pi5 has Python 3.11.2
I was not able to install it on a Windows 10 PC with Python 3.12, same dependency conflict error reported above.
for those willing to use uv
, this works well:
uv tool install --python 3.11 piper-tts==1.2.0
From what I've looked at, this error is caused by the absence of a wheel build for python3.12 of piper-phenomize manylinux. And maybe piper-tts too, but I don't think pip gets that far.
Since this is the version shipped with ubuntu 24.04 (among others) this problem is now extremely common. And rhasspy hasn't issued a fix. This project might be dead, and in need of a new maintainer.
I haven't figured out how to build an updated wheel file, but HERE Someone has, and made one available. Which is now a 404 error - thanks linkrot.
Other solutions may include downgrading python to 3.11, (which doesn't work for me) installing a previous version of your OS (which I'm not going to try) and restarting with a clean environment.
The incantation for downgrading python should be "pip install python==3.11" though that didn't work for me. In theory, maybe conda works better than pip in managing python versions? Worth trying maybe.
Hopefully I'll be able to build one eventually, and post it here, but no promises. If it's not here yet, you're more than welcome to build it yourself. If you do so successfully, PLEASE post it here so I don't have to figure out more of this crap.
Other solutions may include downgrading python to 3.11, (which doesn't work for me) installing a previous version of your OS (which I'm not going to try) and restarting with a clean environment.
FWIW, the impression I get is that 3.10 is more likely to work.
Hello Guys I faced with the same problems, so piper-phonemize for some reasons is not avaiable on pip distribution repo, so need to install alone before to install piper-tts. here the link where can be found the *.whl files.
https://pypi.org/project/piper-phonemize/#files
choose the *whl file right for your system and -> pip install *.whl.
After -> pip install piper-tts and all will go without problems.
https://pypi.org/project/piper-phonemize/#files choose the *whl file right for your system
Alas, the only 3.12 compatible build is for macos for some reason. (Presumably this is the source of this whole issue.)
I was able to get piper-tts installed on the latest Ubuntu LTS under python3.12 by simply downloading an older version of the project from github and changing one line of the Dockerfile to compile a python 3.12 version. Here are the exact commands I issued in order (since it builds with docker, this should be fairly independent of your particular environ?). I did these as a regular user, not root. You will need to have docker-buildx installed and your user must be in the docker group:
-
git clone https://github.com/rhasspy/piper-phonemize.git
-
cd piper-phonemize
-
git checkout 20554f24f807146fcf183f4a22ac10e9f24c9f45 # Last checkin with 1.1.0 tag?
-
vi Dockerfile # Add (it's obvious where): /opt/python/cp312-cp312/bin/pip wheel . && \
-
docker buildx build . -t piper-phonemize --output 'type=local,dest=dist'
-
cd dist
-
pip install piper_phonemize-1.1.0-cp312-cp312-manylinux_2_28_x86_64.whl
-
pip install piper-tts
Thanks @brandyn this worked for me. I was also using python 3.12
Not sure if this helps, but I got piper-tts to work on mbp m2, Python 3.12.4 using:
pip install piper-tts --no-deps piper-phonemize-cross onnxruntime numpy
Source: #395
piper is dead, broken for months, last release 2023, switch to something else
Do we have an alternative for devices that don't have proper GPU?
@requizm probably https://github.com/k2-fsa/sherpa-onnx is useful to you
Can't anyone fix this ? That's a bummer. Piper is the most useful TTS lib that's fast and offline...
If anyone cares, these were the steps i used for WSL2 in windows 11
You might have to improv a bit, but this should get you pretty close. i probably didnt take perfect notes.
wsl --update
wsl --set-default-version 2
wsl --install Ubuntu-22.04
sudo apt update
sudo apt dist-upgrade -y
sudo apt install python3-dev python3.10-venv espeak-ng ffmpeg build-essential -y
cd ~/
git clone https://github.com/rhasspy/piper-recording-studio.git
python3 -m venv ~/piper-recording-studio/.venv
cd ~/piper-recording-studio/
source ~/piper-recording-studio/.venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
python3 -m pip install -r requirements_export.txt
python3 -m piper_recording_studio
python3 -m export_dataset output/en-US/ ~/piper-recording-studio/my-dataset
deactivate
cd ~/
git clone https://github.com/rhasspy/piper.git
python3 -m venv ~/piper/src/python/.venv
cd ~/piper/src/python/
source ~/piper/src/python/.venv/bin/activate
python3 -m pip install pip==24.0
python3 -m pip install --upgrade wheel setuptools
python3 -m pip install -e .
sudo bash ~/piper/src/python/build_monotonic_align.sh
python3 -m pip install torchmetrics==0.11.4
sudo apt install nvidia-cuda-toolkit
pip install numpy==1.26.4
conda ๆ ๆณๅฎ่ฃ
python 3.11 /3.10/3.9
ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.
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:
- loosen the range of package versions you've specified
- remove package versions to allow pip to attempt to solve the dependency conflict
Collecting piper-tts
Using cached 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.
Using cached piper_tts-1.1.0-py3-none-any.whl.metadata (776 bytes)
ERROR: Cannot install piper-tts==1.1.0 and piper-tts==1.2.0 because these package versions have conflicting dependencies.
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:
- loosen the range of package versions you've specified
- remove package versions to allow pip to attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
Solved this by downgrading my python to 3.10 And running with --do-deps argument
Alright all the YouTuber that taught how to use it might help maybe they have the library
I managed to install the package with uv tool install --python 3.10 piper-tts