edge-tts-universal and obsidian-edge-tts
The JavaScript library is an ecosystem sibling, providing the underlying text-to-speech functionality that the Obsidian plugin consumes to offer speech synthesis within the note-taking application.
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 obsidian-edge-tts
travisvn/obsidian-edge-tts
Free, high quality text-to-speech for your Obsidian notes, leveraging Microsoft Edge's Read Aloud API.
Supports native mobile playback on iOS and Android, queuing multiple notes for continuous narration, and generating embeddable MP3 files directly within notes. The plugin reverse-engineers Microsoft Edge's undocumented TTS API to bypass authentication, offering dozens of voices across multiple locales without requiring API keys or paid services. Integrates deeply with Obsidian's command palette, right-click context menus, and status bar while maintaining a floating playback controller with adjustable speed and loop options.
Related comparisons
Scores updated daily from GitHub, PyPI, and npm data. How scores work