Orate

Teleprompter speed by language: why one WPM number is wrong

Nearly every teleprompter treats scroll speed as one number that applies to every script you paste into it. For six of our ten launch languages that assumption breaks, and for two of them words per minute is not even a defined quantity.

Paste a Hindi script into most teleprompters and they will scroll it at whatever speed they would scroll English. Paste Chinese and the behaviour gets genuinely strange, because the app is counting spaces and Chinese does not have any. This is not an exotic edge case: it is the normal experience of most of the world’s readers using tools built and tested in English.

We had to solve it because six of our ten launch languages are affected. Here is what we learned, including where our own numbers are still guesses.

Words per minute is not one quantity

“150 words per minute” is a fact about English read aloud by a particular kind of speaker. Ported to another writing system it fails in one of three distinct ways.

1. The word is a different size

Tamil and Telugu are agglutinative. Grammatical work that English distributes across several short words — prepositions, auxiliaries, case markers — gets folded into a single longer word. A Tamil word therefore carries more syllables than an English one on average, and takes longer to say. Counting words and applying an English rate makes the prompter run visibly fast, and it does so worst at exactly the moment a reader is least able to recover: the middle of a long word.

Devanagari scripts — Hindi, Marathi — and Bengali sit between Latin and Tamil on this. Longer words than English, but not to the same degree.

2. There are no words to count

Chinese, Japanese and Thai are not space-delimited. Splitting on whitespace gives you the number of lines and punctuation groups, not words, and an app that does this will read a dense 400-character script as a trivially short one. The unit that works is characters per minute, and it is not comparable with any words-per-minute figure — putting the two on the same slider is a category error, not a rounding error.

Punctuation, whitespace and digits should not consume the budget either, because they are not spoken. We count only scalars that belong to a writing system.

3. The script is mixed

Real scripts mix constantly. A Hindi script quoting an English brand name, a Tamil script with a hashtag, an Arabic script with a phone number. First-match detection — look at the first character and decide — gets these wrong all the time.

We count characters per writing system across the whole script and take the dominant one. A Hindi script with three English words in it is a Hindi script and should be paced as one. Ties resolve deterministically rather than by whichever way a hash map happened to iterate, because a prompter that opens at a different speed on alternate launches is worse than one that is slightly wrong consistently.

The rates we currently use

Orate’s default pace per writing system, and the unit it is counted in
Writing systemLanguagesUnitDefault rate
LatinEnglish, Spanish, Portuguese (BR), IndonesianWords150 / min
DevanagariHindi, MarathiWords130 / min
BengaliBengaliWords130 / min
ArabicArabicWords130 / min
TamilTamilWords115 / min
TeluguTeluguWords115 / min
CJKChinese, JapaneseCharacters250 / min
ThaiThaiCharacters250 / min

Every one of them is adjustable from 40% to 200% of the default, because a default is a starting position and not a verdict on how fast you read.

These are starting points, not measurements

We want to be exact about the status of these numbers, because it would be easy to present them as research and they are not. They are informed defaults, chosen so the prompter opens at something sensible for the script in front of it.

Two places where published figures disagree with ours, both worth knowing:

Hindi. Guidance aimed at Hindi voiceover and news reading commonly cites around 100–110 words per minute, and at least one Hindi-specific calculator uses 105. We open at 130. Both can be defensible — broadcast delivery is slower than conversational reading, and a prompter default is not a voiceover spec — but if you are reading in a measured, formal register, 105 will fit you better than our default and you should turn it down.

Tamil. A published study of Tamil speech measures puts passage reading around 125–138 words per minute, above our 115. We are deliberately conservative here, on the reasoning that a prompter running slightly slow is easy to ride and one running fast is not.

What would settle any of this is data from real takes rather than argument. Our recording events carry the script’s language for exactly that reason, so the actual distribution becomes measurable. Until then, treat the table above as a sensible place to start and calibrate yourself.

Calibrating, whatever language you read in

The method does not care about the writing system, which is its advantage over any table:

  1. Read your own script aloud for 20 seconds at the pace you would use on camera.
  2. Count the units you got through — words, or characters for Chinese, Japanese and Thai.
  3. Multiply by three. That is your rate.
  4. Set the prompter to it and read a paragraph. If you are catching up to the text, you are too slow; if you are waiting, too fast.

Do it once per language you work in, not once overall. Most bilingual readers are noticeably faster in one of their languages than the other, and a single saved speed will be wrong for one of them.

Right-to-left is not mirror mode

A last one, because it is the bug we see most in this area and it is easy to ship by accident. Arabic needs right-to-left layout: text aligned right, lines flowing the correct way. A prompter also has a mirror mode, which flips the image for reading off the beam-splitter glass of a physical rig.

These are two independent mirrors. An app that implements right-to-left by reusing the mirror transform will cancel one against the other, and the symptom is Arabic that reads backwards only when mirror mode is on — which is to say, only on the physical rigs where nobody is looking at the phone to notice. They have to be separate transforms, and they have to compose.

If you came here to time a script rather than to set a speed, how long it takes to read 500 words out loud has the per-language tables and works in both directions.

Ten languages, paced per writing system

Orate detects the script you pasted and opens at a rate appropriate to it, in words or characters as the writing system requires. All ten languages are complete, and right-to-left is independent of the prompter’s mirror.

See how Orate works
Keep reading