FluentVoice Pro is my free, open-source text-to-speech tray app for Windows 11 and 10: select or copy text anywhere, press a hotkey, and it reads it aloud with natural Microsoft online voices, offline HD voices (Piper and Kokoro) or the built-in Windows voices. Version 1.6.3 is out, and it's mostly about one thing: the online voices stopped working for a lot of people this year, and now they work again.
Here's the 75-second tour of what's new (the real app, real voices; sound on):
The Microsoft online voices work again
FluentVoice, like many apps, uses edge-tts to reach the same neural voices Microsoft Edge uses for Read Aloud. In 2026 Microsoft's classic endpoint started answering many users with HTTP 403 (edge-tts #490), for every edge-tts based app, and there's no upstream fix yet. FluentVoice already fell back to an offline voice when that happened, so you still heard the text, just not with the voice you picked.
1.6.3 fixes it on our side. When the classic server refuses with a 403, FluentVoice points edge-tts at Microsoft's newer server for the same voices (api.msedgeservices.com) and keeps using it for the rest of the session. A few details:
- edge-tts itself isn't modified (it's LGPL, and I want to drop the workaround the day upstream ships a fix). It reads its websocket URL at connect time, so the switch is one assignment behind a lock.
- It only reacts to a real 403. Timeouts, DNS errors or "no audio" keep their existing handling, so a flaky Wi-Fi doesn't move you to a different server.
- I tested all 80 online voices in 22 languages on the new server: every one answered, with a median of about 1.1 s to first audio.
- One lesson from CodeQL: the new server's URL carries a client key, so the log line names the host only and never the full URL.
Every language, the right voice
Two language-detection fixes:
- Chinese, Japanese and Korean text with English names is detected correctly. "欢迎使用 FluentVoice Pro" used to count as English, because one CJK character weighed as much as one Latin letter. Each CJK character now counts like a short word, and a test checks that every language's sample sentence is detected as that language.
- Languages FluentVoice has no voices of its own for (Dutch, Polish, Turkish, Swedish, Vietnamese, Finnish, Greek and more) are read by a Multilingual voice instead of an English one, and Settings shows the real name ("Lang: Dutch (Multilingual voice)"). Short snippets keep the current voice, and text the detector isn't sure about still counts as English.
New: a health check that tells you what to fix
When a TTS app goes quiet, the user usually can't tell whether it's their internet, a firewall, Microsoft, the audio device or a hotkey that another app grabbed. Settings → About & Developer now has a Components & sources panel:
- Test providers runs live checks of the online voices, the offline HD voices, the Windows voices, the tray and hotkeys, the audio output and the last 24 hours of errors in the log. Each problem comes with a plain-language diagnosis, what to do, and the alternatives: "not connected to the internet" is told apart from "a firewall blocks the voice server" and from "Microsoft refuses the connection".
- Verify / repair offline voices re-hashes every downloaded Piper / Kokoro file against the SHA-256 pinned in the app, and offers to download damaged ones again, only from the official hosts.
- Components lists the version, licence and source of everything FluentVoice is built from.
Everything else, at a glance
Still there from earlier releases: 57 offline HD voices in 16 languages that never send text anywhere, an Offline-only privacy mode, a hotkey that reads your selection (and an optional Stop hotkey), voice fallback that returns to online by itself, single-stream playback so voices never overlap, and a release pipeline with attested builds and SHA256SUMS.txt.
The full 5-minute tour of the app is here: https://youtu.be/jpwKR2xFVRA
Get it (free)
- Microsoft Store: https://apps.microsoft.com/detail/9N293MJ0MD9F (updates automatically; 1.6.3 arrives after Microsoft's certification)
- GitHub release: https://github.com/nickotmazgin/fluentvoice-pro/releases/tag/v1.6.3 (source ZIP, portable EXE, MSIX, all attested)
-
Scoop:
scoop bucket add nickotmazgin https://github.com/nickotmazgin/scoop-bucket, thenscoop install nickotmazgin/fluentvoicepro
Source, changelog and screenshots: https://github.com/nickotmazgin/fluentvoice-pro · Release notes and questions: https://github.com/nickotmazgin/fluentvoice-pro/discussions/66
If you build on edge-tts and hit the 403, the failover is about 50 lines in fluentvoice/core.py; feel free to borrow the idea. Feedback and bug reports are welcome in the comments or on GitHub.



Top comments (0)