Sacrifice (2023)

A semi-figurative interactive installation using DJ decks as a gamepad

Pioneer DDJ200, ThreeJS, WebMIDI


As a DJ, I often asked myself if the signal from my DJ controller, that is typically received by Rekordbox, could be received by a program of my making instead.

As it turns out, such an alternative controller is totally feasible, and made very simple by the WebMIDI API that allows for the MIDI signal sent by controllers like the Pioneer DDJ200 to be intercepted by javascript code running in the browser.

From then on, all I had to do to create an interactive installation based on this feature was to plug this MIDI signal to parameters of a 3D scene: jog wheels control the time, pads control colors, and knobs control the camera position.

The 3D scene is nothing more than free textures and meshes from Mixamo and Sketchfab, with an added on-purpose bug (not clearing up the canvas between two frames) that serves as a glitchy post processing effect.

Conceptually very simple, Sacrifice is however very generous in its artistic depth, with the notable synesthetic use of a musical instrument to control visuals, to the possible interpretation of the scene.

I let the installation being open to interpretation, but I built the scene with a particular backstory in mind: a DJ was playing in the woods, but the rave people became increasingly unhinged and started demanding his pet wolf as a sacrifice. This is him running away, possibly having made everything up in his head while tripping, explaining the psychedelig glitches in the visual and time distortion.


Just like First Contact, the code behind Sacrifice is open sourced on my github.

First Contact was first unveiled at the Block Universe group show by Myce Collective and Partie2, and a later activation was done for the Atelier Πopen days.

Screengrabs from First Contact where sold.


View this post on Instagram

A post shared by Nino Filiu (@nino.filiu)