Persona
Who the station is when it opens its mouth: the character a model writes in, the phrasings underneath it, the voice that says them, and what it plays
Attributes (29)
| Attribute | Type | Required | Description |
|---|---|---|---|
id | string | Yes | read-only |
key | string | Yes | A stable slug, unique per station. What a log line names and what a seeded persona is recognised by |
kind | 'host' | 'caller' | 'newsreader' | 'guest' | No | The one of kinds that ranks highest, host first, kept for clients built before a character could be several things. Sent without kinds, it is a character of this one kind; sent with it, kinds wins. Absent means host |
kinds | ('host' | 'caller' | 'newsreader' | 'guest')[] | No | What this character may be cast as, in any combination. A host presents, which is the station's own voice or a show's; a caller phones in to a production and a guest drops by the studio on a visit, both cast per programme and never onto a show the character is presenting that night; the newsreader reads every news bulletin, in its own character and voice, whoever is hosting, and the station has at most one. Absent means kind alone, or host |
label | string | Yes | |
style | string | Yes | Completes "You are …". Who they ARE; the sheet below carries how they talk |
djName | string | No | The name this character goes by on air, overriding the station's own while it is active |
voice | string | No | The station voice that speaks this persona, as the id a speech plugin maps. Empty means that plugin's default |
soundboard | string | No | The soundboard this character has to hand, as the name of a board in the pad library. Empty for a presenter who works without one. What reaches a model is the names of the pads on that board, never this word |
diction | string[] | No | The dialect: grammar and substitutions that apply to every sentence rather than to a subject |
dictionMarkers | string[] | No | Words whose presence proves the dialect survived. What a model's answer is checked against |
quirks | PersonaQuirk[] | No | What they always and never do on air. One with a cadence is something they do only now and then, and the station decides which breaks |
preoccupations | string[] | No | The standing subjects they keep coming back to. Exactly ONE reaches any one break, chosen by rotation, which is what makes a character sound like it has things on its mind rather than one thing |
catchphrases | string[] | No | Signature phrases, asked for sparingly |
avoid | string[] | No | Wording that breaks the character |
exclusiveSubjects | string[] | No | Subjects this character takes one at a time. Each entry is ONE subject, written as the comma-separated words that mean it ("bigfoot, sasquatch, yeti"), and a break that brings up words from two of them is refused and written again. A word inside a record's title does not count |
background | string | No | A couple of grounded facts they may self-reference |
brevity | 'short' | 'one-line' | No | How much this character says. Absent for the station's ordinary length; the rung above it is latitude, which is a different kind of thing rather than a longer one |
latitude | 'loose' | 'unleashed' | No | How much room this character is given, above the station's ordinary discipline: a bigger word ceiling, a licence to follow the thought instead of making one point, and at unleashed no restraint on how it says it. Offered only by the ordinary talk break, always outranked by the station's content policy, and it switches off no refusal |
chattiness | 'reserved' | 'sparing' | 'ordinary' | 'chatty' | 'relentless' | No | How often this character talks, as a scale on the station's own interval between breaks. Absent is ordinary, which is that interval unchanged. The quietest rung is half as often and never silence: turning the station's breaks off is a station setting, and two switches for one thing can disagree |
storytelling | 'never' | 'occasionally' | 'often' | No | How readily this character works one of its own stories into an ordinary talk break. Absent is occasionally, which offers one only where the station knows nothing about the records either side. The stories themselves are their own list, and a story band on the clock outranks this whatever it says |
growth | 'proposes' | 'self-directed' | No | Whether the nightly passes may write this character new material outright, or only ever propose it for you to accept. Absent is proposes, which is what every character does until somebody says otherwise. It reaches no prompt: the character is never told which it is |
trivia | 'keen' | 'never' | 'always' | 'sometimes' | No | How much this character leans on what the station knows about a record. Absent is the station's ordinary break, where the notes are optional and two at most. At never the break is shown none of them and nothing is rested. At always the station chooses one fact for every link, where it has one, and asks for it to be said beside the presenter's own patter. At sometimes a share of links are treated as always and the rest as never, drawn per link. At keen each record brings up to four, one each about the recording, its album and its artist before a second about any, and the break is built out of them with the room to tell one. Offered only by the ordinary talk break, and the grounding rules do not move: it may still say only what a note says |
samples | string[] | No | Lines in their own voice, used as examples and as a console preview |
templates | string | No | This character's own break phrasings, one per line. Empty means the station's own five |
hosts | string[] | No | The hosts this character rings in to or drops by on, when it is a caller or a guest, as persona ids. A tied character is cast only into a phone-in or a visit one of them presents; absent or empty turns up on whoever is presenting. Sent on a character that is neither, it is refused, and every id must be one of this station's hosts. Deleting a host, or making it something that cannot present, unties the characters tied to it rather than silencing them. Saving a caller or a guest without it clears its ties |
defaultHost | boolean | Yes | The station's own host: who presents when the broadcast on air names nobody. At most one per station. Was active until it was renamed, because a reader who had not read PersonaRepository.presenting reasonably took that to mean "on air", which it is not during a show that named its own host. read-only |
presenting | boolean | Yes | Whether this character is the one writing breaks right now. Derived per request from the running order, falling back to defaultHost, through the one place that precedence lives (PersonaRepository.presenting). Never stored, so it cannot drift from what the director is actually doing. read-only |
coHosting | boolean | No | Whether this character presents BESIDE the one writing breaks on the broadcast on air: one of the co-hosts the schedule put on for tonight, read from the same running order as presenting. Present and true only for them, absent for everybody else, so a client built before it reads no change. Never true alongside presenting. read-only |