Profile-reward recipe: generate 640 (batched) → ASR-filter+trim → SIDON → keep the top 20% by a per-character quality+profile reward → warm-start FT 3 epochs. Below: the quality range of the selected training set, then example generations after each epoch.
voice-20
Characteristic dimensions (auto, from its own voice profile): ▲ S_MONO ▲ S_STRY ▲ S_NARR ▲ ESTH ▼ S_RANT ▼ EXPL ▼ DARC ▼ S_CONV · emo: Concentration Emotional_Numbness Interest
Training set = top-20% by reward = z(genu)+z(blend)+z(quality)−z(WER)+0.7·z(profile-match). Kept 128/640.
Best 5 of the kept top-20%
R 5.70 · genu 0.27 · blend 0.61 · qual 0.46 · WER 0.00
R 5.13 · genu 0.13 · blend 0.55 · qual 0.62 · WER 0.03
R 4.85 · genu 0.18 · blend 0.37 · qual 0.71 · WER 0.00
R 4.82 · genu 0.19 · blend 0.16 · qual 0.76 · WER 0.00
R 4.67 · genu 0.17 · blend 0.41 · qual 0.58 · WER 0.00
Weakest 5 still inside the top-20% (the selection boundary)
R 1.54 · genu 0.07 · blend 0.05 · qual 0.70 · WER 0.04
R 1.53 · genu 0.03 · blend 0.18 · qual 0.70 · WER 0.00
R 1.48 · genu 0.14 · blend 0.20 · qual 0.61 · WER 0.00
R 1.46 · genu 0.13 · blend 0.14 · qual 0.57 · WER 0.00
R 1.45 · genu 0.04 · blend 0.25 · qual 0.61 · WER 0.00
Fantasy line — refined ep1 / ep2 / ep3
“The old road winds past the ruined tower where the last dragon knights once kept their watch.”
Sci-fi line — refined ep1 / ep2 / ep3
“The station drifted in low orbit while the reactor cooled and the scanners swept the empty dark.”
Neutral line — refined ep1 / ep2 / ep3
“The meeting is scheduled for three o'clock and the report is on the desk by the printer.”