What Actually Happened With The Tiernan Cowlings Collaboration With Steve Aokis And Compa Reshapes Digital Performance Innovation
I spent three days debugging a live show that was supposed to render in real time. The client wanted interactive visuals synced to MIDI input with sub-50 millisecond latency. It was supposed to be simple. It wasn't. This is what the Tiernan Cowlings Collaboration With Steve Aokis And Compa Reshapes Digital Performance Innovation is actually about, stripped of the press release language. It's a pipeline. A way of marrying custom generative visuals to live performance data without the usual fragility that makes these systems fall apart on the second song of a set.
Tiernan Cowlings Collaboration With Steve Aokis And Compa Reshapes Digital Performance Innovation
At its core the project combined three things that rarely get put together properly: Cowlings' shader-based visual engine, Aoki's live DJ feed, and COMPA's infrastructure layer that actually makes everything stable enough to run on a laptop at a venue with questionable Wi-Fi. The technical setup uses a Node.js middleware server that ingests Ableton Link timecode along with individual track stem data from Aoki's set. That data feeds into a custom TouchDesigner patch that Cowlings built. The output goes to an HDMI board with a redundant signal path. Most people gloss over the redundancy part but it's literally what kept the show from collapsing when the primary capture card stuttered at 2:14 AM on the second night. Here's what I learned doing something similar last year. The most common failure point isn't the visual rendering. It's the handoff between the music software and the visual engine. You'd think sending MIDI clock data is straightforward. It is until you're running Ableton through a MIDI interface with buffer overlap issues and the Visualizer starts desyncing because the sample rate drifted by 44100 versus 48000 Hz across two machines. I spent six hours chasing that exact problem before I figured out I needed to lock both machines to an external clock source rather than relying on internal sample rate matching.
The pipeline itself works like this. Aoki's Ableton session outputs both audio stems and MIDI clock through a dedicated interface. That interface routes to the middleware which parses the data and pushes relevant parameters to the TouchDesigner server over OSC. TouchDesigner handles the actual generative rendering using Cowlings' custom shaders. The output gets captured and broadcast. There are actually two separate output streams: one for the venue's video wall and one for the online broadcast. Running both simultaneously doubles the GPU load. One thing nobody talks about is thermal throttling. When I ran my version of this kind of setup in a small venue with poor airflow the RTX card hit 87 degrees within forty minutes and started dropping frames. I had to add a secondary machine solely for the broadcast output and split the rendering workload. It cost more in equipment but saved the show. If you're planning something like this don't skip the thermal planning. The COMPA layer is really just a well-organized wrapper around standard tools but that's exactly why it works. Most of these projects fail because someone builds a custom solution without proper error handling. COMPA's approach uses standardized checkpoints that verify each stage of the pipeline before moving forward. If the OSC connection drops it doesn't crash the whole thing. It logs the error and falls back to a pre-rendered loop until the connection reestablishes. That fallback behavior is what separates a system that survives a live show from one that doesn't.
Get the Full Details

How To Build Something Similar
If you want to replicate this approach start with the middleware before you touch any visual software. Write or source a Node script that can parse MIDI clock and map it to OSC parameters. Test it independently with a simple ping command. If it can't do that reliably nothing else matters. For the visual side TouchDesigner is the standard tool here. It has native MIDI and OSC support. Load Cowlings' shader templates if you can find them distributed through COMPA's open resources or reach out directly. The shader work is what gives this its visual signature so don't try to replace it with something generic. The shaders are optimized for the specific data rates coming off the middleware layer. Set up your redundancy early. I know that sounds obvious but most people build one working path and add backup only after something breaks. Build both paths at the same time. Use a hardware switcher between the two output machines so you can flip instantly if one fails.
The broadcast and venue outputs need separate monitoring. I used two low-cost HDMI capture cards just for monitoring what each stream was actually sending. Without that you're flying blind and you won't know something is wrong until the audience tells you.
Where This Breaks Down
This isn't a bulletproof system. The middleware needs constant maintenance because Ableton updates occasionally change how they expose Link data. I've seen it break after a single software update. Keep your Ableton version locked unless you have a reason to upgrade and test the middleware against any changes. GPU requirements are steep. You're rendering generative visuals plus handling broadcast encoding simultaneously. A minimum of an RTX 4070 class card is realistic. Anything less and you'll be managing resolution or frame rate compromises. The original setup used dual 4090s for headroom. If you can't afford that level of hardware the fallback approach with a second machine becomes mandatory rather than optional. OSC parameter mapping is where most people hit their first wall. There's no universal standard for how musical data maps to visual parameters. You'll spend time figuring out which BPM division drives which visual effect and making sure it feels right rather than mechanically locked. This is more art than engineering but getting it wrong makes the whole thing feel disconnected.

If you need something simpler and don't require custom generative visuals just use Resolume Arena with a solid Ableton Link setup. It handles the redundancy and mapping internally. The Cowlings approach is overkill for most applications unless you specifically need that level of visual customization. But if you do need it this pipeline is one of the few that actually works in practice without falling apart under pressure.