Mastodon Politics, Power, and Science: Stop Looking at Your Notes: A Python Teleprompter for Perfect Timing

Tuesday, December 2, 2025

Stop Looking at Your Notes: A Python Teleprompter for Perfect Timing

J. Rogers, SE Ohio

If you have ever tried to record a YouTube video, give a Zoom presentation, or deliver a speech, you know the struggle. You look down at your notes, you lose eye contact with the audience, and you lose your train of thought.

Commercial teleprompter software is often expensive, bloated, or runs inside a browser with jittery scrolling.

I decided to solve this with Python. Introducing Teleprompter, a lightweight, command-line tool built with Pygame that turns your monitor into a professional broadcast device.

Grab the code here:
https://github.com/BuckRogers1965/teleprompter

The Problem with Standard Prompters

Most teleprompter apps operate on an arbitrary speed scale (Speed 1 to 10). You have to guess which speed matches your talking pace. If you talk too fast, you wait for the text. If you talk too slow, the text scrolls off the screen and you panic.

The Solution: Duration-Based Scrolling

My Python Teleprompter takes a different approach. Instead of asking for speed, it asks for Time.

Do you have a 60-second slot for an elevator pitch?
Do you have exactly 5 minutes for a lightning talk?

You feed the script your text file and your target duration in seconds. The program calculates the total pixel height of the text, subtracts pause times, and determines the exact millisecond-scroll-rate required to hit your mark.

Bash
# Read my_speech.txt and finish in exactly 2 minutes (120 seconds)
python teleprompter.py my_speech.txt 120

Key Features

1. Mirror Mode for Real Hardware

If you use a professional teleprompter setup (a "beam splitter" glass placed in front of a camera lens), standard monitors show the text backward. This tool includes a --mirror flag that flips the UI horizontally, making it readable in the reflection.

2. Cognitive Offloading (Smart Pausing)

Reading a continuous stream of text can make you sound like a robot. To fix this, I implemented Smart Pausing. The script detects periods (.) and automatically stops the scroll for 0.8 seconds (configurable).

This forces you to:

  • Take a breath.

  • Let the sentence land with the audience.

  • add natural prosody to your speech.

3. Eye Contact Engineering

The script draws "Focus Markers" on the sides of the screen. This keeps your eyes pinned to a specific vertical position, preventing the audience from seeing your eyes scanning up and down the monitor.

How to Use It

It’s built on Python and Pygame. Installation is simple:

Bash
pip install pygame
git clone https://github.com/BuckRogers1965/teleprompter

Then, run it from your terminal:

Bash
# Normal mode
python teleprompter.py script.txt 90

# Mirror mode for glass setups
python teleprompter.py script.txt 90 --mirror

Why Open Source?

Teleprompters are simple tools, but proprietary software complicates them. By keeping this open source, you can hack the font sizes, change the colors to high-contrast yellow-on-black, or adjust the pause duration to match your specific breathing rhythm.

Check out the project on GitHub and start delivering better speeches today.

View on GitHub

No comments:

Post a Comment

Progress on the campaign manager

You can see that you can build tactical maps automatically from the world map data.  You can place roads, streams, buildings. The framework ...