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.

edge-tts-universal
60
Established
edge-tts-client
47
Emerging
Maintenance 10/25
Adoption 8/25
Maturity 24/25
Community 18/25
Maintenance 2/25
Adoption 12/25
Maturity 18/25
Community 15/25
Stars: 59
Forks: 14
Downloads:
Commits (30d): 0
Language: TypeScript
License: AGPL-3.0
Stars: 22
Forks: 5
Downloads: 272
Commits (30d): 0
Language: TypeScript
License: GPL-3.0
No risk flags
Stale 6m

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.

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