Dramatis

Solo project · design & engineering · 2026

Dramatis is a prototype that explores what a full-cast audiobook made with current AI voice models could sound like. I built it to test how much of the production process could be automated while keeping the experience closer to reading a book than operating an audio workstation.

Traditional full-cast audiobooks are expensive and complicated to produce. They involve multiple actors, recording sessions, direction, editing, and mixing. I wanted to see whether current generative audio could automate enough of that process and produce something that actually works as an audiobook.

Dramatis takes a piece of fiction, identifies narration and dialogue, builds a cast of characters, assigns voices, generates speech, and plays it back as one continuous reading experience.

Dramatis reading view showing character-highlighted passages, cast assignments, and audiobook playback controls.

Visit Dramatis (opens in a new tab)

How it works

Dramatis uses an LLM to interpret the source text. It separates narration from dialogue, identifies who is speaking, and picks an initial voice for each character.

I treated those decisions as a starting point, not a final result. Instead of moving corrections into a separate production interface, a lightweight editor keeps them in the reading view. Passages can be reassigned, the cast adjusted, and voices changed without leaving the text.

Playback

Generated clips only work as an audiobook if they feel like one continuous performance. I built a reader that keeps playback synchronized with the text and highlights the current passage as it is read.

Details

The interface follows one principle: it should feel closer to a book than an audio workstation. I kept it restrained and borrowed from the visual language of books and publishing, so the text stays central and the controls do not take over the screen.

The model’s decisions remain editable. Any selection can be assigned to any member of the cast without rerunning the analysis.
Selected passage panel with controls for expressiveness, pace, and delay
ElevenLabs’ technical controls are mapped to settings for expressiveness, pace, and timing.
Story panel showing saved time, passage readiness, audio length, generation controls, and playback
Story-level controls are separated from passage editing, with generation status, global actions, and playback in one persistent panel.

Learnings

Text interpretation turned out to be the most reliable part of the pipeline. The LLM can separate narration and dialogue, identify speakers, and even infer how individual lines should be delivered. It worked much better than I expected.

The harder problems appear later, in the audio models. A full cast gives a book a noticeably different character, but transitions between generated passages do not always sound natural. Voices can drift, and the performance can lose continuity across a scene.

Direction introduces another tradeoff. More expressive models can make individual lines fit the scene better, but their performance varies more from passage to passage. More stable models keep a character’s voice more consistent, but give you less control over delivery.

Voice blending may help the cast sound more cohesive. But every extra layer of direction and tuning brings back some of the production work that AI was supposed to remove.