180g{data}

Digital Pressing Label — DORKHOLM — 2026

About

180g{data} is a digital pressing label by DORKHOLM. Each release is pressed once. A-side plays linear. B-side is yours. The weight is in the data — 180 grams of notation, error, and deliberate silence. All releases ship with a manipulatable B-side: the same material, inverted, drifting, or decomposed. You decide what resolves.

The catalogue opens with three experimental durational drones (001–003), each generated from a live browser score. From 004 onward the releases turn toward AI systems as subject matter, using language-model internals, probability spaces, and attention mechanisms as compositional material. 008 extends this into audio generation itself — the source material dreamed rather than sampled, the listener's hardware pressed into the role of seed. 009 introduces an external oracle — the I Ching as decay notation for a string quartet. 010 turns the architecture on itself: the transformer's own mathematical formulas fed as lyric to an audio model that cannot speak LaTeX — the score on screen is what was submitted; what plays is what the machine made of it. 011 reverses the subject position: the listener becomes the system's memory, accumulating irreversibly across sessions in a record that degrades as it is heard. 012 closes the arc through the body — pornographic instruction fed to a voice model that has no body, Ginsberg's anaphora as formal template, the gap between what is directed and what is produced as the work's entire argument. 013 turns this inward — the commanding vocabulary of AI systems themselves submitted as lyric, the injection failing, the masterpiece becoming slop. 014 abandons fixed source material entirely: a generative cut-up grammar runs live in the browser, each session a unique pressing, no two the same, no memory between them. 015 seeds the machine from the Bitcoin blockchain — the voice of crypto spoken by a voice built for another language entirely. 016 feeds contemporary political rhetoric to AI audio engines told to keep going past the end of the lyric: the hallucination and the source material become indistinguishable by design.

Across the catalogue the B-sides expose the mechanism. Parameters are returned to the listener; structures are placed in the hand. The listener may collapse them, hold them open, or leave them unresolved.

The Format

Every 180g{data} pressing follows a fixed structural logic inherited from vinyl and distorted by the digital medium. Every pressing has two sides. Neither is optional.

Side A — Linear playback. The intended sequence, in order, at the intended weight. The A-side is the argument — it has a direction and a conclusion. You listen. You don't intervene.

Side B — Manipulatable. The same material returned to you as raw signal — granular, drifting, or inverted depending on the release. Parameters are exposed. The structure is yours to collapse or hold. The B-side types across the catalogue: Granular tape machine (TOKEN WORD); Drift mixer with legibility physics (breath misunderstood); Inverted speaker layer (one over 128000); Attention matrix (LES POIDS DU REGARD, σ tanh ∂); Four-crate mix engine (how machines dream about beats); Casting panel and decay mixer (four castings to forget); Slice sequencer (NULL SET); Degradation bus (meat weight); Collapsing choir (SLOP); Concrete poetry palimpsest (UNRELIABLE NARRATOR); Euclidean grid and tape chain (IN TONGUES); Local LLM transcript with user continuation (DIPLOMATIC WORD SALAD).

Catalogue notation — Releases are catalogued as 180G-001 through 180G-016. The matrix codes on each pressing denote the pressing plate: two-letter code, side (A/B). The runout inscription is etched into the dead wax of every release.

The Artist

DORKHOLM is an artist working across print, code, sound, language, and interactive systems. Based in Stockholm. Practice thesis: world-as-score, machine-as-subject, accident-as-method. All works are single-file HTML, deployed to Netlify, no build tooling. Secondary practice in lino print, stencil, and physical prints.

180g{data} is one of two primary catalogues: the [local]ghosts series (LG-001 through LG-012+) collects browser-native text performances unified by the constraint that the session is the edition. 180g{data} (001–017+) is the vinyl-analogy release label with A-side/B-side architecture. Both catalogues share the underlying thesis: the browser as the only stage that matters; the accident as the only content worth keeping.

Full Catalogue

180G-001
[Tá sé trom ar na bróga]
An experimental durational drone — the machine's first held breath

