rtx-csm: perf_history — per-emotion seed × context interaction

Cross-emotion × Carlini context at Amini-best seeds reveals the
"magic combo" doesn't fully transfer:

  happy@42    Amini WER 0.21  →  Carlini WER **0.071** (transfers!)
  angry@100   Amini WER 0.93  →  Carlini WER 1.21 (URL drift)
  fearful@7   Amini WER 0.86  →  Carlini WER 1.00 ("Screw it")
  sad@7       Amini WER 0.93  →  Carlini WER 1.00 (no transcript)

Only happy@42 cleanly generalizes across contexts. The previous
"context-robust" claim was too strong — the (emotion, seed, context)
interaction matters. Cosine vs context stays high for angry (0.95)
even when text drifts, so voice character preservation is the more
robust property than text fidelity.

Honest production interface: `emotional_speech_n.sh` rolling 5 seeds
per (context, prompt). The single-shot recipe lands well only when
all dimensions align, but the picker absorbs the variance.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
This commit is contained in:
osobh
2026-04-29 15:48:08 -07:00
co-authored by Claude Opus 4.7
parent 48c9fdd5f2
commit 6e22507994
@@ -338,6 +338,36 @@ character holds when the speaker is consistent in the reference.
Empirical conclusion: the recipe is **context-robust** on speaker Empirical conclusion: the recipe is **context-robust** on speaker
identities the picker selects correctly. WER 0.071 on Carlini means identities the picker selects correctly. WER 0.071 on Carlini means
single-shot near-verbatim emotional speech is achievable. single-shot near-verbatim emotional speech is achievable.
#### Per-emotion seed × context interaction
Cross-emotion bench at the per-emotion best-seed-for-Amini, run
against Carlini context:
emotion seed cos_ctx WER transcript
happy 42 0.958 **0.071** "So today I want to share something
with you that I have been
thinking about." ⭐
angry 100 0.953 1.21 "...if you have any questions,
please contact me at
www.makashvita.com" (URL drift)
fearful 7 0.543 1.00 "Screw it" (premature EOT)
sad 7 0.399 1.00 (truncated / no usable transcript)
Only `happy@42` cleanly transfers from Amini to Carlini context.
Angry preserves Carlini's voice character (cos 0.95) but the text
drifts to URL spam — the model committed to a different content
direction even with proper steering.
**The "magic combo" of `(emotion, seed)` is context-specific.** The
per-emotion best seed is found per (context, prompt) pair, not
globally. The previous claim of cross-context robustness was too
strong — only happy@42 genuinely generalizes across the two tested
contexts.
Practical takeaway: `emotional_speech_n.sh` rolling 5 seeds remains
the right consumer interface. The single-shot recipe lands well only
when (emotion, seed, context, prompt) all align.
- *RAVDESS corpus shape biases output length*: clips are ~3 s - *RAVDESS corpus shape biases output length*: clips are ~3 s
("Kids are talking by the door") so the steering biases the ("Kids are talking by the door") so the steering biases the
model toward terse outputs (one or two words). Longer-utterance model toward terse outputs (one or two words). Longer-utterance