contort

danced in another room

20 HP

Two sounds go in, the dancer and the body, and whatever the dancer does is done to the body, magnified and wrong. Every step slams it, every glide wrenches its pitch further than it went, every hard edge cracks it and throws it across the room. SWAP, and they trade places.

The CONTORT panel: black, gold dots of an empty rehearsal studio at night seen straight down its middle, the floorboards running toward a wide mirror on the far wall, barres along the side walls. The mirror is a window of bare circuit board under the name, cracked from its middle into shards. DANCER and BODY in at the top corners, TWIST and BREAK under them with their jacks inside, FORCE's big knob in the middle with THROW and ROOM either side, SWAP's and LEAP's gates under them, the SWAP and LEAP buttons at the sides, FORCE's jack under FORCE, MOVE and SNAP out, then LEFT, BODY and RIGHT out along the foot. contort at the top, daylight noise at the bottom.

Turn a knob: drag it or tap either side of it, roll the wheel over it or use the arrow keys; a double click puts it back. SWAP and LEAP are buttons: press SWAP to trade their places, LEAP for one huge move. The patches step on by themselves until you touch anything.

A dark rehearsal in A minor at 120 BPM, drums, a pad, a bassline and a sung lead, through CONTORT. Listen plays the patch from its top.

example patches

Everything CONTORT does here is its engine as designed, running in your browser. The drums, the pad and the rest are a stand-in rack.

The dancer and the body

CONTORT listens to the dancer the whole time: how loud it is against how loud it's been lately, where its pitch is going (in a voice, a bassline, even a kick's fall), and every hard edge. Each move is carried across to the body, which never moves on its own: hold the dancer still and the body settles back to itself.

The moves

The room and the trade

What comes out

Inside

One board sits 10 mm behind the panel with everything on its front: the jacks, the knobs, SWAP and LEAP, the 102 white LEDs and the whole circuit, the USB-C in a notch in its left edge. Each shard of the mirror has its own LEDs, one to ten spread along it, in the cells of a black printed baffle, so the cracks between the shards stay dark. An RP2350 runs it on both its cores, one watching the dancer, the other the body.

The CONTORT panel mid-step: the mirror lit from its middle out, a crack running through its shards, its knobs, jacks and buttons on.

Drag it or use the arrow keys to turn it; click it to take it apart.

Specs

Format

Width
20 HP
Depth
20.8 mm behind the panel
+12 V
about 65 mA dark, 135 mA dancing, 265 mA at the most, its lights at their cap (estimated)
−12 V
about 6 mA (estimated)
+5 V
not used
Controls
a big knob, 4 knobs, 2 lit buttons

I/O

DANCER, BODY
audio in, ±5 V with room to ±9 V; BODY empty, the module's held voice
SWAP, LEAP
gates, high past about 1 V; safe to ±12 V
CVs
FORCE, TWIST, BREAK: added to their knobs, 5 V the whole way; safe to ±12 V
BODY
audio out, the body alone, under a soft ceiling: exact to 3 V, never past 4.45 V
LEFT, RIGHT
audio out, the mix, the same ceiling
MOVE
CV, 0 to 8 V, 4 V at the dancer's usual level
SNAP
trigger, 5 V, 5 ms

Engine

Brain
RP2350, both cores, at 46.875 kHz, 32-bit float
Watching
1,500 times a second; each sound's pitch from 55 Hz to 1 kHz, 125 times a second
Light
102 white LEDs, over 150 frames a second
Power cycle
it wakes untraded; only the calibration is kept