docs(zonos-gateway): dials-first emotion spec (operator ruling)

Canonical direction: emotion set by twisting raw dials per-utterance, not preset
selection. Presets demoted to optional examples. Spec covers the dial vocabulary
+ ranges, the emotion_cfg_scale 'deaf by 1.5' rule (NO cap — documented ceiling,
explicit over implicit), measured RTF cost, starting-point dial-sets, an LLM
client system-prompt snippet, and clone reference guidance (~15-24s, no
transcript). Follow-ups flagged: align dials.py cfg help/metadata, trim in-code
PRESETS pending usage check, stand up vh/zonos-gateway for version control.
This commit is contained in:
vh
2026-07-17 18:33:26 -07:00
parent ba0ec64ac3
commit 0a9fb85a52
2 changed files with 151 additions and 1 deletions
+11 -1
View File
@@ -41,7 +41,17 @@ one-line alias repoint, invisible to every consumer. This repo stays
Zonos-specific (voice registry, correct native defaults, presets); the swap
point is the alias, not the code.
## Emotion control — the simple caller path (presets)
## Emotion control
> **Direction (operator ruling 2026-07-17): dials-first.** Emotion is set by
> twisting the raw dials per-utterance; presets are demoted to optional
> copy-and-tweak examples, not the primary interface. See
> [`EMOTION-DIALS-SPEC.md`](EMOTION-DIALS-SPEC.md) for the dial vocabulary, the
> `emotion_cfg_scale` "deaf by 1.5" rule (no cap, documented ceiling), the
> LLM-client system-prompt snippet, and reference-voice guidance. The
> preset-centric description below is retained as background.
### (background) the preset path
Emotion is exposed as **named presets** that bundle the engine's steering knobs
(`emotion_sliders` / `emotion_valence` / `emotion_arousal` / `emotion_strength`