Ceci Capstone GUI

TouchDesigner, p5.js, ml5.js, Google MediaPipe, OSC, WebSockets, Node.js
โ†— GitHub

For Ceci Sun's senior thesis dance performance, I created a GUI/debugging interface that sends OSC messages to TouchDesigner.

Background

Web Render vs. OSC

Limitations

Since I only needed a few parameters to communicate the movement, it was not necessary to use all 33 joints. Unfortunately, the MediaPipe library does not support turning off certain joints. If I were to scale up the project, I would need to create a custom model that only uses the necessary joints to improve overall performance. Also, MediaPipe is best trained for waist-up poses filmed on the webcam and tracks at most one person at a time. When an improved model is created in the future, a lot of new possibilities will open up in terms of the types of performances that can be created.

Inspiration

I was heavily inspired by discrete figures by Daito Manabe's Rhizomatiks Research group. For time-based visuals, I often find it easier to figure out the music first. Ceci sent me some placeholder music to work and I had a lot of fun letting sound guide what the visuals should look like.

Inspiration

๐Ÿšง Check back soon for the final performance ๐Ÿšง

SvelteKit ยท TypeScript ยท Vite