ovos-tts-plugin-edge-tts

August 1, 2026 · View on GitHub

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.

License

Apache-2.0. See LICENSE.txt.