Which CFG strength should I use?
Start around 2–2.5 for strong steering, not as a universal optimum. CFG 1 already uses the full conditional emotional prompt: it does not mean neutral or unprompted speech. These selected-CFG versus CFG-1 comparisons keep wording fixed, with 100 takes per arm across English/German, five seeds and both reference conditions.
| Humaneness Voice Large 1.5 Alpha | Anger and controlled ranting | 1.5 | 0.423 → 0.563 | Matched takes and quality diagnostics |
| Humaneness Voice Large 1.5 Alpha | Intelligible intimate whispering | 2.0 | 0.310 → 0.507 | Matched takes and quality diagnostics |
| Humaneness 1.5 + real-speech rank 4 | Anger and controlled ranting | 2.5 | 0.332 → 0.541 | Matched takes and quality diagnostics |
| Humaneness 1.5 + real-speech rank 4 | Intelligible intimate whispering | 2 | 0.320 → 0.543 | Matched takes and quality diagnostics |
The target score is the normalized EARS steering objective printed on the scenario: anger here combines anger and ranting, whereas whisper uses the whisper head. It is not an emotion probability. Higher steering modestly reduced Content Enjoyment in these comparisons; intelligibility and identity must still be checked.
Could CFG 4–5 be better? Exploratory shock/transformation probes reached high target scores at 3–5, but their wording also changed. They do not isolate the CFG effect or demonstrate reliable nonverbal bursts. For a new task compare 1, 2, 2.5 and 3 with identical wording, text, reference, seed and frame cap; use 4–5 as explicitly labeled stress tests. No global best value for all 40 emotions has been established.
The ongoing full study adds a fixed-wording CFG sweep at 1, 1.25, 1.5, 2, 2.5 and 3. Its completed evidence will appear on the target pages. Machine-readable CFG guidance.
Use two separate inputs
text contains only the words to say. instruction contains English GENERAL/SCRIPT directions, even for German speech. Do not concatenate directions into the spoken text. This model lineage does not use quotation-based DramaBox as its native primary format.
GENERAL: One adult speaker, clean recording. Deeply angry but still intelligible. SCRIPT: (controlled anger, sharp stressed consonants) [3.8 seconds duration] You knew exactly what would happen. [0.3 seconds pause] (surprised gasp, 0.3 seconds) (breathless indignation, then clear words) [3.2 seconds duration] Now tell me why you did it.
Separate text:
You knew exactly what would happen. Now tell me why you did it.
Duration requests are learned controls, not forced alignment or time stretching. Keep duration tags outside delivery parentheses. A non-speech event has its own label and duration inside round brackets. Dialogue, pauses and vocal events are different objects.
Model repositories and correct adapter lineage
Humaneness Voice Large 1.5 Alpha
Model, weights and inference code Pinned revision
Humaneness 1.5 + real-speech rank 4
Model, weights and inference code Pinned revision
Original 1.5 uses its own released cumulative adapter exactly once. Rank 4 uses the merged base included in its real-speech bundle plus rank 4 once. Never combine those two loading paths. The models have a semantic backbone and a local causal Talker generating 12 codec-codebook indices for each 80 ms frame; codec output is 48 kHz mono.
Reference audio and sampling
Use one clean speaker, another utterance, preferably 8–15 seconds. The supported reference window is 63–187 codec frames, or 5.04–14.96 seconds. Do not restore the historic 2.96-second truncation. Avoid captions contradicting the reference identity. With no reference, identity may change across takes; that is not a controlled speaker-cloning result.
The search sampler is temperature 1, top-p 0.95, top-k 50, repetition penalty 1. Each script/reference/recipe condition uses seeds 1701–1705. The frame cap is requested duration at 12.5 frames/s plus 45 frames, at most 375 frames. A cap-hit is retained as a failed termination outcome.
What CFG means here
audio_logits = neutral_logits + guidance * (conditional_logits - neutral_logits)
This operates in FP32 on the audio logits for every one of the 12 causal codebooks of every frame. Both branches receive the same sampled index and keep separate prefix/KV caches. They use identical model and adapter weights. The stop/continue head is conditional only. Interpolating hidden vectors is not equivalent.
Ordinary emotion/style CFG retains untargeted explicit events in both branches. The separately labeled event-contrast intervention replaces target events with equal-duration silence in the neutral branch. Those are different questions and must not be pooled.
The released inference CLI does not implement CFG merely because a JSON field is named cfg. Use the provided native helper and validate guidance 1 against native token generation. Native batched CFG source · Portable loading/inference example.
Exact reference and batch reproduction
For the recorded reference arm, download the exact reference-code container and select its en/de array. Re-encoding the playback MP3 is not guaranteed to recover the original codes. The portable example accepts --reference-codes codes.npz and generates the same five-seed batch before selecting the requested take. Floating-point kernels and hardware can still affect categorical sampling; mathematical CFG equivalence is not a promise of identical waveform bytes on every server.
Run a published take on another server
- Download native_cfg.py and inference_example.py into the same directory.
- Follow the dependency versions in the linked model repository. Use a CUDA compute GPU; the script downloads the pinned model revision and codec.
- From a scenario take index, save one complete take object as
take.json. The model key, prompt, neutral prompt, seed, language and reference flag must remain consistent. - For a reference-arm take, download the exact reference-code container above. For a no-reference take, omit that argument.
python inference_example.py --model original15 \ --recipe-take take.json --reference-codes codes.npz --output take.wav
For the other model, use --model rank4 and a take from its own scenario index. Do not use a recipe object from one model as if it were measured on the other. The command generates all five seed replicas in one batch before selecting the recorded seed, matching the search batch shape. It does not rerun the judges.
Read a recipe responsibly
The CFG number belongs to its tested wording, model and scenario. The pilot changed prompt strategy and strength together, so it does not identify a universal optimal scalar. Later held-out selected-CFG versus guidance-1 comparisons keep the winning wording fixed. Report both quality and intelligibility; a high target score with missing words is not a win.