How Voice-Following Teleprompters Behave When You Go Off Script: A Measured Test
“Follows your voice” is the easiest claim in the teleprompter category to make and the hardest to check, because the interesting cases are the ones you cannot see in a demo: what happens when you stop, when you improvise, when you repeat a sentence, when you skip a line, when the transcript is wrong. This post measures those cases. The numbers come from a deterministic harness that feeds words into Sayscroll's script-matching engine under eight scenarios, so every figure below can be regenerated exactly. The protocol itself needs no code, and the last section shows how to run it by voice on any prompter.
What a voice-following prompter actually has to solve
Speech recognition produces a stream of words. The prompter has to decide, for each one, where in the script it belongs, and it has to get four situations right at once:
- Noise. The transcript will drop words, mishear words, and insert fillers. The position must not stall on every error.
- Pauses and ad-libs. Unscripted speech must not move the position, and returning to the script must pick it up quickly.
- Re-reads. Saying a sentence again must move the position back, not forward.
- Skips. Dropping a line must be recognised, but a common word that also appears three paragraphs later must not drag the script there.
The categories of prompter that advertise voice control solve these differently. A voice-activity approach scrolls whenever it hears speech, which handles pauses and nothing else: an ad-lib scrolls the script just as fast as a read. A keyword-anchored approach jumps to the next occurrence of a recognised word, which handles skips and creates false jumps on every common word. A word-level matcher with a global search handles re-reads but can be flung across a long script by an echoed phrase. Sayscroll's matcher is word-level with a deliberately local search window, and the results below are what that design does.
Method
The script is a 350-word English passage in 28 short lines, the kind of formatting the script-writing guide recommends. The harness feeds it to the matcher one word at a time, exactly as live transcription would, and after every scripted word asks one question: is the word the prompter highlights the word that was just spoken? That single check, “active word equals spoken word”, is the tracking score. Scenarios are built by changing what is fed: dropping or corrupting words, inserting unscripted speech, repeating a stretch, or jumping ahead. No audio, timing, or network is involved, so the test isolates the matching logic from the speech engine; that limitation is discussed at the end.
1. Straight read and noisy transcripts
First the baseline, then the same read with a fixed share of words dropped or misheard (one letter changed) and a filler word inserted every twenty-five words.
| Transcript quality | Scripted words heard | Active word = spoken word | Max lag | Reached the end |
|---|---|---|---|---|
| Clean | 350 | 100% | 0 words | yes |
| 5% dropped, 5% misheard | 337 | 100% | 0 words | yes |
| 10% dropped, 10% misheard | 322 | 100% | 0 words | yes |
| 20% dropped, 20% misheard | 284 | 99.6% | 4 words | yes |
A transcript that loses or garbles one word in five is far worse than real recognition delivers in a quiet room, and tracking still stayed on the spoken word 99.6% of the time. The mechanism is tolerance in the right places: short words must match exactly, longer words tolerate a letter or two, and a small lookahead lets the matcher step over a dropped word instead of waiting for it.
2. Pauses and ad-libs
A pause produces no words, so it produces no movement: the position simply holds. An ad-lib is the harder case, because the words are real and some of them (“the”, “to”, “we”) exist in the script. After forty scripted words, the harness inserted an unscripted aside of increasing length, then resumed reading.
| Ad-lib length | Position drift during the ad-lib | Flagged as off script | Scripted words until re-lock | Rest of the read |
|---|---|---|---|---|
| 3 words | 0 | no | 1 | 100% |
| 5 words | 0 | yes | 2 | 99.7% |
| 10 words | 0 | yes | 2 | 99.7% |
| 20 words | 0 | yes | 2 | 99.7% |
| 40 words | 0 | yes | 2 | 99.7% |
The position never moved during an aside of any length, and reading resumed with a re-lock on the second scripted word. The 99.7% in the last column is that one word: the first scripted word after an ad-lib is spoken before the lock lands. In practice this is why you can take a question from the audience, tell a story, or lose your train of thought entirely, and the prompter is where you left it when you come back.
3. Re-reading a sentence
The most common real-world event is a flub: the speaker stops and says the sentence again. After fifty scripted words, the harness re-read the last N words, then continued.
| Re-read length | Locked back onto the repeat | Words until lock | False jump ahead | Rest of the read |
|---|---|---|---|---|
| 3 words | yes | 2 | no | 100% |
| 5 words | yes | 2 | no | 100% |
| 8 words | yes | 2 | no | 100% |
| 12 words | yes | 2 | no | 100% |
| 15 words | yes | 2 | no | 100% |
| 20 words | yes | 5 | no | 100% |
Re-reads of up to fifteen words lock back within two words and the prompter never jumped ahead. A twenty-word re-read starts outside the backward search window, so the lock lands only once the speaker draws back within range, five words in. This is the behaviour you want for a retake done in place: say the line again and keep going; the talking-head workflow is built on it.
4. Skipping ahead
Skips are where local search shows its trade-off. After forty words the harness jumped S words forward and kept reading.
| Skip length | Re-locked automatically | Scripted words until re-lock | Rest of the read |
|---|---|---|---|
| 2 words | yes | 1 | 100% |
| 4 words | yes | 1 | 100% |
| 8 words | yes | 2 | 99.7% |
| 12 words | yes | 2 | 99.7% |
| 15 words | no — scroll to it | — | 0% |
| 20 words | no — scroll to it | — | 0% |
| 30 words | no — scroll to it | — | 0% |
A dropped phrase or a dropped line, up to about a dozen words, re-locks within two words. From fifteen words on, the prompter holds and waits, and the reader scrolls to the new section by hand; the prompter then continues from the line they scroll to. That cut-off is a design choice, not a limitation of the search: the next table shows why a wider window would be worse.
5. Decoys: why the window is narrow
While the matcher was off script after an ad-lib, the harness said things designed to fool it.
| What was said while off script | Position moved | Result |
|---|---|---|
| Filler words that also appear later in the script: “the and to a of” | no | held at word 40 |
| A distinctive three-word phrase from 50 words ahead | no | held at word 40 |
| A distinctive three-word phrase from 6 words ahead | yes | locked at word 49 |
| A distinctive three-word phrase from 10 words behind | yes | locked at word 33 |
Common words never move the position on their own: a re-lock needs at least two matching words with enough letters between them. A distinctive phrase moves the position only when it sits within roughly fifteen words of where the speaker was. Long scripts contain many coincidental echoes of short phrases, and a prompter that follows them across the document ruins recordings; a prompter that ignores them asks you to scroll for a long jump. Sayscroll takes the second trade.
6. Digits, symbols, and a language switch
Two smaller checks with practical consequences. First, the same spoken sentence against a script written with digits and against one written as words:
| Script as written | Script words matched | Went off script | Reached the end |
|---|---|---|---|
| In 2026, 15% of viewers watched on a phone, and that was up from 8%. | 14 of 15 | yes, briefly | no — “8%” never highlighted |
| In twenty twenty-six, fifteen percent of viewers watched on a phone, and that was up from eight percent. | 18 of 18 | no | yes |
Recognition transcribes what it hears, so “twenty twenty six” cannot match “2026”. The matcher stepped over the digits and recovered on “of viewers”, but the sentence-final “8%” had nothing after it to recover on and was never highlighted. Write numbers the way you say them; the same applies to acronyms and unusual names.
Second, a Spanish sentence inside an English script: “Welcome back to the channel and thanks for watching. Como decía mi abuela, lo barato sale caro, y por eso hoy probamos tres micrófonos. So let us find out whether the cheapest one actually holds up.” Fed word by word, tracking was 100% with no off-script moment at either switch. Matching works on normalised words with accents stripped, so the language of a word is irrelevant to the matcher; whether the speech engine transcribes both languages correctly is the real question, and Sayscroll's does across 60+ languages, with the site's language hinted first on each localised site (see the Spanish teleprompter page for the hint's effect).
What this means in practice
- Pauses are free. Stop for as long as you like; after thirty seconds of silence the prompter pauses fully and resumes on a tap.
- Ad-libs are free. Any length, and reading resumes on the second word.
- Flubs are free. Re-read the sentence in place; the prompter follows you back within two words.
- Small skips are free, up to about a dozen words. For a longer jump, scroll to the line you want and the prompter continues from there.
- Write what you say. Numbers, acronyms, and names in their spoken form.
- Mixed languages are fine for the matcher; give the speech engine the right hint by using the localised site for the language you mostly speak.
Limitations
The harness tests the matcher, not the microphone. Real recognition quality depends on accent, noise, and distance from the mic, and the noisy-transcript scenario is a proxy for that, not a measurement of it. Latency is not measured here; the live engine streams audio in small slices and the scroll is damped so the text glides rather than jumps, but that is a separate property. The script is 350 words in one language pair, and the scenarios are synthetic and deterministic. None of this replaces reading a real script on camera, which is why the protocol below exists.
Run the protocol on any prompter
- Straight read. Paste a 300-plus-word script in short lines and read it at a natural pace. Does the highlight stay on the word you are saying?
- Pause. Stop mid-sentence for five seconds. Does the text wait?
- Ad-lib. Talk off script for twenty seconds, then return. Does the position hold, and how many words does the re-lock take?
- Re-read. Say a sentence twice. Does the prompter follow you back or run ahead?
- Skip. Drop a line. Does it catch up, and how far can you skip before it stops trying?
- Decoy. While off script, say a few common words and then a phrase from a distant paragraph. Does anything jump?
- Digits. Include a year and a percentage written as digits. Note where tracking stalls.
- Second language. Include one sentence in another language you speak. Does tracking survive the switch?
Ten minutes on those eight steps separates “offers voice control” from “follows your voice”. The category-level comparison is in the best teleprompter apps; the design behind the local search window is explained on the voice-controlled teleprompter page; and the free demo lets you run every step above on a short script with no account.
Frequently asked questions
What happens if I go off script with a voice-following teleprompter?
With Sayscroll, the position holds during the aside, whatever its length, and re-locks on the second scripted word when you return. In the measured test, position drift during ad-libs of 3 to 40 words was zero.
How far can I skip ahead before the prompter loses me?
Skips of up to about a dozen words re-lock within two words. From roughly fifteen words on, the prompter deliberately holds; you scroll to the new section and the prompter continues from the line you scroll to. The narrow window is what prevents false jumps to distant paragraphs.
Does a misheard word break the tracking?
No. Short words must match exactly, longer words tolerate a letter or two, and a small lookahead steps over dropped words. With one word in five dropped or garbled, tracking still stayed on the spoken word 99.6% of the time in this test.
Can I reproduce these numbers?
Yes. They come from a deterministic harness that runs the eight scenarios through Sayscroll's script-matching engine on a fixed 350-word script; re-running it produces the same tables. The manual eight-step protocol in the post gives you the same checks on any prompter.
Keep reading
The Best Teleprompter Apps in 2026: How to Choose
Five kinds of teleprompter apps compared on twelve criteria — voice following, languages, recording, platforms, privacy, price — plus the test protocol we use, so you can run it yourself.
Voice-Controlled vs Fixed-Speed Teleprompters: What Actually Changes
One scrolls on a timer, the other scrolls because you spoke. That difference changes pacing, pauses, retakes, and setup. A criteria-by-criteria comparison.
What Is a Voice-Controlled Teleprompter?
A plain-language explanation of voice-controlled teleprompters — how speech tracking works, what happens when you pause or improvise, and why it beats fixed-speed auto-scroll.
Related pages
Voice-Controlled Teleprompter
The script moves because you are speaking — it starts when you start, waits when you pause, and needs no remote, pedal, or operator.
AI Teleprompter
The AI is real-time speech recognition plus word matching. Here is exactly what it does, what it can't do, and why it changes how you read.
Free Teleprompter
Paste a script and start reading — no account, no download, no card, no watermark. Here is exactly what free includes.

Speak naturally — Let the script follow you
The AI teleprompter that scrolls as you speak — in 60+ languages.