You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cloud voices only via registry promotion — Azure/Edge voices are no longer enumerated dynamically. Only voices promoted via "Install Selected" (HKLM registry tokens) appear in SAPI. This fixes Grid3 and other System.Speech apps that can't activate in-memory tokens
Voice promotion fixed — PromoteElevated was silently failing because EngineConfig.exe was removed. Now uses reg.exe import with UAC elevation, creating tokens in both legacy SAPI and Speech_OneCore paths
Voice enumerator deadlock fixed — double mutex lock in VoiceTokenEnumerator::EnumTokens caused "resource deadlock would occur" crash on first enumeration or after 10s cache expiry
No more voice flood — previously 500+ Azure voices flooded SAPI voice lists; now only promoted voices appear
SSML & Speech Markdown via Web Speech API
PUA sentinel — web apps using Chrome/Firefox Web Speech API can embed SSML or Speech Markdown via Unicode Private Use Area characters:
\uE000\uE001\uE002 prefix = SSML mode
\uE000\uE001\uE003 prefix = Speech Markdown mode
Other SAPI voices ignore the PUA characters harmlessly
Speech Markdown syntax — use (text)[rate:"slow"] format (standard Speech Markdown spec)
Chrome & Edge Support
Speech_OneCore registration — VoiceGarden voices now appear in Chrome and Edge, not just legacy SAPI applications
Voices registered in both SOFTWARE\Microsoft\Speech\Voices\Tokens (Firefox, Grid3, Balabolka) and SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens (Chrome, Edge) when promoted
GetVoices crash fixed — cloud engine voice listing no longer crashes with access violation
Voice Engine Fixes
Azure voice activation — Azure voice tokens now include EngineType in VoiceGardenConfig
Cloud engines off by default — paid cloud engines disabled on fresh install; SherpaOnnx (offline) and Edge (free) remain on
MMS Model Data Fix
1143 MMS models now searchable — language metadata was blank due to mismatched JSON field names. Kurdish, Aceh, Abidji, and 1100+ other languages now appear correctly
Localization (36 Languages)
Full UI translation — all user-facing strings in Strings.resx