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.5a1
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.5a1.tar.gz | 14.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ovos_tts_plugin_edge_tts-0.3.5a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.6 kB
Release files / ovos_tts_plugin_edge_tts-0.3.5a1.tar.gz
| Download URL | ovos_tts_plugin_edge_tts-0.3.5a1.tar.gz |
|---|---|
| Size | 14.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7482541ec7118b53f30f2632a1a4aafc5d645d6992e592f447367ccab2f84b4f
|
|
BLAKE2b-256 checksum How to use checksums |
2c05183a1d1e4ef1f1145bae5f78ae0467c6b1656de8ab9a355de3008baa5f21
|
| 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.5a1-py3-none-any.whl
| Download URL | ovos_tts_plugin_edge_tts-0.3.5a1-py3-none-any.whl |
|---|---|
| Size | 12.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
787fcd7d65cd37276a4a10b237a2336a2968a147588b2a613e406b713afa7c47
|
|
BLAKE2b-256 checksum How to use checksums |
92611fdd964c0ce5f4ac4c71ea34dbda67ee0c49c3b44c2fa8e5c3d7fadf6933
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|