michael capozzi← the lab

the making of a loop machine

sarniezz, loop by loop

the most i ever accomplished in music production was a foundational bass loop, with nothing ever layered on top of it. angine de poitrine stack five loops live while klek plays the drums by hand. i wanted to see every one of those layers at once, so i built a machine for it with claude code. this is how that went, version by version, and the machine itself is at the bottom.

start from the tiktok ↓or skip to the machine ↓read the piece ↗

bars 33 to 48: loop 2 recording in yellow over loops 1 and 5. running on its own, silent. grab it and spin it.
8/9/26 · the tiktok

a minute and forty-four seconds

i was ~30 minutes into my scrolling before i was teleported into someone else's viewfinder at the newport jazz festival on july 31st. it was august 9th, for me, when i watched angine de poitrine play mata zyklek. my wife got caught in the doom scroll with me, and over the next minute and forty-four seconds we watched a psychedelic rock duo decked out in black and white polka dot jumpsuits jam out. we were hooked.

within 15 minutes i hopped between bandsintown, axs, dice and stubhub looking for tickets to their next show (advertisers, take notes). everything was sold out: resellers controlled the market now.

9/8/26 · the ticket

a month of refreshing

i wasn't willing to swallow the 5x markup, so i took the most sane route i could: event notification emails from stubhub, and refreshing ticket prices on the daily for a month straight. i got lucky on september 8th: $135 a ticket, all in. my wife and i will be seeing them on november 18th, a day after our shared birthday.

way back · the backstory

only ever the bass layer

blame my mom (but not really) for putting me in classical piano lessons in grammar school, on the family piano she played as a kid. 7 years later i was begging to play the guitar instead: that was a cooler instrument than the piano, right? then the trumpet for marching band, then the tuba, because that was a cooler instrument than the trumpet. i took the tuba to the pep band at manhattan college, and as president of the band i held auditions for a drummer who is now my wife.

in april 2012, just before graduating high school, i was hunched over my laptop watching a youtube livestream of coachella when tUnE-yArDs opened my eyes (and mouth) to the loop pedal. merrill garbus built an entire song from nothing in front of a festival crowd. it felt too advanced for my classical piano, half-self-taught guitarist mind. the most i ever made was a foundational bass loop, and i never layered anything on top of it.

9/25/26 · 611 minutes

the challenge i failed

i had this inner challenge running through my mind: the first time i heard their music would be when i saw them live. it was a huge fail on my end. i pressed play on vol. ii on september 25th, and my apple music stats for the month were never the same again.

  • 611 minutes of angine de poitrine, all in the last 6 days of september
  • 508 of them on vol. ii, which only has 6 songs. 4 of them made my top 5
  • 25 plays of fabienk, 19 of mata zyklek, 18 of sarniezz, 16 of utzp
  • ∞ stubhub checks, explainer videos, reviews and reactions

the stage was set: a new temporary musical obsession, explainer videos about math rock time signatures, loops i wanted to see instead of only hearing through headphones, and a weekend with a bit more free time than i anticipated. time to call in my little coding robot.

v0.0 · the brief

where it started

my initial prompt feels like a novel when i read it back; it was full dictation, mind you. trimmed here, not reworded:

A fun project that I thought I could pick up for the weekend, maybe even finish it a little earlier, who knows, but either way, I would like to visually analyze the music of Angine de Poitrine since I believe there is a good way to depict all of the different layers of music you are hearing at the exact same time, specifically from the bass and the guitar, since the drum set is live and not looped. […]

The goal here would be to visually see it on a timeline graph so, like in essence, like as the timer and as you horizontally scroll through a song, you can see each layer being turned on off or reused or all layered at the exact same time. […] for a fun little tidbit, I was thinking of having instead of it being just a left to right line scroll, we can do a circular radial scroll close, these can then just be different dots which are very much a representation of the visually and their music. […]

I've watched a few YouTube videos about this, but I haven't seen this type of visualization attempted, so I think this can be my lane to do so.

v0.1 · homework

four videos and an article

before drawing anything: david bruce on their math rhythms, levi mcclain's explainer, david bennett on the quarter tones, oliver gearing on why the microtones work, and tnocs on how much of the band is something you watch. the useful part was how much they agreed. every one of them describes the same machine: one steady grid of eighth notes, loops that are whole multiples of the first loop, and drums that change how the grid is counted without ever changing the grid.

khn said it plainly in an interview with guitar world: there are no pre-recorded parts, every line is played live, and every loop is one to four times the length of the first.

v0.2 · the theory

same pulses, different count

this is the trick the whole page is built around. sarniezz's first loop is 48 eighth notes. for the first half of the song klek counts them in 3s (12/8). at bar 65 he counts the exact same eighths in 2s (4/4). nothing in the looper speeds up or slows down. near the end, one bar of 11/8, a 4/4 bar plus 3 extra eighths, shifts everything 3 eighths against the drums.

the dots never move. only the grouping does.

khn adds a second layer on top: quarter tones, the notes that sit between the frets of a normal guitar. his double neck has extra frets for them. in everything below they're the half-filled dots.

v0.3 · the source

no score, a lot of careful fans

there's no official score. what exists is fan transcription, and one of them was exactly what this needed: a songsterr tab of the kexp performance that gives each loop its own track and notes, bar by bar, when khn records, mutes and unmutes it, synced to the video. 12 people have worked on it since february. most of the credit goes to joe e, who rewrote all the guitar and bass and labeled every loop. a musescore transcription of the same performance agreed on the tempo (174) and the length (4:50).

i'll be honest, i would have probably spent the better part of two weeks trying to train claude to become a master at tablature transcription, because my ears would never be able to do this.

