Sync MicroslopSam VOX mode and path configuration

This commit is contained in:
Fisto
2026-09-16 08:46:39 +02:00
parent 49fd28756f
commit 6b961ddcef
12 changed files with 1033 additions and 95 deletions
+16
View File
@@ -93,6 +93,22 @@ final file `WatsonUNInstall.dll` is incomplete).
verified audible (0/59/100 produce different waveforms at equal duration). Changing
them requires a registry edit and re-selecting the voice.
## VOX parser
- `setup/vox_parser.py` reimplements the NetTTS VOX prosody encoder (vendor tags
`\!wH1/\!wH0`, `\!br`, `\!sfNN`); the host already passes `TTSDATAFLAG_TAGGED`, so
the engine honors them.
- Validation: the reference `vox_parser.cpp` from a local clone of
`h4rm0n1c/NetTTS` was compiled with g++ in a throwaway harness and diffed against
the Python port; outputs are identical on the 31-line corpus. Re-check after any
parser change while the clone is available.
- VOX mode is Flextalk-only. The wrapper enables it with `VESKSLOP_TTS_VOX=1`
(`VESKSLOP_TTS_VOX_CLEAN=1` drops the stutter wrapper) and it takes precedence
over `VESKSLOP_TTS_WORDS`.
- Line-leading `/rate N` and `/pitch N` controls are consumed by the wrapper
(percent, 100 = normal; `<= 2.0` means multiplier). They override the env
speed/pitch and are not spoken; a controls-only line yields 100 ms of silence.
## Decompiled corpora (Ghidra)
- `/mnt/ghidra/decomp/msttssyn.dll/` (786 functions, engine)