Multi-host integration of Ableton Link Audio — stream audio over a local network, sample-accurate, beat-synced, between any combination of TouchDesigner, Max/MSP, VCV Rack, openFrameworks, and Ableton Live.
Status: early R&D release (v0.1.0). Built on top of Ableton's open-source Link library (GPL-2.0-or-later). Link Audio is currently an alpha API — expect evolution.
macOS Universal (Apple Silicon + Intel) and Windows x64 — both supported.
Ableton Link has been around since 2016 — a tempo / beat / phase synchronization layer over LAN. Hundreds of apps support it. Link Audio, introduced in Ableton Live 12.4 (public release May 5, 2026), extends Link to also stream audio between peers.
In addition to the shared timeline:
- Each peer can publish one or more named channels (audio streams).
- Each peer can subscribe to channels published by other peers.
- Audio is exchanged on the local network with sample-accurate timing.
VoidLinkAudio brings this functionality into creative tools that don't have it natively yet — and lets them all interoperate with each other and with Live.
| Host | Platforms | Status |
|---|---|---|
| Ableton Live 12.4+ | native (Mac + Win) | works out of the box |
| Max / MSP | macOS Universal, Windows x64 | working |
| TouchDesigner | macOS Universal, Windows x64 | working |
| VCV Rack 2 | macOS arm64 + x64, Windows x64 | working |
| openFrameworks | macOS, Linux, Windows | working (separate repo) |
Cross-platform interop has been validated: audio passes between Win Max ↔ Mac Max / Live / TouchDesigner / VCV Rack and back.
| Path | Host | Notes |
|---|---|---|
core/ |
Shared C++ | LinkAudioManager + AudioRingBuffer |
max/ |
Max / MSP externals | Full Max package (helpers, refpages) |
td/ |
TouchDesigner CHOPs | Send + Receive CHOPs |
vcv/ |
VCV Rack module | Send + Receive modules |
thirdparty/ |
Submodule | Ableton/link (GPL-2.0-or-later) |
openFrameworks support lives in its own repo, following the ofxAddon
convention:
gluon/ofxAbletonLinkAudio
VST / AU / CLAP plugins are distributed separately at structure-void.com.
The fastest way to use VoidLinkAudio. Pre-built, signed (Mac notarised, Win signed) binaries are available in Releases:
VoidLinkAudio-Max-vX.Y.Z.zip— Max package (Mac + Win in one)VoidLinkAudio-TD-vX.Y.Z.zip— TouchDesigner CHOPs (Mac + Win)VoidLinkAudio-VCV-vX.Y.Z.zip— VCV Rack plugin (Mac arm64/x64 + Win)
Each zip contains a README with install instructions specific to that host.
You'll need:
- macOS 11+ (universal arm64+x86_64) or Windows 10 x64
- CMake 3.22+
- A C++17 compiler (Apple Clang, MSVC 2022, or MinGW gcc 13+)
- Host SDKs (see per-host sections below)
Clone with submodules:
git clone --recursive https://github.com/gluon/Void-LinkAudio.git
cd Void-LinkAudioIf you cloned without --recursive:
git submodule update --init --recursiveTwo custom CHOPs:
LinkAudioReceive— subscribe to a remote channel; output L/R audioLinkAudioSend— publish a TD audio signal as a Link Audio channel
cd td/CHOP/LinkAudioReceive
cmake -B build -G Xcode
cmake --build build --config Release
cd ../LinkAudioSend
cmake -B build -G Xcode
cmake --build build --config ReleaseOutputs land under each CHOP's plugin/Release/ folder. Drop the
.plugin bundles into your TD project's Plugins/ folder, or symlink to:
~/Library/Application Support/Derivative/TouchDesigner099/Plugins/
Two MSP externals plus a full Max package (with help patchers, refpages, vignette tooltip):
void.linkaudio.receive~— receive audio from a Link Audio channelvoid.linkaudio.send~— publish 1 or 2 channels of audio
You'll need the Max SDK (8.2.0+).
export MAX_SDK_PATH=/path/to/your/max-sdk
cd max
cmake -B build -G Xcode
cmake --build build --config ReleaseThe package (with maxref, help patchers, overview patcher) lives at
max/package/. Symlink it into your Max packages folder:
ln -s "$(pwd)/package" "$HOME/Documents/Max 9/Packages/VoidLinkAudio"then drop the freshly-built .mxo files from max/externals/ into the
package's externals/ folder, and restart Max.
Two modules, Void Link Audio Send and Void Link Audio Receive, both visible in the Structure Void browser category.
You'll need the Rack SDK for your target architecture.
cd vcv
RACK_DIR=/path/to/Rack-SDK makeFor dual-arch macOS builds (arm64 + x64), see vcv/README.md for details.
⚠️ Important: VCV Rack's engine has no internal clock. You must have an Audio module in your VCV patch for VoidLinkAudio Send to publish at the correct sample rate. The Audio module doesn't need to be connected to anything.
See the dedicated repo: gluon/ofxAbletonLinkAudio
It contains the addon source plus example projects (sender, receiver, ping-pong).
VoidLinkAudio is released under GPL-2.0-or-later — see LICENSE.
This project links statically against Ableton Link, which is itself GPL-2.0-or-later. The viral GPL clause means any binary that links against Link is also GPL.
A commercial (non-GPL) license for Link is available directly from Ableton: link-devs@ableton.com.
See ACKNOWLEDGEMENTS.md for the complete attribution
list including TouchDesigner SDK, Max SDK, VCV Rack SDK, and asio-standalone.
Built on top of Ableton Link, the open-source synchronization library by Ableton AG. Link Audio is the audio extension shipped with Ableton Link starting in Live 12.4.
This implementation is independent and is not endorsed, certified, or supported by Ableton. "Ableton", "Live", and "Link" are trademarks of Ableton AG.
Julien Bayle — Structure Void https://structure-void.com · https://julienbayle.net Ableton Certified Trainer · Max Certified Trainer
This is R&D code. It builds, runs, and has been validated in real bidirectional sessions across multiple hosts on the same LAN — but it's not a commercial product. No warranty, express or implied. Use, fork, ship, break. If you ship something with it, a credit (and a postcard) is appreciated but not required.