Measurement
What we measure.
Every measurement below is deterministic: same audio, same number, every time. Each one is listed with what it can see and, just as importantly, what it cannot.
Two systems, not one
There are two pieces of speech software in this estate and they measure different things. Keeping them apart matters: running them together is how four incompatible descriptions of “the assessment model” ended up in circulation at once.
The scoring engine produces a report-card score from five weighted markers. The résumé app measures delivery and hands the numbers to a coaching panel; it never produces a rubric score at all.
On “science backed”
We do not currently have a citation for any threshold on this page. The pace targets, filler tolerances and pause thresholds are product judgment calls, tuned against real student audio, not values taken from published norms.
That is a reason to describe the mechanism precisely rather than to claim evidence we have not assembled. If we later source real references, this page gets a citations section and a different title. Until then it says what the code does.
The speech scoring engine
5 markersThe Bantrly product. Two of these five are pure formulas, two are model judgement against fixed tables, and the last changes mechanism by module. The rubric page has the weights, thresholds and a live calculator.
Pronunciation & Articulation
How it is computed
The model weighs three things together and returns one number: phoneme clarity, absence of slurring or mumbling, and whether intelligibility holds up across the whole clip. No sub-scores are returned.
What it cannot see
Which words were chosen (that is Task Adherence) and how fast they came out (which is Speaking Rate). The score bands are the same shape at every grade; what changes is how strictly the anchors are read. A softened "r" is age-typical at Elementary and a precision lapse at High.
Fluency & Fillers
How it is computed
The most code-like of the model markers. The prompt hands over exact count tables, false starts per ~30 seconds, disruptive fillers per ~30 seconds, plus the sub-marker weights, and the model applies them itself.
What it cannot see
Nothing is counted by code here, so the counts are the model’s. Recovery is not scored at all when there was nothing to recover from: a clean delivery is automatically Excellent on that sub-marker rather than being judged on an absence.
Speaking Rate & Pauses
How it is computed
Fully deterministic. Words per minute of actual speaking time, how much the local pace wobbles across the clip, and short choppy mid-phrase breaks per minute. Long pauses (any frozen gap of 1.2 seconds or more) then scale the combined result down.
What it cannot see
Wall-clock duration. The rate is per minute of speaking time, so thinking silences do not inflate or deflate it; they are counted separately as hesitations. Under ten seconds of speech, choppiness and the pause penalty are switched off rather than guessed at.
Volume Control
How it is computed
Deterministic, and the only marker that never reads the words. Loudness level against a comfortable range, how much loudness swings across the clip, and whether the student trails off at the end.
What it cannot see
The transcript, entirely, it is used only to find phrase breaks for the fade calculation, never for scoring. The dB figures are the engine’s own internal loudness scale, not a physical sound-pressure measurement, so they are comparable between clips but mean nothing in absolute terms.
Task Adherence
How it is computed
The one marker whose mechanism changes by module. On reading tasks it is pure sequence alignment against the reference text. On open tasks the model scores a checklist, sometimes with capping rules. On Story Building, code counts keyword coverage and the model judges the story, blended equally.
What it cannot see
On reading tasks: intent. A word is matched or it is not, and spoken fillers count as insertions against accuracy by design. On open tasks: nothing is measured, it is all judgement, which is why the capping rules exist.
Résumé app speech analysis
7 measuresA separate system, in this Labs estate. It measures delivery and produces no score. Its own source comment puts the principle better than a summary could: judging content beyond coverage is the model’s job, not a regex’s: deterministic where deterministic is honest.
Filler rate
How it is computed
Counted against a fixed nine-word set, um, uh, uhm, erm, er, ah, hmm, mhm, like, as a percentage of all tokens, to one decimal place.
What it cannot see
Context. "Like" is on the list, so a legitimate comparison counts as a filler. A fixed list is auditable in a way a model’s judgement is not; that is the trade being made.
Words per minute
How it is computed
Content words divided by recording duration, times sixty. Fillers are excluded from the content-word count, so a hesitant delivery does not read as a fast one.
What it cannot see
Speaking time versus total time, unlike the scoring engine, this is a wall-clock rate.
Pauses
How it is computed
Silences longer than 0.6 seconds, counted from word-level timings.
What it cannot see
Everything, when word timings are unavailable. The measure returns null rather than estimating from the transcript.
Hedge count
How it is computed
Matches against a fixed ten-phrase list: kind of, sort of, I think, I guess, you know, I mean, or something, maybe, probably, just.
What it cannot see
Whether the hedge was warranted. "Probably" is sometimes the honest word.
Immediate repetitions
How it is computed
Adjacent duplicate tokens only, the "the the" case.
What it cannot see
Repetition across a sentence, or a repeated idea in different words.
Vocabulary diversity
How it is computed
Type-token ratio: distinct content words over total content words, to two decimal places.
What it cannot see
Length. Short samples score higher on this by construction, which is a known property of type-token ratios rather than a finding about the speaker.
Script accuracy
How it is computed
Longest-common-subsequence alignment against the script: matched source words over total source words, as a percentage.
What it cannot see
Anything, in open-delivery mode, it returns null, and coverage of the required points takes its place. There is no script to be accurate to.