Shawn Van Brunt, founder of AD-5 Creative
0:00 / 1:34

Shawn Van Brunt / Founder & creative technologist

AD-5 Creative · the studio portrait

The Director

One line, cut from the corner of the plate.

Hover the portrait. A single spiral is engraved across it from the lower-left corner and replaces the photograph as it goes. The line's path is fixed, and its width follows the photograph: it swells where the photograph is light and thins where it is dark, so the face appears in the line itself.

The spiral's centre sits just off the plate, so each pass of the line crosses the face as one long, gently curving stroke. Claude Mellan engraved a face with one spiral in 1649. A WGSL shader on your graphics card draws this one live, and your cursor is the light raking across the cut copper. On a phone, tap it.

passes of one line across the plate
257
line, on a 20 × 27 cm plate
41.2 m
the only file it loads
one 112 KB image
drawn by
WebGPU, or the CPU

Sound

Played like a record

Press Play with sound and the line becomes a groove. A needle follows the spiral across the face at 1.51 turns a second, the burin cuts the plate at the same point, and every voice in the score plays the pass the needle is on. One pass of the line, read from edge to edge, is one cycle of the sound. The beard and the eyes make it loud and bright; the dark shirt makes it almost silent. You hear the burin each time it crosses the plate, once a turn. The chords are chosen. The colour, the swell and the rhythm of the cut come from the face.

Four frames of the performance: the cut has reached the beard, then passed the mouth, then crosses the eyes and forehead, then the whole plate is engraved
The performance at 0:12, 0:36, 1:00 and 1:26: the cut is where the needle is.

Photograph

The plate and the proof

Photographs of objects that have not been made. Each started from the code's own render as its reference. The code made the line and the face; Nano Banana Pro supplied the copper, the paper, the light and the lens. Five of the twelve takes are shown. Three drifted from the likeness, one brought rings back into the line, and three were good but repeat what is here.

The engraved copper plate seen from above in a band of window light, on black felt beside a burin
The plate in window light
The engraved copper plate on an engraver's felt pad, a burin and a leather sandbag beside it
The plate on the engraver's felt
An intaglio proof of the portrait in black ink on cream cotton paper, with an embossed plate mark
The proof: black ink on cotton paper
Macro photograph of the curving copper grooves around the eyes, a burin lifting a curl of copper at the right
The burin at work
Macro photograph of the cut grooves forming both eyes, with copper shavings ahead of the burin
Cut grooves at the eyes

Scores

Mathematics doing a director's job

Made like the PROOFS score: Python and numpy compute every sample, and nothing is recorded. Each uses one branch of mathematics for something a director does. Throughline holds a line, Ensemble brings players together, Canon gives each player a part.

Throughline

The portrait's line, read as a record groove. Each pass of the line across the face is one cycle of a wavetable, voiced through six chords over an F♯ that never moves.

0:00 / 1:34
turn n, angle θ: r = s(n + θ/2π) one cycle = the line's width along one pass the needle = 1.51 turns a second, beard to crown
The engraved portrait with four passes of the line lit, through the beard, the mouth and nose, the eyes and the hairline, each beside the waveform it becomes
Four passes of the line and the waves they become: through the beard, the mouth and the nose, the eyes, the hairline. One pass, read end to end, is one cycle of the sound.

Ensemble

Thirty-two players, each with a tempo of their own, under the Kuramoto equation. When they start to listen to each other one pulse condenses out of the cloud. A conductor arrives, takes them from 96 to 108 BPM and leaves. They hold together on their own until they stop listening.

0:00 / 1:44
dθᵢ/dt = ωᵢ + (K/N) Σⱼ sin(θⱼ − θᵢ) + F sin(Ωt − θᵢ) together: r = |(1/N) Σⱼ e^{iθⱼ}|, the chord sounds at r²
Seven wheels of the players' phases, scattered then gathered into one point then scattered again, above the curve of r over time
Seven moments of the 32 players' phases, and r, how together they are: 0.14 in the cloud, 0.99 under the conductor, 0.94 on their own.

Canon

Six players, one bell each, playing the same irregular rhythm from different starting points. It is a Vuza canon of 72 pulses: together they ring every pulse exactly once, and the melody exists only in their hand-offs. All six strike together once, on the final cue.

0:00 / 1:29
A ⊕ B = ℤ₇₂ A = {0,1,5,6,12,25,29,36,42,48,49,53} B = {0,8,16,18,26,34}
A grid of six rows and seventy-two columns; each column has exactly one filled cell; the bottom row is filled in every column
Each column is one pulse and holds exactly one stroke. The script checks this before it plays a note.

Notes

On the site

On the studio page

The portrait stays a photograph until it is hovered, or tapped on a phone. The module loads its one texture only when the portrait nears the screen. With reduced motion it cross-fades instead of cutting. Without WebGPU the same spiral is computed on the CPU and revealed without the light.

How the scores are made

A full walk through the mathematics and the Python, for reading at leisure:

Read how the scores are made

The film

The performance captured frame by frame from the score's own clock, with the score underneath, 1080 × 1452:

Watch the film (MP4, 64 MB)