Insight · 8 min read
Run Pure Data Patches on Dubby: plugdata & the Heavy Compiler
plugdata is Pure Data with a modern editor - both are free. See the differences, then compile a patch with the Heavy compiler (hvcc) and run it on hardware.
This guide shows how to take a Pure Data patch from plugdata, compile it with the Heavy compiler (hvcc), and run it on Dubby. Pure Data is free to use and requires no license. It is the open-source path to building hardware audio effects for Componental's quadraphonic processor.
What is Pure Data?
If you've heard of Max/MSP, you already know half the story. Pure Data (Pd) was created by Miller Puckette - the same person who created Max at IRCAM in 1988. Puckette started Pure Data in the mid-1990s as a free, open-source continuation of the ideas behind Max. Then came MSP, which originally started as Pure Data running as an external inside Max. David Zicarelli later bought the rights to Max and combined them into Max/MSP (the name stands for both "Max Signal Processing" and "Miller S. Puckette"). So Pure Data and Max/MSP are more than cousins; they share the same DNA, built on the same core idea: you create audio programs by connecting visual objects with patch cables.
Pure Data has been around since 1996 and has a huge community of musicians, sound artists, and educators. Its simplicity is its strength: there's no subscription, no license key, and no company that can pull the plug. It's truly community-owned software.
plugdata: Pure Data with a Modern Face
Pure Data's interface hasn't changed much since the late '90s. That's part of its charm for some, but it can be intimidating for newcomers. plugdata changes that. Built by Timothy Schoen, plugdata wraps Pure Data's engine in a clean, modern interface. It looks and feels like a contemporary creative tool - think smooth patch cables, a proper object browser, and a design that doesn't fight you.
plugdata runs on macOS, Windows, Linux, and iOS, and also works as a VST3/AU/LV2/CLAP plugin inside any DAW - so you can use your Pure Data patches alongside your other instruments and effects without any extra routing. Crucially for hardware makers like us, plugdata integrates the Heavy compiler, which is the bridge between visual patches and embedded hardware.
The Heavy Compiler: From Patches to Embedded Code
The Heavy compiler (hvcc) takes a Pure Data patch and statically interprets it, converting it to optimized C code - similar to what Gen~ does for Max/MSP. Originally developed by Enzien Audio, it's now maintained by Wasted Audio and the open-source community. We had the pleasure of meeting Wasted Audio at Superbooth, and we're collaborating with them directly on bringing Heavy support to Dubby. The compiler emulates Pure Data's behavior in standalone C code (there's no Pd runtime inside hvcc), producing lean, embeddable DSP that can run on microcontrollers, audio boards, and standalone hardware. Conceptually, Heavy sits somewhere between Gen~ and RNBO~: it offers more control-rate options than Gen~ but with slightly less flexibility (and no multi-threading on desktop) compared to RNBO~.
This is the same fundamental idea behind Gen~ code export: you design audio visually, and the compiler produces C++ you can run anywhere. The difference is that Pure Data and the Heavy compiler are completely free and open-source, and Pure Data requires no license. For the community, this opens up algorithm development to anyone with a laptop.
How This Relates to Dubby
Dubby already runs algorithms built with Gen~ from Max/MSP, native C++ via libDubby, and Heavy compiler output via board.json. Gen~ remains a fantastic tool for DSP design, and our patch library on Dubby.Studio is full of Gen~-based creations from our community.
Pure Data runs on Dubby today, in alpha. Audio works, parameters that map as float, int and choice work, and MIDI input works. Bool parameters, MIDI output, and SDRAM for table buffers - what long delays and reverbs need - do not work yet, and patches have crashed during testing.
The workflow is not publicly documented yet. There are early notes in the Pure Data documentation on Dubby.Studio, and the Pure Data channel on our Discord is where the current state is discussed.
This matters because Pure Data has no license cost. Combined with plugdata's modern interface and the Heavy compiler's open-source toolchain, it means the entire path from patch to hardware becomes free. That aligns perfectly with Dubby's open-platform philosophy.
Connect with other Dubby users building patches in Pure Data and plugdata. Share patches, ask questions, and get help shaping your DSP workflow.
Gen~ vs Pure Data + Heavy: How They Compare
| Gen~ (Max/MSP) | Pure Data + Heavy | |
|---|---|---|
| License | Requires Max/MSP license (~$10/mo or $399) | Completely free and open-source |
| Interface | Max/MSP (mature, extensive) | plugdata (modern) or vanilla Pd (classic) |
| Code export | Gen~ exports optimized C++ | Heavy compiler exports optimized C/C++ |
| DAW plugin | Max for Live (Ableton only) | plugdata runs as VST3/AU/LV2/CLAP in any DAW |
| Community | Cycling '74 forums, decades of resources | Pd forums, plugdata Discord, Heavy Discord |
| Pd object support | N/A (different language) | Subset of Pd vanilla objects |
| Dubby support | Full support via Dubby Max Patcher | Alpha - audio, float/int/choice parameters and MIDI input work |
Getting Started
If you want to start learning Pure Data today, download plugdata - it's the easiest way in. Build a simple delay, a filter, or a distortion. The visual patching workflow is nearly identical to Max/MSP, so if you've used Gen~ before, you'll feel right at home. And if you're new to visual audio programming entirely, plugdata's clean interface makes it far less daunting than starting with vanilla Pd.
For the Heavy compiler specifically, the hvcc documentation lists all supported objects and compilation targets. Not every Pure Data object is supported - the Heavy compiler works with a specific subset of Pd vanilla - but it covers the essentials for DSP: oscillators, filters, delays, math, and signal routing. In plugdata, you can enable "compiled mode" to get help creating compatible patches - the editor will flag unsupported objects as you work.
Join the Heavy compiler Discord for help with hvcc, the Pure Data Discord for general Pd questions, or our own Dubby community Discord where we're sharing the current state of the Pure Data alpha.
What's Next
We'll be sharing updates on Heavy compiler support for Dubby through our Discord and public roadmap. When it's ready, you'll be able to design in plugdata, compile with hvcc, and flash to Dubby - all with free, open-source tools. In the meantime, learning Pure Data and plugdata is a great investment: the patches you build today will work on Dubby tomorrow.
Already comfortable with Max/MSP? Learn how Gen~ works with Dubby right now. Or check out the Gen~ vs FAUST comparison for a broader look at DSP language options.
Looking for hardware to run your patches on? See Dubby, or read our 2026 multi-effects buyer's guide for what to look for in a programmable effects unit.
Keep reading
Insight · 8 min
What is Gen~ and How Dubby Uses It
Gen~ turns Max/MSP patches into embeddable C++ code. Here's how that simple idea powers every algorithm running on Dubby.
Insight · 9 min
Gen~ vs FAUST for Hardware Audio DSP
Visual patching vs functional programming - two paths to the same C++ output. Here's how Gen~ and FAUST compare for embedded audio DSP.
Insight · 5 min
Open-Platform Music Hardware: Why It Matters
Closed ecosystems lock you in. Transparent instruments set you free. Here's why it changes everything for musicians.
Tutorial · 6 min
Getting Started with Dubby
Unbox, plug in, and start processing sound. Everything you need to know to go from zero to your first patch in minutes.
Insight · 8 min
Eurorack vs Standalone Effects Processors
Total control vs instant playability. Here's how Eurorack and standalone effects compare - and where the lines are blurring.
