Custom TouchDesigner interface, which builds itself based on a set of parameters received upon load

 Top-level TouchDesigner components

Top-level TouchDesigner components

OpenCV's background KNN subtraction, implemented as a C++ plugin inside of TouchDesigner

 SIFT features, calculated via Paglen Studio's CHAIR software, and rendered dynamically inside of TouchDesigner

SIFT features, calculated via Paglen Studio's CHAIR software, and rendered dynamically inside of TouchDesigner

Together with Obscura Digital, I built a performance tool for Trevor Paglen's piece titled "Sight Machine." The piece was a collaboration with the Kronos Quartet. Built in TouchDesigner, the tool allowed a variety of computer vision and machine learning algorithms to be "performed" and drawn in real-time. CHAIR - a custom server and software kit built by Paglen's studio - did the majority of the heavy lifting, while TouchDesigner orchestrated sequences of commands, fades, and animations. At start, the TouchDesigner UI was programmed to build itself based on a specification sent by CHAIR. A few of the algorithms (background subtraction, edge detection, and optical flow) were implemented directly inside of TouchDesigner via a custom C++ TOP that exposed OpenCV functionality. The tool received video feeds from 5 DSLR cameras and allowed for programmable cross-fading. It also had UI elements for triggering pre-rendered video content, as well as per-layer opacity / HSV adjustments.

See Wired's coverage of the performance here.

Built at Obscura Digital. Role: Interactive Engineer.