edge-tts-universal and edge-tts-client
The two tools are ecosystem siblings: one is a universal implementation of Edge TTS capable of running in various JavaScript environments, while the other is a client-side (web browser) specific implementation that likely leverages or is a simplified version of the TTS capabilities, making them related parts of the same ecosystem for accessing Edge's text-to-speech.
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 edge-tts-client
travisvn/edge-tts-client
Client-side (web browser) implementation of Edge TTS package — Microsoft Edge Read Aloud API called to generate free text-to-speech
Provides real-time audio streaming with configurable prosody controls (pitch, rate, volume) through an EventEmitter-based API, and supports multiple output formats from MP3 to Opus. Built in TypeScript with dual Node.js/browser compatibility, it uses WebSocket connections to communicate with Microsoft's Edge TTS API. The package exposes SSML synthesis capabilities through a `ProsodyOptions` interface, allowing fine-grained control over speech synthesis parameters.
Related comparisons
Scores updated daily from GitHub, PyPI, and npm data. How scores work