Read Text-0.8.66

Extension:
Extension ID:
ca.bc.vancouver.holgate.james.readtextextension
Release date:
28/05/2023 - 19:13
Version:
0.8.66
Operating system:
Linux, Linux x86-64, MacOS X, System Independent, Windows
Compatibility:
3.4
Binary type:
OpenOffice extension (.oxt)
Release Notes: 

All
---
* Bug fixes
* Updated lexicons

MacOS
-----

* Support for `pipx` (python `pip` using a virtual environment manager)
* Better support for user installed `pip3` libraries

Linux
-----

+ Support for `pipx` (python pip using a virtual environment manager). The `pipx` library allows you to install and run python applications in isolated environments. The `pipx` program replaces `pip3` in Debian 12 and its derivatives.
+ Support for developer-oriented speech servers – [Mycroft Mimic3][1] and [CoquiAI TTS][2].
+ You can tell if the speech server is installed correctly if you can open a sample speech synthesis page in your web browser.
+ Use either server using an option that includes the string `"(NETWORK_READ_TEXT_PY)" --language "(SELECTION_LANGUAGE_COUNTRY_CODE)" "(TMP)"` in the Read Text Extension main dialog.
+ You can install `spacy` with `pipx` to reduce latency when using a local speech server with a long text selection. The `spacy` python library can intelligently split up long text selections into sentences.

### Mycroft Mimic3

[**Mimic3**][3] is a fast local neural text to speech engine for amd64, arm64 and armv7l processors. It’s available as an `apt` package for Debian or as a [docker.io][4] image.

+ The documentation tells how to set up a Mimic3 server using the Debian deb package manager or a docker.io application.
+ To test it out, use `mimic3-server`
+ Once installed you can test the server and install voice models by using a web browser to open a local webpage.
+ If you use the Read Text Extension dialog as described above, then the extension will try using `mimic3-server` first.
+ If you prefer normally the system’s `speech-dispatcher` voice as your main speech manager and Mimic for a secondary language, then use `"(SPD_READ_TEXT_PY)" --language "(SELECTION_LANGUAGE_COUNTRY_CODE)" --voice "AUTO" "(TMP)"` in the main menu. The `"AUTO"` voice name enables using the local `mimic3-server` for languages that the system’s `speech-dispatcher` does not support directly.
+ The instructions for Mimic3 describe how to set up `speech-dispatcher` to use `mimic3` by default. In this case, you can omit the `AUTO` voice (i. e.: `"(SPD_READ_TEXT_PY)" --language "(SELECTION_LANGUAGE_COUNTRY_CODE)" "(TMP)"`)

Read Mimic3 [documentation][5] and [requirements][6] for more details.

### CoquiAI TTS

[**CoquiAI TTS engine**](https://github.com/coqui-ai/TTS/pkgs/container/tts-cpu)
is a deep learning toolkit for Text-to-Speech, mainly intended for use in research and production services. It includes a tool called `tts-server` that uses a local http service to allow web browsers and other programs that can connect to a local http server to convert text to speech. With the Read Text Extension network client you can check how new TTS models work with real world text. See `tts-server --help`

A server instance only serves one model at a time, but you can specify the
language by selecting a model that includes the iso language code for
the language in the model name.
See `tts-server --list_models`

If you do not specify a model, then the server uses a female `en-US`
model by default.

Example server commands

* **Default** `tts-server`
* **English** `tts-server --model_name tts_models/en/vctk/vits`
* **French** `tts-server --model_name tts_models/fr/css10/vits`

Check the documentation for specific hardware and software requirements. Some voice models require system files that are not explicitly stated in the documentation. Best practice is to use `TTS` python libraries in a virtual environment by installing `TTS` using `venv`, `pipx` or `docker.io` tools. You can use the web page interface to test if the server works and if there are any problems with a particular voice model. If a model does not work at all, run the `tts-server` program in a command window and note any error messages that mention missing libraries or system packages.

Read Text Extension's python `TTS` client uses a few additional system packages - `python3-bs4`, `python3-pip`, `pipx` and `espeak-ng`. On supported Ubuntu distributions you can use:

sudo apt-get install python3-bs4 python3-pip pipx espeak-ng

To troubleshoot the server and the client, you can see information and error messages when you run the server and office program using separate terminal windows.

* **Server** `tts-server --model_name tts_models/en/vctk/vits`
* **Client** `/usr/bin/libreoffice`

Enable Coqui.ai TTS server in the office program using the main Read Text Extension dialog with

"(NETWORK_READ_TEXT_PY)" --language "(SELECTION_LANGUAGE_COUNTRY_CODE)" "(TMP)"

If you prefer normally the system’s `speech-dispatcher` voice as your main speech manager and `tts-server` for an unsupported secondary language, then use

"(SPD_READ_TEXT_PY)" --language "(SELECTION_LANGUAGE_COUNTRY_CODE)" --voice "AUTO" "(TMP)"`

Read [CoquiAI TTS Documents][7] and [CoquiAI GitHub pages][8] for more details about the CoquiAI project and `tts-server`.

[1]: https://mycroft.ai/mimic-3/
[2]: https://coqui.ai
[3]: https://github.com/MycroftAI/mimic3
[4]: https://www.docker.com/support/
[5]: https://mycroft-ai.gitbook.io/docs/mycroft-technologies/mimic-tts/mimic-...
[6]: https://raw.githubusercontent.com/MycroftAI/mimic3/master/requirements.txt
[7]: https://tts.readthedocs.io/en/latest/
[8]: https://github.com/coqui-ai/TTS/tree/dev