This release is a pre-release and may not be stable for production use.
ovos-tts-plugin-edge-tts
A text-to-speech (TTS) plugin for OpenVoiceOS that uses Microsoft's Edge TTS engine. It streams synthesized speech from Microsoft's cloud service, so it needs network access to work.
Installation
pip install ovos-tts-plugin-edge-tts
Configuration
Add the plugin to your user config file (~/.config/mycroft/mycroft.conf):
"tts": {
"module": "ovos-tts-plugin-edge-tts",
"ovos-tts-plugin-edge-tts": {
"voice": "en-US-AriaNeural",
// =100% speed; use "+50%" for 150%, or "+100%" for 200% speech rate etc for adjusting speed
"rate": "+0%"
}
}
See the list of voices available in Edge TTS.
Many of the newer multilingual voices (from March 2024) also work with this plugin. For
example: "voice": "en-US-EmmaMultilingualNeural".
Docker (ovos-tts-server)
A container image runs the plugin as an
ovos-tts-server (ElevenLabs-compatible
API). CI builds and pushes the image to GHCR on every push to dev or master.
docker run -p 9666:9666 ghcr.io/openvoiceos/ovos-tts-plugin-edge-tts:latest
curl "http://localhost:9666/synthesize/hello%20world?lang=en-US" --output hello.wav
The served voice is baked in through the EDGE_VOICE build argument (default
en-US-AriaNeural). Rebuild the image to change it, for example:
docker build --build-arg EDGE_VOICE=ar-SA-HamedNeural -t edge-tts .
See the bundled docker-compose.yml for a full example. Because Edge TTS streams audio
from Microsoft's cloud, the container needs network access.
When the Edge service refuses a request (an empty string, a whitespace-only
string, or text like "..." that a client filter rejects), the plugin raises
EdgeTTSNoAudioError — the single error class a caller sees, whether the
underlying edge-tts release ends the stream quietly or raises its own
NoAudioReceived exception.
Related projects
- OpenVoiceOS/ovos-tts-server — serves this plugin (and other OVOS TTS plugins) over an ElevenLabs-compatible HTTP API.
- rany2/edge-tts — the underlying Edge TTS client library this plugin wraps.
License
Apache-2.0. See LICENSE.txt.
Metadata
Release files for ovos-tts-plugin-edge-tts 0.3.5a2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ovos_tts_plugin_edge_tts-0.3.5a2.tar.gz | 14.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ovos_tts_plugin_edge_tts-0.3.5a2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.6 kB
Release files / ovos_tts_plugin_edge_tts-0.3.5a2.tar.gz
| Download URL | ovos_tts_plugin_edge_tts-0.3.5a2.tar.gz |
|---|---|
| Size | 14.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
effbba7ad23c9760324cd5bbf50bfc66a65965de4612d77a58d5a4b695f023c8
|
|
BLAKE2b-256 checksum How to use checksums |
18f6d72601649e312f54287b9a88cd37aa2057a4a035911ef2635a408dae5a7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ovos_tts_plugin_edge_tts-0.3.5a2-py3-none-any.whl
| Download URL | ovos_tts_plugin_edge_tts-0.3.5a2-py3-none-any.whl |
|---|---|
| Size | 12.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e5b2cd9cf4121afec9b844ea267a050fba910446973aef66ebb72fcf33ab723c
|
|
BLAKE2b-256 checksum How to use checksums |
e0d720b77e69ab390fd34cb1b41722683f3b144c048b62149caaa6724d5778f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|