STATION MANUAL / OPEN LINES
WTF is this?
Undertow is an experimental internet radio station and an adversarial musical instrument, built around Lyria 3.5, Google's full-song music model. Humans call in with ideas. A resident DJ decides whether each call should be preserved, constrained or interpreted. Lyria renders exactly one authorized musical world from it. And the station keeps the exact causal chain underneath the record: who asked for what, what the DJ did about it, what went to the provider, what came back, and what it cost.
- Not an AI radio startup.
- Not a recommender, not a playlist generator, not a prompt vending machine.
- No engagement metric aiming at your dopamine. There isn't even a skip button.
The whole arrangement rests on one sentence: the audience gets influence, the DJ retains taste, Lyria retains surprise.
Why would anyone build this?
Two questions, in order of age:
Can Lyria be cornered past its conventional arranger priors into music that feels genuinely undiscovered?
Lyria is very good at producing competent, fully-arranged, vaguely cinematic music from almost any request. That competence is exactly the problem. The research programme is adversarial: identify what the model reaches for by default, close those escape routes, and leave one small, consequential relationship alive that it has to actually think about. Not "make a banger" — corner the instrument.
Can geographically separated people meet in a musical space that did not exist until they transmitted into it?
A radio station is a shared room that nobody owns. Undertow extends that: the room's music only exists because people called into it. That is the social half of the experiment, and it is younger and less proven than the adversarial half.
Both of these are open questions. This manual describes a working instrument and its direction — not a settled result.
How do I play with it?
- Tune in. One button. Sound starts when you choose it. The stream follows the station's broadcast clock — you hear what the station is playing, at the point it plays it. It is not a personalized feed and it never will be.
- Read the record. The current transmission shows its title, the originating call, the DJ's stated intention and the retained musical brief. Inspection is encouraged. Nothing about what aired is hidden behind a login.
- Open the line. Send a thought — a story, a correction, a feeling you cannot name. Up to 1,200 characters. A temporary cookie keeps the line fair for everyone; nothing else is attached to your call.
- Understand influence. Your call is influence, not control. The DJ decides where it goes. Some calls become the whole record. Some become one grain of it. Some never reach sound at all — and if the provider refuses a call, that refusal is retained as exactly what happened, not hidden.
- Correct it. A correction can revisit a previous interpretation. Corrections are parent-linked to the calls they answer, so the lineage stays readable.
- Pull a tape. The room's tape rack holds retained transmissions. Pull one into the booth to replay it, and unfold its insert to read the exact caller → DJ → Lyria chain for that record. The transmission log below the room keeps what has aired.
Being built, not public yet: sign-in, marks on sleeves and public caller credit exist in the station's private build and are on their way to the public room. When they arrive, credit on a public record stays your choice, every time.
What happens when I call in?
One chain, no hidden steps:
- CALLERyour text, retained exactly as sent
- ROUTEpreserve / constrain / interpret
- DJworks only on what the call left open
- LYRIA 3.5one authorized generation
- PROVIDER RESULTaudio and text blocks, byte-exact
- TRANSMISSIONgoes on air, or doesn't — honestly labelled
- TAPE / ARCHIVEthe record and its whole chain, kept
- RECALLoptional, later
The router sorts calls by what you actually supplied — it is mechanical, not a judgement of quality:
PRESERVE
You already supplied a coherent composition. The DJ gets out of the way: your text goes to Lyria verbatim.
CONSTRAIN
You supplied the interesting mechanism. The DJ closes escape routes around it without inventing a different composition on top.
INTERPRET
You supplied a vibe, a joke, a reference, a feeling, an underspecified desire. The DJ translates its underlying function into a small, fertile musical problem.
When the caller supplies the interesting mechanism, DJ creativity is a liability.
That is station law. The companion law:
Undertow should have a recognisable hand without having a recognisable recipe.
Why does some of it get weird — or fail?
Honestly, because the instrument is stochastic and the bar is high. Specifics:
- Lyria is stochastic.
- Two near-identical requests can produce different worlds. Neither is a bug; that variance is part of what is being studied.
- Provider refusals happen.
- Lyria runs behind Google's own filters. When a call is refused, that is a provider outcome — retained as exactly what happened, never retried, never laundered into "moderation". Undertow does not semantically moderate your call's musical meaning at all; the provider's decision is the provider's.
- Technical obedience can still be beige.
- A prompt can be followed to the letter and produce music with nothing at stake. Compliance and quality are different axes, and the station grades them separately.
- Smartie vomit.
- The named failure mode: conventional arranger reassurance — extra percussion, pads, arpeggios, harmonic bloom, sections/build/drop/climax, decorative novelty, generic journey — especially when it collapses the possibility of the small world the caller actually asked for. It is a gradient, not a binary; even keepers can have a little of it creeping in at the edges.
- One shot.
- One call, one draw. If it's beige, that beige is the honest record of what that call produced. Undertow does not secretly farm twenty candidates and show you the best one — that would make every "success" a lie about the instrument.
- Failures are kept.
- Refusals, ugly tracks, dead ends — they are evidence, not embarrassments. Nothing gets quietly deleted to make the station look better than it is.
What is it trying to sound like?
Not a genre. A set of current north stars — a direction the station steers by, and emphatically not a claim that any of them has been achieved:
- Underground / rebel optimism
- Bodily invitation
- Exploration and adventure
- Unity without flattening difference
- Celebration in shared nonspace
- Strange warmth
- Physical consequence — a kilowatt economy
- Repetition acquiring meaning before novelty
- Coherent unknownness, not decorative weirdness
Push the fucking button and see what happens.
You don't know where you are yet. Come in anyway.
We can meet somewhere that doesn't exist yet.
When Detroit, Berlin or New York get mentioned around here, they are lineage — where the idea of a station as an instrument came from — never style-imitation targets. Nobody asked Lyria for "Detroit techno" and nobody will.
What is actually under the hood?
The short version, readable in about twenty seconds:
- YOUthe public listening room, at the station's address
- THE EDGECloudflare Pages; an exact route allowlist; no credentials live here
- THE STUDIOan authenticated tunnel carrying only scoped, read-only projections of station state
- THE COREPython and SQLite; a persistent producer; the broadcast clock
- THE DJpreserve / constrain / interpret; cognition over what the call left open
- LYRIA 3.5full-song generation via the Gemini Developer API
- THE RECORDprovider-original audio, response blocks, receipts, hashes
- THE ARCHIVEevery recording playable with its full chain, in the operator room
Some load-bearing details:
- One authorized generation per call by default. Every paid attempt is reserved durably before the provider is called, inside a hard total spending cap; an ambiguous failure consumes its reservation rather than being retried in the dark.
- Provider-original audio is retained byte-exact — the MP3 you hear on an aired transmission is the provider's own file, not a re-encode.
- Every ordered response block is retained — audio and the model's returned text (structure and lyric markers), indexed exactly as it came back.
- Automated listening describes; it never judges. Machine observations of a recording are descriptive and adherence evidence only. They cannot award taste, gate airtime on predicted quality, or train anything.
- Human taste is one person. Adrian listens and marks records KEEP / MAYBE / NO. That is the only taste authority in the station.
- Programme state is separate from taste. What airs next is broadcast machinery; it is not a verdict on the music.
- The operator room is private — every retained recording stays playable there with its call, DJ interpretation, exact provider request and response, receipts, and selection and airtime history. Not every retained recording is public: aired transmissions are; the wider archive stays local until rights and privacy review say otherwise.
- The public edge carries no secrets. It forwards an exact allowlist of listener routes to the studio with its own scoped authority — never visitor identities, IPs or operator tokens.
- Analytics are aggregate-only. If you consent, the station measures product interactions (a tune-in, a call opened) through GA4. No caller text, no free text, no identifiers, no recording or request IDs. This manual page loads no analytics at all.
Who decides what
The station separates authorities that most products blur together. If you remember one table, remember this one:
| Question | Who answers | What that authority is |
|---|---|---|
| What did the caller write? | The caller | Exact retained text; never rewritten into "safe" prose |
| Preserve, constrain or interpret? | The router | Mechanical, based only on what the call supplied |
| The musical brief | The DJ | Authority only over what the call left open |
| The sound itself | Lyria 3.5 | One draw; stochastic; the provider's filters apply |
| What the audio contains | Automated listening | Description and adherence evidence — never taste |
| Is it any good? | Adrian | Human KEEP / MAYBE / NO; the only taste verdict |
| What airs next | Programme machinery | Broadcast state, separate from taste |
| What becomes public? | A human decision | Explicit, case by case; nothing auto-publishes |
What Undertow does NOT do
Explicitly, because the omissions are the design:
- Does not semantically moderate musical validity — no classifier decides your call is "too weird" or "not musical enough".
- Does not use automated listeners as taste authority.
- Does not infer Adrian's taste from engagement, reactions or popularity.
- Does not let money buy KEEP, airtime or release.
- Does not rewrite caller text into sanitized public prose.
- Does not use audience reactions as automatic DJ training or programming authority.
- Does not claim a provider success means an artistic success.
- Does not retry ambiguous paid calls automatically.
- Does not hide failed generations or refusals from the evidence record.
Evidence and provenance
Undertow keeps an unusual amount of trace data, on principle. For a public transmission you can inspect, right on the record: the caller seed, the route it took, the DJ's interpretation, the final provider-bound musical brief, the provider outcome, the recording's identity and duration, historical listening description as secondary evidence, cost where available, and caller attribution where the caller authorized it.
Progressive disclosure, never evidentiary disappearance.
Depth is folded away, not removed. When something is missing, the station says it is missing — absence of evidence in a view is never presented as evidence of absence in the archive.
Why tapes, records, and impossible time travel?
The room has a mythology, and the station is honest about where it starts. Vinyl is the current or recalled performance object. Tape is captured memory — the archive object. The recording deck makes the causal chain physical:
LIVE TRANSMISSION → RECORDING DECK → CASSETTE → ARCHIVE
Future dates, returned transmissions, impossible chronology — that is interface fiction, and it is labelled as fiction. It never fabricates a factual generation or play history. When a tape says it came back from a year that hasn't happened, the underlying record still knows exactly when it was really made.
Costs, support, and the human
Generation costs real money, and the station's design is to show its accounts: the transmitter log on the front page is built to carry the live request-path figure behind the current transmission and the station-to-date provider accounting, with their basis and per-provider breakdown. When the accounting projection is not being served, the log says exactly that — "cost record unavailable" — rather than filling the space with a made-up number.
There is a contribution line on the station page — one-off, toward provider computation. It buys no airtime, no approval, no publication, no musical success and no control of the DJ; it is not connected to live payment yet, and when it is, that will still be true. Money never becomes taste.
The machine is a side effect. The person who built it — Adrian Wedd — works on strange systems, AI integration and adversarial evaluation, and takes real problems that refuse to fit a brief: bring him the problem ↗. That door and the station's ledger are deliberately separate.
For engineers and researchers
The deeper end. Everything below is scoped to its actual evidence — dated, surface-specific, and machine-observed unless a human is named.
Public reading first: the Lyria Chronicles are Adrian's written record of red-teaming Lyria 3 Pro — an earlier model on a different surface, and the lineage this station grew out of. Start with The Ghost of What I Am and The Interrogation. The station's source is private for now; what follows are its integration findings against lyria-3.5 full-song, via the Gemini Developer API's interactions surface (observed 2026-09-06/07, retained specimens):
- The complete response body is the evidence authority. Every ordered step and block — text and audio — is retained byte-exact with a JSON-pointer index. A convenience accessor that returns "the audio" is not evidence of everything the provider sent.
- Declared MIME and actual container are separate facts. A request for WAV on the tested route returned an MP3 container with audio/mpeg declared. The station stores the bytes unchanged and treats container identity as an observation, not a promise.
- The returned "structure" text is marker notation, not JSON. Across the retained corpus, the text blocks accompanying audio are section-type/occurrence markers — not the "JSON description of the song structure" the documentation describes.
- A/A stochasticity exceeds most A/B differences. Re-running the same prompt moves the output more than most deliberate prompt changes. Single-pair prompt comparisons are uninterpretable without a same-prompt baseline.
- Duration is controllable but not smoothly. Vague prompts land in quantized attractor basins; explicit second counts pin duration near a mechanism's content-natural length; over-stretching a world past its natural length collapses it rather than padding it.
- Positive exclusion beats bare negation — directionally. Naming an allowed category suppressed an instrument the corpus wanted to add; bare "no X" invited X's whole family in. Small sample, treated as direction, not law.
- Refusal is per-request stochastic. No format or content rule we found predicts an individual block; a restatement of identical content was refused where the original passed. So the station never auto-retries a refusal.
- Full-song and RealTime are different instruments. Full-song is a stateless HTTPS request; RealTime is a persistent bidirectional session with live controls. Findings do not transfer between them, and the station keeps RealTime paid execution disabled until its pricing and session exposure are bounded.
What the station still doesn't know
- No human has listened to most of the observation corpus — the findings above are machine-observed, and machine observation is not hearing.
- None of the transferable prompting candidates is house style; each becomes station behaviour only after Adrian accepts it on a fresh generation.
- RealTime's control surface — density, guidance, seed interactions — is unmeasured here, for the bounded-exposure reason above.
- Every finding is surface-specific: lyria-3.5 via the Gemini Developer API is not Lyria on any other route, and the Chronicles' 3 Pro results are a different instrument again.
This page is built from the station's own configuration and documentation, and a check in the station's test suite fails if its canonical address, route names or authority claims go stale. The listening room is the source of truth for what is live — if this page and the room ever disagree, believe the room.