FollowSpot

A teleprompter that listens, running Whisper on your own machine.

JavaScriptwhisper.cppWhisperWeb AudioBash

Read your script out loud and the highlight follows you. Skip a sentence, flub a word, or ad-lib a little and it keeps going. Stop talking and it stops too.

The listening is a whisper.cpp model you choose, served on 127.0.0.1, so your audio never leaves your laptop. I built it because I have the energy of a theater kid and can't memorize lines, and the prompter apps I had didn't let me pick the model or set up the screen the way I wanted.

how it works

  1. 01

    Listen

    Every quarter second, while you are talking, the page sends the last 3.5 seconds of audio to a local whisper-server.

  2. 02

    Match

    The transcript gets fuzzy-matched against the script around your place, so misheard words and ad-libs don't lose it.

  3. 03

    Follow

    The highlight moves and the page scrolls to keep your line at lens height. Click any word to jump there for a retake.

try it

brew install whisper-cpp
git clone https://github.com/JoeKarlsson/followspot.git && cd followspot
./followspot download small.en
./followspot download vad
./followspot your-script.md

Scripts are plain Markdown. Stage directions are shown dimmed and never listened for:

# Episode 12 notes (ignored)

---

*[Wide shot. Lights up.]*

Hey, welcome back. Today I'm going to show you something I built
because I can't memorize lines.

---

Shot list down here is ignored too.

ls screenshots/

A wide column makes your eyes sweep on every line. A narrow one centered on the lens hides it.

FollowSpot with a wide text column stretching most of the way across the screen
Default: wide column
FollowSpot with a narrow text column centered on screen, three or four words per line
How I run it: 30% column over the lens
← cd ../projects