# All
* Bug fixes.
* Lexicon updates.
# Linux
* Support for AppImage
* Debian 12 and Fedora 38 clients use `pw-cat` from the pipewire-bin package to improve the latency of audio playback on low end systems.
* Speech toggling worked correctly with `localhost` speech servers on Ubuntu 22.04 LTS but not with Debian or Fedora. Now when using Debian 12 and Fedora 38 and related platforms, the click to toggle off function of the application works as expected with system packages and AppImage packages.
* Remove Festival voice support from the docker OpenTTS client, because the OpenTTS server does not work consistently with Festival across all supported platforms. OpenTTS Flite voices are a fast and reliable alternative.
* Change the client’s timeout terminal troubleshooting message when a speech server unexpectedly fails.
## Mimic 3
The [Mimic 3][1] `localhost` client now supports changing the speech rate.
## Piper TTS
[Piper TTS][2] is a fast, private local neural text to speech engine.
Users can create or refine voice models based on a recording of
a voice.
This client uses the piper engine to read text aloud using Read
Text Extension with your office program.
* [Piper samples](https://rhasspy.github.io/piper-samples/)
* [Instructions](https://github.com/rhasspy/piper)
* [Download voices](https://huggingface.co/rhasspy/piper-voices/tree/main/)
### Read Selection... Dialog setup:
External program:
/usr/bin/python3
Use the first available voice.
"(PIPER_READ_TEXT_PY)" --rate 100% --language (SELECTION_LANGUAGE_CODE) "(TMP)"
Use a particular model (`auto5`) and speaker (`45`):
"(PIPER_READ_TEXT_PY)" --voice auto5#45 --rate 75% --language (SELECTION_LANGUAGE_CODE) "(TMP)"
### Install piper-tts
If you are not online, then you cannot download voice models or configuration
files. Once they are installed, piper handles speech locally.
#### Binary release
The binary release is fast.
The most recent binary `piper` executable program included in a
[piper archive](https://github.com/rhasspy/piper#installation) for your
computer's specific processor type. For example, `piper_amd64.tar.gz`
works with `x86_64` processors.
For example, for the `piper_amd64` 1.2.0 release, use the following:
python3 -c "import os;os.makedirs(os.expanduser('~/.local/share/piper-tts/'))"
wget -O ~/piper_amd64.tar.gz https://github.com/rhasspy/piper/releases/download/v1.2.0/piper_amd64.ta...
tar -xf ~/piper_amd64.tar.gz -C ~/.local/share/piper-tts/
ln -s -T ~/.local/share/piper-tts/piper/piper ~/.local/bin/piper-cli
~/.local/bin/piper-cli --version
Use the following if you do not plan to also install the python release:
ln -s -T ~/.local/share/piper-tts/piper/piper ~/.local/bin/piper
#### Python release
The python pipx package has higher latency, but the `piper` script simplifies
automating downloading the required `onnx` data and `json` configuration
files. Some Linux platforms use python versions that are incompatible or only
partially compatible with the pipx stable release of `piper-tts`.
Install the following packages:
python3-pipx
espeak-ng-data
Then use pipx to install `piper-tts`
pipx update-all
pipx install piper-tts
pipx ensurepath
piper -h
### Audition and download a voice model
You can check the voice models online.
Review the [voice model samples](https://rhasspy.github.io/piper-samples/).
The first time you use this client, it will set up a directory to store
piper voice models (`onnx`) and configuration files (`json`).
`~/.local/share/piper-tts/piper-voices`
You can download the voice and configuration files for various languages
and regions following the link on the piper-samples web page. Move the
`onnx` and `json` files to the local `piper-voices` directory.
Read the `README` file in the directory for more information
about using voice models for other languages and regions.
### System-wide installation
If you want every account on a single computer to have access to `piper`
then locate the contents of `piper_amd64.tar.gz` or the equivalent for
your computer architecture in a directory that every account has read access
to and link the `piper` application from the archive to a location that is
in every user's `PATH` environment. For example,
sudo ln -s -T /opt/piper-tts/piper/piper /usr/local/bin/piper
If this piper client does not find user installed models and configuration
files, it looks for global models and configuration files in:
/usr/local/share/piper-voices
Users can access the model in the directory from the client dialog using:
"(PIPER_READ_TEXT_PY)" --voice auto0#0 --rate 100% --language (SELECTION_LANGUAGE_CODE) "(TMP)"
If your Linux distribution includes packages to link `speech-dispatcher`
with `piper-tts`, then you can configure the `speech-dispatcher` platform
to use `piper-tts`:
"(SPD_READ_TEXT_PY)" --language "(SELECTION_LANGUAGE_CODE)" "(TMP)"
### Piper TTS Links
* [About Piper TTS](https://github.com/rhasspy/piper)
* [Piper Samples](https://rhasspy.github.io/piper-samples/)
* [Piper Voices](https://huggingface.co/rhasspy/piper-voices/tree/main)
* [Thorsten Müller - Piper Voice Training](https://www.youtube.com/watch?v=b_we_jma220)
[1]: https://mycroft-ai.gitbook.io/docs/mycroft-technologies/mimic-tts/mimic-3
[2]: https://github.com/rhasspy/piper