Table Read
Hear your script read aloud, with a different voice for each character.
Starting a Table Read
Choose Tools > Table Read. A panel opens along the bottom of the editor and shows the script line by line. Press Play to start reading from the line shown, or From cursor to start wherever your cursor is in the script.
While the script is read:
- The panel shows the line being read in large type, with the word being spoken highlighted, the line before it, and the lines coming up.
- The same line and word are highlighted in the script itself, which scrolls to keep up. Turn off Follow along in the script in the options if you want to keep reading elsewhere.
- Click any line in the panel to read from there.
Controls
| Control | What it does |
|---|---|
| Play / Pause | Pausing remembers the word the voice reached; Play picks up from there. Space does the same while the panel has focus. |
| Previous / Next line | Skip a line either way. ↑ and ↓ work too. |
| Previous / Next scene | Jump to the start of the scene, or the next one. |
| Stop | Ends the read and clears the highlight. |
| Speed | From half speed to double speed. |
What Gets Read
Each character’s dialogue (and lyrics) is read in that character’s voice. Everything else — scene headings, action and transitions — is read by the narrator. Open the options (⚙) to choose which of these are read, and whether parentheticals and character names are read aloud too.
Scene headings are read the way a reader would say them: INT. KITCHEN - NIGHT is read “Interior. Kitchen. Night.” Names written in capitals are read as names rather than spelled out. The title page, notes and outline sections are never read.
Choosing Voices
Every character gets a voice automatically — a different one for each, as long as there are enough voices to go round, matched to the character’s Gender where the profile gives one and the voice’s gender is known.
To choose a voice yourself, open the character in the Characters panel and pick one under Table Read Voice. The ▶ button plays a sample — a line from the character’s Sample Dialogue if you have written one. The same choice is available for every character, and for the narrator, in the Cast list in the Table Read options.
A character’s voice is saved with the script. If you open the script on a computer that does not have that voice installed, an automatic voice reads instead, and the voice you chose is kept for when the script is back on a machine that has it.
Where the Voices Come From
Table Read can speak with the voices installed on your device, or with an AI voice provider. Switch between them with System voices / AI voices at the top of the Table Read panel, or in Tools > System Settings > Table Read Voices. The app starts on the installed voices; in a browser, Table Read asks which you want the first time you open it.
System voices: the voices on your device
Installed voices are free, and in the app they work offline.
- macOS: System Settings > Accessibility > Spoken Content > System Voice > Manage Voices adds more voices. The Premium and Enhanced voices sound best.
- Windows: Settings > Time & language > Speech > Add voices.
- iPhone and iPad: Settings > Accessibility > Spoken Content > Voices.
- Android: Settings > Accessibility > Text-to-speech output, and the voice data of your speech engine.
- Linux: install
speech-dispatcher(which providesspd-say) orespeak-ngfrom your distribution.
In a browser, the browser offers your computer’s installed voices, so the same steps add more. Which ones appear depends on the browser. Some also list online voices of their own — Chrome’s “Google” voices, Edge’s “Online (Natural)” voices — which send the text to that company to be spoken; they are marked online in the voice lists.
macOS also lists sound-effect voices such as Bubbles and Zarvox. They are marked novelty and are never chosen automatically, but you can pick one for a character if you want to.
AI voices
Choose AI voices on the panel, and Table Read asks you to pick a provider (and add your API key, if it needs one) the first time. The choices:
| Provider | Cost | What you need |
|---|---|---|
| Kokoro | Free | Nothing. Runs on your own device, so the script is never sent anywhere. The first read downloads the voice model from Hugging Face: about 165–330 MB when your device’s graphics chip can run it, which reads quickly, or about 90 MB on the processor, which is much slower than speech. English voices only. |
| Google Gemini | Free tier, with daily limits | A Gemini API key from Google AI Studio. Gemini takes each character’s parentheticals and Speech Pattern as directions for how to say their lines. |
| OpenAI | Paid | An OpenAI API key. |
| ElevenLabs | Small free allowance | An ElevenLabs API key. The word highlight follows the audio exactly. |
| Microsoft Azure Speech | 500,000 characters a month free | A Speech resource key and its region (e.g. eastus) from the Azure portal. |
| OpenAI-compatible server | Whatever your server costs | The address of a server that offers OpenAI’s speech API — for example Kokoro-FastAPI or LocalAI on your own machine. |
Use Test voice to check the setup before a read. API keys are kept only in your browser or on your device, and are sent only to the provider you chose.
Confidentiality. Every AI voice except Kokoro sends the text of your script to the provider to be spoken. This may breach your data security or confidentiality obligations — an NDA, a studio’s policy, or your own rules for unreleased work. OpenDraft does not guarantee the confidentiality of anything sent to a third-party provider. On Gemini’s free tier, Google may use what you send to improve its products, and human reviewers may read it. Table Read shows this warning whenever such a provider is in use. For a confidential script, use the voices installed on your device or Kokoro.