Inline /rate and /pitch controls handled by the wrapper; docs

This commit is contained in:
Fisto
2026-09-16 08:08:15 +02:00
parent e45e083205
commit 6d010292f2
4 changed files with 88 additions and 21 deletions
+20
View File
@@ -371,6 +371,26 @@ Other NetTTS features and their relevance:
our prefix runs the engines with builtin Wine libraries.
- Win32 GUI and preset sliders: Veskslop provides the UI.
### Inline rate/pitch controls (engine-side)
The wrapper consumes NetTTS-style, line-leading controls, so Veskslop and the WebUI do
not need to parse or implement them:
/rate 150 Attention all personnel. # 150% rate, then the line
/pitch 90 Attention all personnel. # 90% pitch
/rate 120 /pitch 110 Inbound tram. # both, in any order
- `N` is a percent (100 = normal, clamped to 0-200); values `<= 2.0` are multipliers
(`/rate 1.5` = 150%).
- They override `VESKSLOP_TTS_SPEED` / `VESKSLOP_TTS_PITCH` for that line and are not
spoken.
- A line that contains only controls yields 100 ms of silence, so the daemon always
receives a valid WAV.
- Rate maps through the normal speed scale; pitch percent maps to semitones
(`st = 12*log2(N/100)`) and then through the per-voice natural pitch.
- Verified on the dev host: `/rate 50` doubles the line duration; `/pitch 150` raises
the median F0 from 122 Hz to 177 Hz.
### Transport and latency
- Installation is one command: `setup/install.sh` (system dependencies with sudo, wine