Apply TTS presets with vendor tags and both hives

This commit is contained in:
Fisto
2026-09-21 11:43:13 +02:00
parent ac23ee712a
commit 7ad0a691db
5 changed files with 194 additions and 24 deletions
+7 -1
View File
@@ -164,7 +164,13 @@ from the TTS panel:
A **preset** select (`tts.preset`: factory, VOX, HEV) shifts the Keith Bell speaker profile to
the Half-Life approximation; `vox` also implies VOX prosody unless VOX is explicitly off, and
overrides travel as `VESKSLOP_TTS_PRESET` / `{preset}`. Precedence is preset < profile <
expression, so the sliders still win over the preset.
expression, so the sliders still win over the preset. The wrapper writes the audible profile to
both registry hives (plus the preset's Gender/Line Mode and a Default Speaker pointer), and for
Flextalk it sends rate/pitch as the sticky `\!R` / `\!%` vendor tags rather than
`ITTSAttributes`; attributes only apply to MSTTS voices. Neutral sliders emit neither, so the
preset is reproduced exactly. `sh microslopsam/setup/test-wrapper.sh` checks this contract with
stubbed wine and engine binaries, no Wine install needed. The preset values also show up in the
voice metadata defaults, so the panel's "default" snap points match what the engine gets.
- **Test lines** - Attention, Laboratory, Critical, Health, and Radiation, plus two custom lines
kept in `localStorage`. Each button speaks the line with the current profile, so a change can be
auditioned without touching the real queue.