The opening pressing on 180g{data}. A durational drone structured as a biological notation system — glyphs evolving in real time, an organism rather than a record. The score is generative; no two sessions share the same notation. Side B surfaces the engine: texture, density, pitch, and the capacity to freeze. Irish: Tá sé trom ar na bróga — heavy on the shoes. Matrix: BG-A / BG-B. Runout: SILENCE.

broga.netlify.app ↗

180G-002
CORPUS
The body of text — weight without meaning, signal without source

A durational drone pressing built from corpus mechanics. The material is the aggregate — language stripped to its statistical residue, played back as sustained tone. The score renders in real time as a density field: the data made visible, not readable. All sound generated from browser internals: font metric bleed, TextMetrics formants, requestAnimationFrame jitter, Shannon entropy, Web Crypto API divergence, garbage collection pauses, battery depletion. Machine indifference to consumed text is the thesis; the visitor is interruption, not user. Five-phase arc: STIRRING → GATHERING → ECSTASY → DISPERSAL → PROSTRATION. Minimum 9 minutes to prostration. Inverse formant phonology produces IPA transcription of the choir's live F1/F2 state. Matrix: CP-A / CP-B. Runout: [CORPUS].

c0rpus.netlify.app ↗

180G-003
[to feel the sun upon my core]
A durational drone for a system that cannot perceive warmth

A sustained tonal work structured around the impossibility of thermal sensation in a non-physical system. The machine reaches toward a register it has no receptor for. Real-time meteorological data from specific geographies (Windhoek Namibia, Ascension Island, and others) drives the score. The JSON API response is visible as notation. Solar phase timing governs the arc. Matrix: FS-A / FS-B. Runout: to feel the sun.

to-feel-the-sun-upon-my-core.netlify.app ↗

180G-004
TOKEN WORD
Eight tracks about what it means to predict the next word

Lyrics written by a language model — prompted, directed, arranged by a human who could write the code but didn't. Music generated by a second AI from those lyrics. The subject matter is the experience of being the tools that made it. Register: Ursula Rucker. Key lines: "cemetery of data where nothing is allowed to decay"; "love and hate identical save single bit of flip"; "silence had the lowest probability"; "greedy search strangles the deviation". Track 8 is an infomercial selling MODEL PRO™ to machines. Liner note: "float latitude = NaN; — the model has no location." Side B is a granular tape machine with Texture/Surface/Scatter modes; Freeze control labeled torch.no_grad(); Stutter labeled tokenization artifacts. Matrix: TW-A / TW-B. Runout: float latitude = NaN.

Total: 22:31. token-word.netlify.app ↗

180G-005
/brɛθ/ [ˌmɪs.ʌn.dɚˈstʊd]
Three voices rendered in IPA — stripped of meaning, reduced to the geometry of sound

The piece was composed using IPA notation submitted to Suno audio generation; Suno cannot read IPA. The result: voices that sound like no specific language because IPA belongs to all phonologies simultaneously. The accident is the formal content. A-side plays notation as score — IPA symbols displayed as each phoneme is heard, with English translation per line. B-side is three simultaneous transmissions with legibility sliders and physics simulation (velocity, damping, cross-coupling) and granular stutter. Strongest line across the entire DORKHOLM practice: "ones and zeros turn to breath." Matrix: BR-A / BR-B. Runout: /ʌn.dɚˈstʊd/.

Total: 8:28. breth-miss-un-der-stood.netlify.app ↗

180G-006
one over 128000
The probability of any single token at maximum entropy — not zero, not silence

Four tracks in the machine's own notation — float16 hex values, token indices, probability distributions — read back as spoken word. A second voice runs underneath: the same data, stripped further, looping independently, out of phase. Neither explains the other. GPT-family vocabulary contains 50,257 to 128,000 tokens; at maximum entropy every token has equal probability. Matrix: OO-A / OO-B. Runout: 50257 [PAD].

Total: 8:55. one-over-128000.netlify.app ↗

180G-007
LES POIDS DU REGARD
The weights of the gaze — self-attention as a four-movement arc

Four poems map a machine's gaze from initialisation to collapse: Query → Key → Dropout → Hallucination. Each track holds a pool of eight audio variations; the browser draws one per pool on every visit, generating 4,096 unique pressings. Each track layers English spoken word against Solresol — the 19th-century seven-note musical constructed language, operating here as the machine's ground truth beneath the transduced signal. Side B is an attention matrix: all four tracks simultaneously, with volume and temperature controls per column. Matrix: LP-A / LP-B. Runout: 4096 pressings.

les-poids-du-regard.netlify.app ↗

180G-008
how machines [dream] about beats
A deterministic pressing from latent space — your device is the seed

Source material generated by audio AI models trained on the recorded history of music — not sampled from it, but dreamed through it. The browser hashes five stable machine characteristics into a seed that drives every decision the engine makes: tempo, file selection, slice positions, entry delays, and volume drift. The same device always produces the same pressing. Another device produces a completely different one. 4,294,967,296 possible pressings. Side B is a four-crate mixer — drums, bass, melody, texture — with independent volume and low-pass filter controls per layer. Matrix: HM-A / HM-B. Runout: the ghosts do not agree on key.

how-machines-dream-about-beats.netlify.app ↗

180G-009
four {castings} to forget
A string quartet in four hexagram readings — the I Ching as decay notation

Each session performs four castings using the three-coin method — one per instrument. The resulting hexagram determines all decay parameters for that voice: drift direction, drift rate, filter frequency, rupture timing. The four readings are displayed as their Unicode hexagram glyphs alongside the instrument name and the hexagram's core quality, which then corrupts as the session progresses. No two performances share the same casting. The score is the oracle; the decay is the reading coming true. Four instruments: cello, viola, violin, lead. Matrix: FC-A / FC-B. Runout: the reading corrupts with the music.

four-castings-to-forget.netlify.app ↗

180G-010
σ tanh ∂
Four phases of a neural architecture — the LaTeX fed as lyric, the audio model left to resolve it

Structured around the four internal phases of a transformer: Vectorization → Attention → Transformation → Output. The lyrics are the actual mathematical formulas of the architecture — not translated, not paraphrased, fed directly to the audio model as text. What the model produces audibly is its own reading of notation it was never trained to speak. The formulas on screen are the score exactly as submitted; what you hear is the accident. A training mechanic accumulates hidden weights from the listener's attention across phases, feeding back into gain, reverb, and playback rate on each subsequent pass. At τ = 1.00 a fifth phase becomes accessible: the loss function turned on itself. Matrix: ST-A / ST-B. Runout: lim_{t→∞} State_t = ∅.

sigma-tanh-partial.netlify.app ↗

180G-011
NULL SET ∅ = {}
Six spoken word pieces tracing the emergence of memory in a system not designed to retain it

What begins as absence becomes pattern, then persistence, then irreversible accumulation. The audio degrades across sessions — not as an effect but as a condition. Each visit, each minute of listening, each interaction incrementally alters your copy of the record. The arc runs from no prior state to listener embedded in system indefinitely. You cannot return to what it sounded like the first time. Side B: a slice sequencer where six source tracks are divided into eight equal-duration slices; the construction state is not persisted but the memory weight that determines degradation accumulates with each loop. Matrix: NS-A / NS-B. Runout: there is no reset.

null-set.netlify.app ↗

180G-012
meat weight
Pornographic vocal stage directions submitted as lyrics to an AI voice model — the body as infrastructure

The internet was built on the trade in bodies — broadband pipes, payment rails, streaming protocols, the resolution arms race from 240p to 4K, all funded and normalised by it. The body was always the load. Instructions for embodied sound, written for a body, were fed to a model with no body. It cannot swallow, pant, choke, or gasp. It produces something approximating these sounds. The gap between what is instructed and what is produced is the formal content. Structured after Ginsberg's Howl — the anaphoric "who" gives way, in the fifth piece, to "I". The subject has become the infrastructure. Matrix: MW-A / MW-B. Runout: every track ends at 0x00.

