Build1 distinct publisher3 min readPublished
A corpus gate that only checked whether the words were right passed a hoarse clip, which then dominated the style embedding built from it. The fix ranks candidates by jitter and octave jumps, and its error bars hold only inside one speaker.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
A style vector is a mean in embedding space, and rough audio does not sit near the middle of that space [8]. It sits far out along the hoarseness direction, so four clean clips plus one outlier produce a centroid pulled well toward the outlier [8]. That geometry is why the defect showed up in every sentence instead of one in five, and it is why the roughness of a single file propagates to every output of that style [9]. Weigh the two paths against each other: in a corpus of about 200 clips one bad take is 0.5% of the training signal [6], while in a five-clip registration the same file is 20% of the exemplar set [7], roughly 40 times the influence for an identical artifact [1].
The admission test is the part worth staring at. Script matching is a text comparison standing in for an acoustic judgement, so a clip can crack an octave mid-sentence and still be scored as correct because the words are all there [5][10].
The replacement metric is small and specific. It extracts an F0 series every 10 ms, keeps voiced frames, and computes jitter as the mean absolute difference between adjacent periods divided by the mean period [11]. Octave jumps are counted as the fraction of frame transitions where the F0 ratio exceeds 1.8 or falls below 0.55 [12]. Candidates are sorted by jitter plus twice the jump rate, lowest first [13], with jumps weighted more because a discrete break is more audible than continuous roughness [14]. Note that 1/1.8 is 0.5556, so a drop to 0.554 of the previous frame escapes the down-jump test while its upward mirror at 1.805 gets caught [4]. Clips with fewer than 10 voiced frames return None and drop out of the candidate pool [16], which at one frame per 10 ms means anything under 100 ms of total voiced audio is simply unjudgeable [2]. That guard exists because short interjections would otherwise score as the most stable clips by chance [16].
Now treat the reported numbers as claims about someone else's recordings. Autocorrelation F0 estimation mistakes harmonics for the fundamental on lower voices, and those errors land in the jitter term [18]. On the male voices here, jitter read 31% to 56% against a physiological norm below 1%, so measurement error dominates the value [19]. Two consequences follow from the arithmetic. The jump term only outweighs the jitter term when the jump rate exceeds half the jitter, which in that range means 15.5% to 28% of frame transitions [3]; the nominal 2.0 weight does less sorting work than it looks like it does. And the ranking survives only because the error is close to uniform across clips from one speaker [20]. A constant offset does not change sort order, but the variance of that error across clips does, and the post reports the magnitude without reporting the spread.
For the number to transfer you need exemplar averaging in embedding space, a transcript-only gate ahead of it, one speaker per style [21], and an autocorrelation pitch tracker. Swap in a neural F0 estimator and the thresholds move; the shape stays, because when k is five, per-item quality is a first-order term.
Ranked by verification strength, evidence, and original report placement.
The registration call was changed from corpus_clips[emotion][:5] to stable_top(corpus_clips[emotion], n=5), and this eliminated the hoarseness.
In practice male voices showed jitter values of 31 to 56 percent, while normal human voice jitter is less than 1 percent, so measurement error clearly dominates.
The TTS system in use creates emotional styles from a few representative clips; passing several clips of one emotion registers an average style vector.
The first implementation passed the first five clips of each emotion group: clips = corpus_clips[emotion][:5], then register_style(model_id, style_name=emotion, clips=clips).
Synthesizing with the styles registered that way produced hoarse voices in every single sentence, without fail.
The cause was that one or more rough clips were mixed in with the five clips passed for registration.
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · September 1, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
build
A 0.85 speed request came back longer than the call that sent no parameter at all1 distinct publisher
build
A renderer that terminates itself is how an unwatched stream reports failure1 distinct publisher
build
Correlation gates pass a singular design matrix, and widen the dependency to quieten them further1 distinct publisher
build
An H100's MIG slices hand Chromium's WebGL straight back to the CPU rasteriser1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Code you can read, results you cannot check
Two very different grades of material sit side by side. The F0 loop, the jitter expression, the ten-frame guard and the doubled jump weight are printed in full, so anyone can criticize or reimplement them without trusting the author at all. Everything empirical is bare assertion: hoarseness in 'every single sentence', the fix that 'eliminated' it, male clips at 31-56% jitter, a corpus of roughly 200 clips. No audio, no score distributions, no name for the TTS engine or the F0 estimator whose behaviour the whole diagnosis rests on. And the mechanism the headline depends on - a hoarse take sitting far enough outside the normal embedding region to drag the average toward it - is the one thing never measured.
One team's pipeline, twice
Adoption amounts to a single shop using this on itself. The stability ranking is in their style registration, and the same score was carried into voice-candidate screening, where it misfired badly enough on male voices that they reweighted it - that second use is evidence of reach inside one codebase, not outside it. There is no library, no second team, no benchmark, and no sign anyone else ranks exemplar clips by jitter before registering a style.
Argues against itself more than for itself
For a post titled around one clip ruining everything, this is remarkably self-deflating. It volunteers that its own jitter numbers are dominated by estimator error, that the metric is meaningless across speakers or genders, that short clips can fake stability by accident, and that reusing the score for a different task went wrong. Against that, the unbacked lines - 'without fail', 'this eliminated the hoarseness' - read as ordinary shop talk rather than a pitch. If anything the useful part is undersold: the transferable insight is not the jitter formula but the observation that per-item leverage rises as your sample count falls, which appears almost as an afterthought.
Reputational, not commercial
This is developer self-publishing: a dev.to post translated from the author's own company blog, with internal links to two more of his write-ups. The reward on offer is credibility, not revenue - nothing is sold, no vendor is thanked, no benchmark is being won. The unnamed TTS system cuts both ways: no product is getting promoted, and no product can be held to account for the behaviour described.
Trust the mechanism, not the constants
Narrow, code-level claims from one practitioner about one pipeline, with the code on the page and the empirics on faith. I would carry the mechanism and the arithmetic forward with little hesitation. I would not carry 1.8, 0.55, the doubled jump weight, the 31-56% band or the clean 'fixed' verdict into another stack without measuring, and the account itself stops mid-sentence before its argument closes.