edge-tts and edge-tts-universal
These are ecosystem siblings—parallel implementations of the same Microsoft Edge TTS API for different runtime environments (Python vs. JavaScript), allowing developers to access identical functionality across their language of choice.
About edge-tts
rany2/edge-tts
Use Microsoft Edge's online text-to-speech service from Python WITHOUT needing Microsoft Edge or Windows or an API key
Leverages Microsoft Edge's cloud TTS API by reverse-engineering the WebSocket protocol it uses, providing async Python bindings alongside CLI tools (`edge-tts`, `edge-playback`) for batch synthesis. Supports 100+ neural voices across languages with prosody control (rate, pitch, volume), subtitle generation, and integrates with automation frameworks like Home Assistant.
About edge-tts-universal
travisvn/edge-tts-universal
Use Microsoft Edge's online text-to-speech service in Node.js, browsers, or any JavaScript environment WITHOUT needing Microsoft Edge or Windows or an API key
Replicates Microsoft's WebSocket protocol with custom headers (Sec-WebSocket-Version, MUID authentication) and timing-aware chunk synthesis, working across Node.js, Deno, Bun, and edge runtimes via Web standard APIs. Offers multiple entry points (Universal, Node.js-optimized, Browser, WebWorker) with tree-shakable imports, from ~30KB gzipped for browser-only to ~46KB for full Node.js functionality, plus streaming APIs with metadata events (WordBoundary, SentenceBoundary) for subtitle synchronization.
Related comparisons
Scores updated daily from GitHub, PyPI, and npm data. How scores work