utzp was my first pick, it's my favorite, but nobody has logged its loops past the intro. so sarniezz went first: 179 bars, 1,691 eighth notes, five loops, ten recording passes.

v0.4 · the staff

one line per loop

the first version i got back was pretty simple visually, but it blew me away. it's a staff, like sheet music: a line for each of the looper's five tracks, plus the parts played by hand, with the notes sliding under a fixed playhead. hatched is recording, solid is playing, hollow is muted. the hollow dots matter. a muted loop doesn't stop, it keeps turning silently, and in the tab every loop but two comes back exactly where a running loop would be.

bars 9 to 24, all white, the way v0.4 looked: the bass loop goes down first, then loop 1 records over it. the yellow comes two versions later.
v0.5 · i heard it

the bug was a dot

qa and qc is where i shine: i love getting lost in the weeds of breaking things to fix them. my self-assumed nickname is bat-man, eagle-eye, and during my 4th round of editing, my bat ears weren't deceiving me:

I feel like the live guitar by hand gets out of sync after bar 25 because it feels like the video plays it sooner than the scrubber

it was. the tab was right: it writes each note's length with the dot already counted, and claude's code counted it again, so any note after a dotted note landed late in its bar. in bar 26, an accent that sounds 7 eighths in was drawn at 10, about half a second late. the fix moved notes in 113 of the song's 179 bars, and every loop now repeats note for note. i live to keep this nickname another day.

bar 26 · 12/8sounds herewas drawn here
three eighth notes late, at 174 bpm about half a second. bar starts were right, which is why it only showed up mid-bar.
v0.6 · yellow

follow his hands

Think it would be a neat addition as yellow is the bands 3rd color

yellow is khn's hands: whatever he's playing himself right then. that includes every recording pass, because he plays it live as the looper captures it. once it starts repeating, it goes white. he plays guitar or bass, never both at once, so only one thing is ever yellow. the shade is theirs, #f7b84b, lifted from their bandcamp page.

bars 13 to 20: guitar swells by hand, then loop 1's recording pass, both yellow. the bass loop under them is white.
v0.7 · the rings

the same data, turned

then the radial view from the brief. each loop is a ring of its own notes, turning once per pass, with now at 12 o'clock. a 96 eighth loop turns at half the speed of a 48, so you can watch them phase against each other. the first version had the rings in the wrong order and labels nobody could read:

I'm not sure what 11, 12, 13, 14, 15 means

fair. they said l1 to l5 and the font made an l look like a 1. now it reads high to low from the outside in: the meter, the guitar loops, live guitar, the bass loop, live bass, and the drums at the center. they also stuttered around 2:00, because the hand-tapped bar times wobbled by as much as 11% from one bar to the next. smoothing them to a steady tempo took that under half a percent.

bars 101 to 112: loop 4 filling in, note by note, as it's recorded.
v0.8 · how sure

honest numbers

the page matches the tabessentially all of it. an independent audit checked every loop event, bar and note position against the raw tab.
the timing matches the videoevery bar within 80 ms, most within 30. an eighth note here is 172 ms.
the tab matches what khn playedmy estimate is 90 to 95%. the big structure checks out against the video and the analysts; the doubt sits in two flagged spots (the ? marks) and the exact moment of each mute.
11/18/26 · the show

an alternate universe

while sarniezz is the only song that's fully dissected, my real goal is getting utzp (my favorite listen, at the moment) and fabienk in the rotation too. even now as i watch it, it makes sense, and at the same time it still feels crazy that this composition works the way it does.

in an alternate universe, the duo resembles a version of us: a guitarist who only recorded bass layers, who found their drummer to doom scroll on tiktok with.

v1.0 · the machine

the whole song

press play with the kexp video, or run it silent. switch between the staff and the rings, drag to scrub, or flip to scroll mode and scroll through the song yourself.

12/8
time
0:00.0
bar
–
section
–
khn's hands
–
  • loop 1guitar
  • loop 2guitar
  • loop 3guitar
  • loop 4guitar
  • loop 5bass

    space plays · ← → steps a bar · v switches view · [ ] nudges sync · drag to scrub

    how to read it

    • yellow is khn's hands: whatever he's playing himself right then
    • recording into the looper (played live as it's captured)
    • loop playing, one dot per note
    • loop muted, still turning silently
    • played by hand, never looped (klek's drums stay white)
    • a quarter tone, between the frets
    • the loop coming round again, and which pass it's on

    my read, not the tab's

    • a muted loop keeps turning silently (hollow dots). in the tab every loop comes back exactly where a loop left running would be, note for note, with one exception, below
    • after the vocal breakdown, loops 2 and 4 come back one bar further along in their cycle than a loop left running would be. the tab stays consistent about it to the end, so either the looper did something you can't see on camera or the transcription is a bar off. it's marked with a ? on the staff
    • each later 'record into loop 1' replaces what was there. the first one, at bar 70, also halves the loop's length
    • loop 5's take at bar 65 is 24 eighths, half the first loop, which breaks khn's own rule that loops are 1 to 4 times the first one. worth checking by ear
    credits · sources

    where all of this comes from

    the performance

    the transcription

    • the songsterr tab of the kexp take, revision 6958343 (5/22/26), with the community's bar by bar video sync
    • joe e rewrote all the guitar and bass and labeled every loop. also on the tab: supdawg1985 (the first version), shane witwicki, cainen boles, gaber, folksie, vitalii, horse, max mcgettrick, unlivedmemories, doomspire, swaglord84
    • a musescore transcription of the same performance, to check the tempo and length

    the explainers

    the band

    the piece and the build

    • i guess you can say i like music, on before it clicks
    • built with claude code over 11 rounds of my changes, 10/1 to 10/2/26: astro, a canvas and the youtube player. dots are note onsets from the tab, rhythm only.