Narration, scene art and ambience

The Dungeon Master read aloud, a voice for every speaker and theatre inserts, scene art and portraits painted during play, the Sound panel and its library, and the switches that control each of them.

Desktop appAndroid appBrowser

Three optional layers sit on top of the text: a voice that reads the Dungeon Master aloud, pictures painted for scenes and faces, and a bed of . Each depends on a service the server has, and each fails soft: when the service is missing the layer stays off, or a placeholder stands in, and the session carries on.

Narration

With on in the campaign's , every Dungeon Master passage is read aloud in the campaign's narrator voice, picked from the voices the speech server lists ( offers ten; Heart, a warm female voice, is its default). Playback starts when the first audio chunk is ready; the rest streams in as it is generated. Each listener has their own mute, volume and replay in the , and a read-aloud button sits on every passage. Audio is generated once per passage and cached on the server; a passage that could not be read aloud says why. A slow speech request is retried once, with a timeout that grows with the passage, and a passage that has gone stale is skipped with a note rather than played late.

Browsers hold sound back until you click the page. When yours does, a Narration is waiting banner on the table counts what is held; one click plays the newest passage, and the older ones keep their replay buttons.

Every speaker can have a voice. The Narration and character voices group has the voice controls: the party, and each kind of monster take a voice, players set their own character's, and Cast the others fills in the rest from the sheet, the NPC's traits and the story. A quoted line is read in the voice of whoever the prose says spoke it.

Narration needs a speech service the server can reach: Kokoro, or any speech server (OpenAI's own included), chosen in the under Speech on a self-hosted server. On a the app's Settings has a Narration and sound card for the same choice: OpenAI's voices on the saved key, a Kokoro found on this computer or on your network, or on screen only, with Hear a sample. When speech is unavailable, the table settings say why nothing will be read aloud. Story AI chooses who writes the story; Narration chooses whether those words are spoken.

Faces and theatre inserts

Theatre inserts in Table settings, Atmosphere puts a portrait and name over the scene when an speaks. The presentation choice applies to the whole table.

Scene art, portraits and maps

With an the Dungeon Master paints inline scene art as the story moves, location pictures for new places, and character portraits at creation. At a table playing in another language, the picture prompt is rewritten into English first, since image models read English best. Every picture can also be uploaded by hand wherever the AI would paint one; without either, painted portraits for each race and class stand in. On an the OpenAI key that tells the story can also paint, once an image model is selected; on a self-hosted server the administrator chooses , an image model, or a . Pictures are queued behind on a shared GPU, so a scene picture can arrive a little after its paragraph. On the desktop, an agent you already have can paint too: Codex and Grok Build, once one test picture succeeds on your machine. The sets pictures on or off, their shape, fast or slow quality, and the campaign's Art style; scene pictures take a look that suits the setting, and carry no labels. themselves are painted on your device from terrain and never need an image backend.

An old or interrupted request shows Image tool requested with a Generate button, so nothing is lost when a backend was busy.

Ambience and music

A catalogue of 78 in three layers (a room bed, music, and stings) is driven by the Dungeon Master, by a from the console, or inferred from the scene when Follows the scene is on; a place or a fight's kind of scene picks its sound. Each listener has a volume, and ambience ducks under .

The Sound control in the table header (inside on a phone) opens the : what is playing now, the Room and Music rows with several takes per cue, Next to skip to another take, a level for each layer, and tile pickers for whoever steers the story.

The is open-licensed recordings (public domain, Creative Commons and OpenGameArt), each credited on the server's licences page. A self-hosted server set up from the source has it already. The desktop and Android apps leave it out of the installer: the first launch's Voices and music step and the app's Settings, Narration and sound, offer Download the sound library (about 75 MB, kept across app updates), and so do the Sound panel and the 's Sound library card for an admin at a table with no library. The table hears the first cue when it lands. Players joining someone else's world hear the host's library.

Where the switches are

SwitchWhereWho
on or off, the voice ( or DM)
Voices for the party, cast and monstersTable settings, Narration and character voicesStory authority; each player for their own character
Your own narration volume, mute, replay, You
Theatre insertsSettings, Table settings, AtmosphereStory authority
Pictures on or off, shape, speedSettings tabStory authority
on, follows the sceneSettings tabStory authority
What plays, Next, layer levelsWhoever steers the story
Your own ambience volumeVoice dock, device settingsYou
, reduced motionAccount settings, the OSYou

Checked against desktop and Android app 0.19.4 and server 0.28.4 on 2026-10-21. Something wrong or missing? Open an issue.

Download · v0.21.2
Server app · v0.30.2

Optional. Runs the table for a whole group on one machine that stays on. Everyone else just installs the app.

Free & open source · MIT licensed · served from GitHub releases