Fix Flextalk buzz: REG_DWORD speaker settings; measured pitch/speed mapping; fixed-gain normalization

This commit is contained in:
Fisto
2026-09-15 13:14:50 +02:00
parent fa4fbaf74b
commit ad81303b6f
5 changed files with 105 additions and 54 deletions
+4 -4
View File
@@ -64,8 +64,8 @@ The wrapper maps voice IDs (`sam`, `mary`, `mike`, `keith-bell`, `kerry-watson`,
MSTTS variants), reads `VESKSLOP_TTS_VOICE`, `VESKSLOP_TTS_SPEED` (multiplier) and
`VESKSLOP_TTS_PITCH` (semitones), starts Xvfb when `DISPLAY` is unset, and writes a
48 kHz mono s16le WAV trimmed, faded and normalized to about -16 LUFS (-3 dBFS true peak).
Flextalk voices ignore pitch (engine limitation) and are declared with the `no-pitch`
flag; everything else maps as documented in `docs/TTS-DESIGN.md`.
Speed and pitch apply to every voice (Flextalk's numeric settings must be `REG_DWORD`,
which the setup script writes). Mapping details are in `docs/TTS-DESIGN.md`.
## Layout
@@ -84,8 +84,8 @@ flag; everything else maps as documented in `docs/TTS-DESIGN.md`.
- `xvfb-run` is flaky on this host. `setup/run.sh` starts a persistent Xvfb
(`:77`) instead; Wine needs a working X display because the runtime creates
windows.
- Flextalk ignores pitch entirely (byte-identical output at any pitch setting); use speed.
The host now leaves pitch/speed untouched unless passed, so voices use their own profile.
- Flextalk numeric speaker settings must be `REG_DWORD` (the installer script handles
this); `REG_SZ` values cause a monotone buzz. Pitch and speed work on all voices.
- The Flextalk archive lacks `data2.cab`; `unshield -O` extracts `data1.cab`
but one tail file (`WatsonUNInstall.dll`) is incomplete.