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.