A WebGL visual synthesizer for Ableton Live 12.4.5 Suite beta, built with the Extensions SDK. Open it from any MIDI clip via right-click — visuals respond to your notes in real time.
Requires: Ableton Live 12.4.5 Suite beta · Node.js 24+
- 5 built-in GLSL shaders — plasma, ripple, tunnel, fractal, warp
- 2-layer system with screen blend mode
- Per-layer controls: speed, intensity, opacity, scale, glitch, hue, chaos
- Randomize button
- BPM sync (manual input)
- Resize presets: 1:1, 16:9, 9:16, fill, custom W×H
- MIDI reactive — pitch and velocity drive the visuals
From release (.ablx):
- Download
prism-live.ablxfrom the Releases page - Double-click or drag into Live 12.4.5 Suite beta
- Right-click any MIDI clip → Open Prism Live
From source:
cd prism-live
npm install
npm start
The import button (^ shader) accepts .glsl, .frag, and .txt files.
Current limitation: Due to how Ableton's SDK renders the extension UI (as a data URL in a sandboxed WKWebView), the native file picker is blocked by the webview on macOS. This is an SDK-level restriction, not something fixable in the extension code itself. The import button is present and the infrastructure is ready — we're waiting on the SDK to expose file access or a non-sandboxed webview context.
In the meantime, the ShaderToy-format versions of the PRISM Shader Pack work in shadertoy.com, KodeLife, VDMX, Resolume, and TouchDesigner right now.
61 GLSL shaders from the PRISM Visual Synthesizer, in two formats:
- Prism Live format — ready for when the SDK supports file import
- ShaderToy format — works right now in shadertoy.com and compatible tools
Available at: https://buymeacoffee.com/noisyloops/extras
- PRISM Visual Synthesizer (see the shaders in action): https://prism-video-synth.vercel.app
- GitHub: https://github.com/noisyloop/ableton-extensions
- Shader Pack Vol. 1: https://buymeacoffee.com/noisyloops/extras
- Ableton Extensions SDK: https://ableton.github.io/extensions-sdk
These are filed as feedback for the Ableton team:
captureStream()— crashes the webview, video export not possible yet- File picker — blocked in sandboxed WKWebView data URL context, shader import not possible yet
autocompleteattributes — ignored by the embedded webview- No song-level API —
song.temponot exposed, BPM must be set manually - No live postMessage from extension to webview — data must be inlined at open time
MIT — see LICENSE
If this saved you time or sparked something, buy me a coffee: