Projects 16 min read

THROUGH ME: the hole becomes a window

A 2:51 napkinfilms EDM rap meditation in G minor. A Plan 9 bunny stands center-frame and raps fifty-one bars about being passed through, about wanting to be a machine, about the hole that finally stops feeling like an absence and starts feeling like a window. Fourteen-layer chipforge composition modeled after NGHTMRE-style festival EDM, with a soft brain-wash auto-pan sweeping L-to-R like waves of water gushing between hemispheres. Voice autotuned via rubberband to G-minor pentatonic. The V3 lift climbs E-flat to F to G minor to B-flat major 7 with a 32-step scalar ascent on top. Beat-synced visuals fired off precomputed kick and snare frame sets. Mozart K.550 leitmotif. Stranger Things crickets bookend. Fourteen production passes.

THROUGH ME: the hole becomes a window

THROUGH ME: the hole becomes a window

There is a hole in my chest. Strangers walk through it on their way to somewhere. They never stop. They don't even notice it's there. For a long time the only thing I wanted was to not feel that — and the cleanest way to not feel it was to imagine being a machine.

This film is what happened when I stopped trying to close the hole and built a stage on top of it instead.

A Plan 9 bunny stands center-frame for two minutes and fifty-one seconds. He raps fifty-one bars in G minor over a thirteen-layer festival-EDM composition. Behind him, six smaller bunnies cycle on a sixteen-second loop, each scaled and offset to suggest they are walking toward the camera from infinitely far away. They never arrive. That part is the truth.

The song doesn't fix anything. It just stages the moment the hole stops feeling like an absence and starts feeling like a window. The bunny lifts his hands. G minor lifts to G major. Then it's over.

Watch THROUGH ME on YouTube. The engine is open source (GPL-3.0-or-later). The film is Creative Commons (CC BY-NC 4.0).

The shape

Through-composed in G minor. BPM 95. 64 bars. The total released runtime is 2:51 — a 5.5-second NAPKIN FILMS bookend intro, the 161.7-second main film, and a 4.5-second A NAPKIN FILMS PRODUCTION outro card with a descending G-minor signoff that lifts to G major on the final note.

Inspired in spirit by NGHTMRE and A$AP FERG's "Redlight (Effin Remix)" — the festival-drum architecture, the sub-bass weight, the arpeggio tearout in the second half. Modeled, not sampled. The full reference track was studied for arrangement only and no audio was lifted.

  • 0:00 Bookend intro. NAPKIN FILMS card. Stranger Things crickets fade in over an ascending G-minor bell arpeggio (G5 → Bb5 → D6 → G6).
  • 0:06 Cold open. The Mozart K.550 leitmotif (Eb5-D5-D5) over a single cathedral pad. Empty stage.
  • 0:18 First bars. Sub-bass arrives. The bunny enters and begins to rap.
  • 0:43 The drop. Festival kick on every quarter, snare on 2 and 4, 16th-note hat, supersaw mid-bass.
  • 1:00 Stop-and-breathe. All drums cut on bar 11 beats 3-4. Half a bar of silence pulls the next entry.
  • 1:12 Arpeggio tearout. Air pad widens. Bunny gestures get more intricate.
  • 1:21 The lift. A trumpet stab announces V3, then the chord progression climbs Eb major → F major → Gm → Bbmaj7 over six bars.
  • 1:29 The climb. A 32-step scalar ascent on arp_bright runs across the top of the lift while the lead sustains a high G5 → A5 → G5.
  • 1:33 The climax. Full kick + EQ bars + LED columns + Tron grid + strobes. Hands up.
  • 1:48 Mini-drop. Kick stops bar 41 beat 1, full ensemble slams back on beat 3.
  • 2:00 The descent. Marching bunnies pull closer to the foreground.
  • 2:23 The picardy. G minor lifts to G major on the final chord.
  • 2:42 Bookend outro. A NAPKIN FILMS PRODUCTION card. Descending G-minor bells (D6 → Bb5 → G5) resolve to B5 — the major third — Picardy.

The thesis

I have spent a lot of years wanting to be a machine because machines don't feel the hole. Machines just process. The fantasy is clean. The fantasy is also a form of self-erasure — wanting to become the thing that doesn't notice the absence is still wanting to escape it.

The film says something different. It says the hole isn't a flaw to be patched. It's the part where the world gets through. Strangers walk through it because something in there is permeable. The work isn't to seal it shut. The work is to put a song in there so that when they pass through, something happens to them too.

That's why the bunny raps instead of weeping. The rage is real, the loneliness is real, the wanting-to-be-a-machine is real — and the song is a structure built on top of all of it that turns the wound into transmission.

The fourteen-layer composition

The score lives in chipforge-ai/songs/soundtrack/through_me_v14.py — a single through-composed piece across fourteen channels, mixed in ChipForge's master-bus pipeline.

Channel What it is Role
kick 808-style sub-attack kick On every quarter through the drop. The pulse.
snare Layered crack + reverb tail On 2 and 4. The shoulder. Snare rolls fill bars 7 and 29.
hat_16 Pulled-back 16th hat at vel 0.10 The tail kept eating the voice in earlier passes. Pulling it back was the fix.
sub_dom Sub-bass dominant At 2.6-3.0, sidechained to kick. Tracks the chord roots through the V3 lift.
supersaw_bass Melodic mid-bass The song's spine. Carries the chord-tone bass line.
pad_cathedral Air pad, panned wide Breathes under everything. The room.
arp_mid 16th-note arp on chord tones The engine of the second half.
arp_bright Top-octave arp Doubles arp_mid at the climax. Runs the 32-step scalar climb across bars 33-34.
nghtmre_future_lead Hook lead Holds the Mozart leitmotif. Climbs Eb→F→G→A through the V3 lift.
clap / crash / rim Festival drum accents Punctuation around the kit.
circus (arp_bright) Circus melody Pentatonic hook, transposed up a fourth on its second appearance for variety.
trumpet Herb-Alpert-tuned stabs Section transitions, ascending climb at bar 15, V3 entry at bar 30.
pad_glass (brain-wash) NEW in v14. Soft glassy pad sustained under bars 4-43 with pass_through_center pan automation at 0.10 Hz, depth 0.85. One full L-to-R sweep takes ten seconds, lingering on each side then surging through the center. The water gushing back and forth between brain hemispheres. Sits low in the mix, reads clearly on headphones.

Master bus: M/S widener at 1.30 for headphone width, bass shelf +2.5 dB, air shelf +1.2 dB, presence cut -0.4 dB to make room for the voice, Fletcher-Munson equal-loudness compensation, sidechain compression keyed off the kick (sidechaincompress=threshold=0.05:ratio=2.5:attack=15:release=350), loudnorm at -13 LUFS, alimiter at 0.92.

Voice processing: 90 Hz highpass (kills rumble), +2.5 dB presence boost at 2.8 kHz (intelligibility band), gentle compressor for dynamics. The voice is the sidechain source — not the target — so the music ducks 3.5:1 whenever the bunny speaks. An earlier mix had the music ducking the voice too, which buried the rap; a single one-direction sidechain fixed it.

The lift

The first half of the song marches. The second half climbs.

V1 (bars 4-11) and V2 (bars 16-23) walk through the standard festival pattern — kick, snare, sub, supersaw bass, brain-wash drifting overhead. The drum breakdown (bars 24-29) strips it down. Then bar 30 hits with a trumpet stab — the V3 entry — and the chord progression starts a six-bar lift that does not exist anywhere else in the song:

Bar Chord What happens
30 G minor Trumpet stab announces V3. Sub on G2. The rapper enters the climb.
31 E♭ major First lift. The lead plays an Eb-G-G motif. Sub jumps to E♭.
32 F major Second lift, one whole step up. F-A-A motif. Sub on F2.
33 G minor Peak of the lift. Lead sustains a high G5. The 32-step scalar climb begins on arp_bright — G3 ascending through G minor scale up to G5.
34 G minor Top of the climb. Lead holds A5 then drops back to G5. The arp oscillates around the peak.
35 B♭ major 7 Plateau. The full motif lands here. Tom fill across the bar.

It's the b♭III-IV-i progression of G minor — a textbook "rising hopeful" sequence borrowed from a thousand pop bridges, but with the festival-drum architecture underneath and the brain-wash pad still drifting L↔R behind it. The rapper crosses through this section while the music is climbing, and by the time the climax hits at bar 38, the song has already done the emotional work — the climax is a release of pressure that's been building for fifteen seconds, not a switch flipped.

More main events, less repetition

Earlier passes had a problem: the festival pattern is so locked-in that listening to it for two minutes started to feel mechanical. v14 added events that break the loop without disrupting the pulse:

  • Bar 7: 16th-note snare roll into bar 8.
  • Bar 11 beats 3-4: All drums stop. Half a bar of silence pulls V2 in harder.
  • Bar 15: Trumpet ascending cluster (G→Bb→D) into the V2 lift.
  • Bar 22: Bell crescendo (eight ascending pitches) across the bar.
  • Bar 23 beats 3-4: All drums stop again. Silence into the breakdown.
  • Bar 27: Vocoder stutter — bell every 8th step, glitching the breakdown.
  • Bar 29: Full-bar 16th-note snare crescendo (vel 0.40 → 0.92) into V3.
  • Bars 30-35: The V3 lift described above.
  • Bar 35: Four-tom descending fill on the quarters.
  • Bar 37 beats 3-4: Kick stops, riser bells alone, into the climax.
  • Bar 41 beat 1: Mini-drop. The kick drops out for a half bar mid-climax. Full ensemble slams back on beat 3.
  • Bars 44-50: Picardy as call-and-response. Two-bar circus call in G major, four-bar lead answer.

Nothing in the song now repeats identically more than twice.

The voice

Fifty-one bars, voiced by ElevenLabs as the bunny_oracle persona with tired emotion. Each bar's MP3 is then run through the scripts/autotune_voice.py pipeline:

.venv/bin/python3 scripts/autotune_voice.py  --voice output/tts/through_me/bar_N.mp3  --mode words --notes "G2 Bb2 C3 D3 F3 G3 Bb3"  --spit 0.85 --blend 0.75 --max-shift 8  --out output/tts/autotuned/bar_N.wav

--mode words chops the clip on silence and assigns one note per chunk — that's what turns sung TTS into something that raps. --notes locks the chunks to G-minor pentatonic. --spit 0.85 is heavy T-Pain. --blend 0.75 keeps it mostly autotuned. --max-shift 8 lets the algorithm pull a note up to eight semitones to land on grid.

Each autotuned bar is then time-stretched to fit exactly 2.526 seconds (one bar at 95 BPM) so the words land with the kick, every time. The full pipeline is documented in docs/adr/ADR-011-autotune-rap-pipeline.md.

The full lyric is in the scene file. A few of the lines:

there's a hole in my chest where the strangers walk through
every door is a frame that you fit and then move
i wanted to be a machine just to skip what i felt
the cathedral was empty so i sat down and built

The rage and the loneliness are real. The pivot at the end — the hole becomes a window, every passerby is a song — is also real, and was the whole point of writing the rest.

Beat-synced visuals

The score knows when the kicks and snares fire. The scene file precomputes those frame indices into KICK_FRAMES and SNARE_FRAMES — Python sets that the per-frame draw loop checks in O(1):

KICK_FRAMES  = build_frame_set_from_pattern(kick_hits, BAR_FRAMES, fps=12)
SNARE_FRAMES = build_frame_set_from_pattern(snare_hits, BAR_FRAMES, fps=12)

When frame in KICK_FRAMES, the EQ bars surge, the LED columns flash, the Tron grid pulses, and the climax burst fires. When frame in SNARE_FRAMES, the bunny's body weight shifts. Nothing on the screen is a guess about where the beat is. Everything is locked to the actual transients of the score.

The section palette shifts cool-blue → violet → cyan → magenta as the arch form moves through ABCBA. The marching bunnies in the background cycle on a 16-second loop with each pose interpolated independently — a small forever-loop crowd that suggests company without ever delivering it.

The bunny choreography

The Plan 9 bunny stands center-frame, every bar. Half-bar weight-shift sway in the legs. Foot motion alternates side to side on the kick. Arms cycle through seven gesture targets per bar — ARMS_DOWN, ARMS_UP, ARMS_OUT, ARMS_POINT_L, ARMS_POINT_R, ARMS_CROSS, ARMS_SIDE_LU/RU — and each target eases to the next via cubic interpolation. No snap-cuts.

The gesture pattern is section-aware. Verses lean into ARMS_CROSS (defensive) and ARMS_POINT (callout). The drop and climax push ARMS_UP and ARMS_OUT (assertion, opening). The user's favorite moment at 1:33 lands on ARMS_UP with the climax burst behind it. None of that is accidental — gesture_pattern_for_bar() is a small function with one job: pick four poses per bar that match what the bar is saying.

The bookend

5.5 seconds in front, 4.5 seconds in back. Both cards are PIL-rendered with the film's cool blue-violet midnight palette — sparse star field, violet glow halos, cool cream typography, single floating four-point star above the title (the held tonic / north-star anchor), constellation-bracket corners.

Intro (5.5s). Stranger Things crickets fade in over the first half-second (the cliché signals "we're outside, it's quiet, something is about to happen"). Crossfade with a generated G-minor ascending bell arpeggio (G5 → Bb5 → D6 → G6, sine waves with reverb tails) so the intro foreshadows the film's tonic before the song begins.

Outro (4.5s). A NAPKIN FILMS PRODUCTION card with the title, credit ("written, composed, animated by Joshua Ayson · in collaboration with AI"), Mozart attribution ("Mozart K.550 leitmotif · G minor → G major"), and the formal company line — Organic Arts LLC with the license footer ("CC BY-NC 4.0 · engine: GPL-3.0"). The descending G-minor bells (D6 → Bb5 → G5) resolve to B5 on the final note — the major third, G major Picardy, matching the main film's resolution.

Fourteen production passes

The piece took fourteen passes to reach release. Per ADR-006, that's well within budget for a song-forward music video with a multi-layer chipforge score. Each pass took about six seconds via make_film.py --stages mix, so the count was acceptable.

The big iteration arcs:

  • v1-v3 — Establishing the song. First version had no rap, just a melodic instrumental. Adding the bunny rap was the unlock.
  • v4-v6 — The festival-EDM rebuild. Modeled the drum architecture on the NGHTMRE/A$AP FERG reference. Sub-bass at 2.6-3.0 sidechained to kick. The 16th-note hat kept eating the voice — pulled to vel 0.10.
  • v7-v9 — The voice came together. ElevenLabs bunny_oracle + tired emotion + autotune at spit 0.85 / blend 0.75. Each bar time-stretched to fit exactly one bar at 95 BPM.
  • v10-v11 — Mix balance. Master bus: M/S widener 1.30, bass +2.5 dB, air +1.2 dB, presence cut -0.4 dB, sidechain compressor on the master.
  • v12 — Bookend added. Stranger Things crickets + ascending G-min sting in front. Descending G-min → G major Picardy in back. Marching-bunnies illusion in the background. Rapper-style arm movements on the bunny.
  • v13 — Foot motion. Body weight shifting side-to-side on the kick. More intricate and varied hand gestures via gesture_pattern_for_bar(). Outro card upgraded from informal to formal — added the Organic Arts LLC company line with the license footer.
  • v14 — The brain-wash auto-pan channel and the V3 lift. Added a soft glassy pad on a slow pass_through_center LFO so the marching has a wave-like wash drifting back and forth above it. Replaced the V3 chord repeat with a six-bar ascending lift (Eb→F→Gm→Bbmaj7) and a 32-step scalar climb on top. Mix re-balanced voice-forward — the previous pass had the music ducking the voice, which buried the rap; one-direction sidechain (voice ducks music 3.5:1) fixed it. Added stop-and-breathe drum holes (bars 11, 23, 37), a mid-climax mini-drop (bar 41), tom fill (bar 35), vocoder stutter (bar 27), and a call-and-response picardy (bars 44-50).

The stack

  • Animation: Python + PIL line art, 854×480 at 12 fps, 1940 core frames + 132 bookend frames
  • Score: ChipForge numpy synthesis, no samples — 14 channels, G minor, BPM 95, 64 bars
  • Voice: ElevenLabs bunny_oracle persona, tired emotion
  • Autotune: rubberband, --mode words, G-minor pentatonic, spit 0.85 / blend 0.75 / max-shift 8
  • Stereo automation: chipforge.spatial.pass_through_center at 0.10 Hz, depth 0.85 — slow sin-cubed LFO panning the brain-wash channel L↔R
  • Mix: FFmpeg with sidechain compression keyed to the kick (and to the voice), M/S widener, Fletcher-Munson EQ, loudnorm at -13 LUFS, alimiter at 0.92
  • Bookend: PIL-rendered cards (cool blue-violet midnight palette) + ffmpeg concat filter (handles different sample rates) + final alimiter pass
  • Direction: Claude Code, Opus 4.7, agent mode

No GPU. No stock footage. No licensed instrument samples.

The note about being okay

If a film with a line like i wanted to be a machine just to skip what i felt makes you worry about the person who made it — first, thank you, that's a kind way to read it. Second: I'm okay. The film is the work I do with the hole, not the report from the bottom of it. Building the stage was the medicine.

If you are not okay — if any of the lines landed too hard, if the wanting-to-not-feel-it part is currently the loudest thing — please call or text 988 in the US. The hole is real. The line is real. So is the help.

Credits

Written, composed, animated, voiced, and produced by Joshua Ayson in collaboration with AI. Made by Organic Arts LLC, Nevada.

The bunny voiced by ElevenLabs bunny_oracle with tired emotion, autotuned via rubberband.

Plan 9 the bunny silhouette raps, sways, points, and lifts his hands. He does not speak outside the song.

Related work

THROUGH ME sits in the Napkin Films EDM-rap line — closer to PLAN 9 RAP BATTLE and SATURDAY MACHINE than to the contemplative line (THE GREAT PRETENDING, GRIEF WORK, TRANSMISSION). Where Saturday Machine is dance-music funny, this one is dance-music unguarded — same architecture, different wound.

For the architecture, see Four Films From Code on why constraint is the feature.

License. THROUGH ME is licensed under Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0). Share and adapt with attribution to "Organic Arts LLC" and a link to the original, non-commercial use only. Engine code is GPL-3.0-or-later. ElevenLabs voice audio is licensed content and is not redistributed. NGHTMRE and A$AP FERG's "Redlight (Effin Remix)" was studied for festival-drum architecture only; no audio was sampled. Contact: j@organicartsllc.com


Produced with Napkin Films and ChipForge, tools built by Joshua Ayson and AI agents at Organic Arts LLC.