Portfolio
Essentia TD
01
Details
01.1 / TYPE
Software
01.2 / TOOLS
TouchDesigner
01.3 / DOWNLOAD
Github
01.4 / DATE
March 2026

Overview

Essentia CHOP Suite is a set of five C++ CHOP plugins I built for TouchDesigner, bringing real-time and offline audio analysis directly into the TD environment. The suite is powered by Essentia, the open-source audio analysis library developed at the Music Technology Group of Universitat Pompeu Fabra, and exposes a wide range of audio descriptors — from spectral features and pitch detection to rhythm analysis and loudness metering — as native TouchDesigner operators.

What It Does

The suite covers five analysis domains through dedicated operators: spectral analysis (MFCCs, mel bands, centroid, flux), tonal analysis (pitch, chroma, key and scale estimation), rhythm analysis (onset detection, BPM, beat phase), loudness metering (EBU R128), and a shared FFT spectrum node that feeds the downstream analysis chain. Each operator supports both a real-time mode — processing audio per frame at TD's cook rate — and a batch mode for full-file offline analysis running on a background thread.

Why I Built It

TouchDesigner's built-in audio tools are well suited for visualization, but offer limited access to the kind of structured audio descriptors that music information retrieval research has developed over decades. Essentia CHOP Suite bridges that gap, making it possible to drive generative systems, reactive visuals, and interactive installations from musically meaningful data — key, scale, beat phase, timbral features — without leaving the TD environment or writing custom shaders.

Technical Details

The plugins are written in C++ using the TouchDesigner SDK and built against a static MSVC build of Essentia. The architecture uses a shared base class handling mode branching, async polling, and error management across all operators. The suite is open source under the AGPL-3.0 license and comes with an interactive guide covering parameters, use cases, and examples.

Access

The source code, releases, and interactive documentation are available on GitHub.

logo