Practice a script until it sounds like yours.
A browser rehearsal room for actors, speakers, students, and anyone learning spoken text, with Fish Audio and local voice paths for the scene around your lines.
Start a rehearsal01 / Overview
What Mem Lines does
Mem Lines reads the other parts of a script aloud, waits for your part, and listens as you say it. The line is compared as you speak, so practice can keep moving without stopping to type.
It is designed for a focused, repeatable loop: hear the scene, say your lines, see what matched, then run it again with less help.
02 / First run
From document to rehearsal
- Add your material. Choose one or more PDFs, text files, or images, or paste lines.
- Arrange and start. Reorder documents, wait for each one to say Ready, then press Start.
- Choose your part. Mem Lines turns the extracted dialogue into a cast list.
- Rehearse. Hear partner lines, tap Dictate or use Automatic mic mode on your turn, and continue when the line passes.
- Repeat or hide help. Loop a cue, hide your lines, or use the controls to move through the scene.
03 / Practice surface
Small tools for a better memory loop
Ordered documents
Combine pages from several sources and keep their order visible before rehearsal.
Text and image intake
Use PDF text layers when available, with local OCR for scans and images.
Live matching
Partial speech lights words as they are heard. Green is a close match; amber marks a word to revisit.
Voice paths
Fish Audio is the default cloud voice, Natural is the fast offline option, Studio prioritizes quality locally, and Built-in is the device fallback.
Hide mine
Blur your upcoming lines while keeping the scene around them readable.
Local-first rehearsal
Speech, voice, and OCR normally run in the browser. Cloud speech is a clearly marked fallback.
04 / State map
The rehearsal loop
Every state has one job: prepare, listen, match, or move.
05 / Cloudflare
What runs at the edge
Cloudflare Pages serves the web app. Pages Functions provide the same-origin endpoints used for Fish Audio, the optional Cloud speech fallback, and the two usage meters.
Fish Audio sends one partner line through the same-origin function; the key stays server-side. When local speech is unavailable, a short recording goes to Workers AI Whisper. D1 stores the app’s daily counters. Uploaded scripts and audio are not stored by these endpoints.
06 / Usage
What the usage bars mean
The upper bar tracks Cloudflare AI speech usage in estimated neurons. It is a meter, not a score for your acting and not a measure of how much you have memorized.
The lower bar tracks UTF-8 text sent to Fish Audio. Local speech, Natural, Studio, and Built-in do not spend either cloud allowance. Both meters reset at 00:00 UTC; when a cloud allowance is full or unavailable, local paths remain available.
07 / Architecture
One rehearsal, five moving parts
Owns the interface, document queue, parsing, OCR, voice playback, local Whisper, and word matching.
Turns extracted rows into cues, tracks the selected part, and advances only when the current line matches.
Fish Audio is the default cloud voice; Natural is the fast offline option, Studio is the high-quality local option, and Built-in is the device fallback.
Hosts the static app and coordinates Fish Audio, short-audio transcription, and usage endpoints.
The browser keeps local preferences and model caches; D1 keeps the server-side daily counters. Uploaded scripts and audio are not stored by the cloud endpoints.
08 / Help
Troubleshooting and FAQ
My PDF is still processing.
Keep the page open while the per-document bar moves to Ready. Scanned PDFs and large images take longer because OCR runs locally. If a file fails, use Retry or paste its text into the editor.
The script needs repair. What should I do?
Review mode shows the extracted lines. Label spoken cues as NAME: line, remove page furniture, then choose Use this script.
The microphone is gray or does not start.
Allow microphone access for memlines.com, then tap Dictate again. Automatic mode starts listening on your turn; Tap / space gives you explicit control.
Why did cloud speech stop?
Cloud speech has a shared daily app allowance. The upper bar shows its estimate and reset time. Try local speech, or wait for the next UTC reset.
What is Fish Audio mode?
Fish Audio is the default cloud voice for partner lines. It uses the site’s configured API allowance and a daily cap; Natural is the fast offline fallback, while Studio and Built-in remain available.
Does Mem Lines save my script?
The browser processes the script for the current rehearsal. Pages Functions handle only the short partner line or fallback recording and usage metering; they do not store your script or generated audio.
Mem Lines
Rehearse your lines against the scene.
Which part are you reading?
One line per cue, written as NAME: line.