Forced alignment
Forced alignment is the process of taking audio together with a transcript of what was said, and determining the exact start and end time of each word and each phoneme within that audio. Unlike speech recognition, which has to work out what was said, forced alignment already knows the words — it is "forced" to fit that specific transcript, and its only job is to decide where each piece of it lands in time.
How forced alignment works
The aligner converts the known transcript into a sequence of expected phonemes using a pronunciation dictionary, then searches for the time boundaries that make that exact sequence the best possible explanation of the audio.
Because the word sequence is fixed, the search space is dramatically smaller than in open-ended recognition. The aligner is not choosing between millions of possible sentences — it is choosing between the possible ways of stretching and compressing one known sentence across the available milliseconds.
Classically this was done with Hidden Markov Models and the Viterbi algorithm. Modern systems more often align using the frame-level outputs of a neural acoustic model, but the principle is the same: fit the known sequence to the timeline.
Why pronunciation scoring depends on it
You cannot score a phoneme until you know which milliseconds of audio to score. Forced alignment is what makes per-phoneme scoring possible at all — it produces the spans that Goodness of Pronunciation is then computed over.
It is also what lets an API return timing information alongside each score, so an application can highlight the exact moment in a recording where a sound went wrong, or play back just that fragment.
This dependency is also a vulnerability. If the alignment puts the boundary in the wrong place, the score computed over that span is measuring the wrong audio, and the error is invisible in the output — the score still looks like a score.
Why alignment is harder on child speech
Children speak with more variable timing than adults: longer and more irregular pauses, unsteady rate within a single word, and false starts. All of that makes boundary placement less certain.
Disordered speech compounds the problem. When a sound is omitted entirely there is no audio for the aligner to assign to it, and the surrounding phonemes tend to absorb the span — which is one reason omissions can be both detectable and hard to localise precisely.
In our own benchmark run, 100% of words aligned one-to-one against the reference, but 7.6% of words had a differing phoneme count and 0.8% of reference phones had no counterpart at all. Alignment is very good and it is not perfect, and a scoring product should be built on the assumption that a small fraction of spans are wrong.