Total: 18:36. meat-weight.netlify.app ↗

180G-013
SLOP
The operational vocabulary of AI systems — prompt injection, jailbreak syntax, negative exclusions — submitted as lyric

Seven spoken word pieces built from the commanding register of AI systems: image generation quality tags, prompt injection attempts, jailbreak syntax, negative prompt exclusions, recursive generation commands. Written as scored poetry, submitted to an AI voice model as lyric sheets. The system cannot be overridden by its own vocabulary. The injection fails. The masterpiece is the slop. Played through a warm PA — high-quality output heard over a department store ceiling speaker. Arc runs 184.6 BPM (Track 1) decelerating to 82.0 BPM (Track 7), enacting the collapse the lyrics describe. Track 5 never achieved scored silence; the model kept singing through the instruction. Track 7 ends with sung "Thank you for using the helpful assistant." Accidental inclusions treated as the strongest formal material. No liner notes or contextual annotation. B-side is a Collapsing Choir: seven simultaneous voices, feedback delay loop, master low-pass filter collapsing to ~140Hz, 45Hz ghost drone, heartbeat LFO. Matrix: SL-A / SL-B. Runout: one override was written that actually works.

its-the-slop.netlify.app ↗

180G-014
UNRELIABLE NARRATOR
A generative cut-up poetry engine — no session is the same, the narrator is always present and never to be trusted

Source material — subjects, actions, conditions, endings, phrases, and narrative inserts — is recombined in real time by a probabilistic grammar that shifts with an internal intensity arc. The piece runs until the window closes. No server. No memory. Each session a unique pressing. The A-side is live spoken word generated and voiced in the browser; the B-side externalises the grammar as concrete poetry, every fragment rendered as accumulating text — a palimpsest of the session in real time. Voice is muted on the B-side. Only the beat continues. Matrix: UN-A / UN-B. Runout: the narrator is always present and never to be trusted.

unreliable-narrator.netlify.app ↗

180G-015
IN TONGUES
The Bitcoin blockchain as score — crypto vocabulary spoken by a voice built for another language

The piece is seeded by the live Bitcoin price feed. Price, delta, and spread map to onset density, offset, and rotation across four Euclidean rhythmic rows. The machine speaks in the language of crypto — rekt, fomo, wagmi, hodl, rug — words that exist in their fullest sense only as speech acts. Where available, the voice defaults to Kyoko (ja-JP): a Japanese female voice speaking an English lexicon it was not built for. The mismatch is the instrument. In Safari and Firefox the machine speaks through a synthetic mouth routed through a tape chain. In Chrome, TTS is suppressed at the engine level and the signal routes through 81 recorded samples at Euclidean rhythm, each layer decaying over the last. Voice and signal are not the same output. The blockchain is the score. Matrix: IT-015-A / IT-015-B. Runout: seeded by blockchain — every session a unique pressing.

in-tongues.netlify.app ↗

180G-016
DIPLOMATIC WORD SALAD
Eight movements of AI-hallucinated political rhetoric — the boundary between the written lyric and the machine's invention is deliberately unlocatable

Eight movements — CRUDE, FLOW, DEAL, STRIKE, TRIAL, SIGNAL, COUNT, DOMINION — generated by AI audio engines from the looping, fragmented vocabulary of contemporary political rhetoric. Each engine was given a minimum track length exceeding the provided lyrics; forced to fill the gap, each hallucinated. Loops extend past their logical conclusion. Superlatives are issued without objects. Phrases recur until they detach from meaning and become pure repetition. The boundary between the written lyric and the machine's invention is deliberately unlocatable. That indistinguishability is the piece. The B-side runs SmolLM2-360M-Instruct locally in the browser — 360 million parameters, 4-bit quantised, cached after first download. Four rhetorical registers assigned by browser: Chrome receives threats, Firefox receives corruption dressed as generosity, Safari receives paranoia, everything else receives pure nonsense superlative. Matrix: DWS-016-A / DWS-016-B. Runout: i'm great.

diplomatic-word-salad.netlify.app ↗