MANUAL · 05
How the DJ works.
There's no human at the desk. An LLM picks every track, writes every line, and a text-to-speech voice reads it out. Here's how that adds up to a station that sounds like a station.
PICKING TRACKS
One song ends, the DJ chooses the next.
Every transition is a decision. By default the DJ runs as a small agent: it digs through your library with real tools — similar artists, mood tags, playlists, even a “sounds like” audio search — and picks the next track itself, steering by the time of day, the weather, and the current mood. If the agent fails or runs slow, the station quietly falls back to a simpler pick: it gathers a pool of candidates — songs in a similar mood, similar artists, recently-added and frequently-played albums, matching playlists — and the model chooses one from the pool.
And if the model can’t be reached at all, a pre-built playlist keyed to the current mood keeps the station on the air. The music never stops; the DJ just goes quiet until the model comes back.
The two pickers are compared in the FAQ. A persona with DJ mode switched on goes further still — plotting short two-or-three-track runs through tempo and key, and timing its mixes to how each track actually ends, using the station’s acoustic analysis.
THE DJS
A roster of personas, one on the mic.
The station keeps a roster of personas — each one a name, a soul (the character brief behind everything they say), and a few behaviour knobs: their own voice, their own language, how chatty they are, how long their scripts run. Three ship out of the box — Marlowe, Wren and Hale — and the roster grows to forty-eight from the admin console.
One DJ is on the air at a time: the persona you’ve made active, or whoever owns the scheduled show that hour. When the mic changes hands, the handover happens on air — the outgoing DJ signs off in their own voice and the incoming one picks it up in theirs. Every line is generated fresh; nobody reads from a script.
There’s also a community catalog of personas shared by other stations — browse it, then install any of them from your own admin console.
THE VOICE ENGINE
Local voices, or the cloud.
The DJ’s words are written by the language model, but turning them into speech is a separate job. Six text-to-speech engines render the voice: Piper and Kokoro run locally, Chatterbox and PocketTTS in an optional sidecar, a Cloud engine reaches OpenAI or ElevenLabs, and a Remote engine points at a TTS server you run yourself. Each persona can carry its own voice, the operator can mix engines per kind of segment, and if one ever fails the station drops to a local voice automatically, so the DJ never goes silent.
The full rundown is on the Voices & TTS page: every engine, enabling the tts-heavy sidecar, voice cloning, and running Chatterbox on a GPU.
WHEN IT TALKS
Links, IDs, the time, the weather.
Between tracks the DJ does what radio DJs do — a short link tying one song to the next, a station ID, the time at the top of the hour, and between-track segments: a weather note when the conditions change, a news brief, a curiosity, an album anniversary, a deep cut from your own library. Spoken segments ride over the music: the track ducks down while the DJ talks, then comes back up.
How chatty each DJ is, is a frequency knob on the persona, on a five-step ladder from silent up to aggressive. A silent DJ speaks only when asked; a quiet one checks the time every couple of hours and drops one station ID an hour; an aggressive one idents three times an hour and fills the gaps between with segments.
Listener requests get their own on-air moment — the DJ acknowledges each one before it plays; see Making Requests. The between-track segments are skills, and you can edit them or write your own — see Custom Skills.
SHOWS & SESSIONS
It keeps a thread going.
The DJ runs in sessions: a continuous block with a memory of what it’s already played and said, so its links stay coherent instead of starting cold each time. A session can be a scheduled show the operator paints onto a weekly grid, or an autonomous block keyed to the time of day and the dominant mood. A mood turnover mid-run is the same DJ on the same shift — the session carries on. A show boundary, or a block ageing past four hours, rolls it over to a fresh one with a short handoff note carried forward.
Shows can go further. Invite up to three guest co-hosts and the personas share the studio — the host keeps most of the mic, a guest takes the occasional segment, and opt-in banter breaks air short scripted exchanges between the voices. Or run a show as a programme: a produced episode with an intro at the top, one feature segment each hour, and an outro at the close.