edge-tts-universal and msedge-tts

Project A and B are **competitors**, as both are JavaScript libraries that wrap the Microsoft Edge text-to-speech API, allowing users to synthesize speech from text using various Microsoft voices without requiring an API key, thus serving the same core function.

edge-tts-universal
60
Established
msedge-tts
47
Emerging
Maintenance 10/25
Adoption 8/25
Maturity 24/25
Community 18/25
Maintenance 10/25
Adoption 13/25
Maturity 9/25
Community 15/25
Stars: 59
Forks: 14
Downloads: —
Commits (30d): 0
Language: TypeScript
License: AGPL-3.0
Stars: 19
Forks: 4
Downloads: 856
Commits (30d): 0
Language: Rust
License: MIT
No risk flags
No Package No Dependents

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.

About msedge-tts

hs-CN/msedge-tts

This library is a wrapper of MSEdge Read aloud function API. You can use it to synthesize text to speech with many voices MS provided.

Provides both synchronous and asynchronous APIs with dual client/stream architectures—clients buffer complete audio responses, while streams enable low-latency progressive audio delivery by separating send and read operations on split connections. Dynamically fetches available voices from Microsoft's service and supports configurable audio formats via serializable `SpeechConfig` objects, with multilingual text support demonstrated across Chinese and English.

Scores updated daily from GitHub, PyPI, and npm data. How scores work