Native VST3 plugin host for live performance and studio use, built on JUCE 9. Modernization of Niall Moody's Pedalboard2. Focused on Dirtywave m8 Integration with Ableton Link Audio Support
  • C++ 98.5%
  • PowerShell 0.8%
  • CMake 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Peter Swimm 64721c01ec chore: register repo as a native SpelWork project (fux_capacity)
Adds .spel/forge-manifest.spel so this repo is tracked as a native
fux_capacity SpelWork project rather than an external/federated one.
Created via 'ritual init --domain fux_capacity --project pedalboardx8',
then 'ritual repo scan' reclassified it: Domain=forge.spelwork, Ext=no
(previously forge.federated, external=true, confidence 0.5).
2026-08-29 10:02:48 -07:00
.agent/workflows wip: experimental plugin pool recursive rack extraction and test scaffolding 2026-02-04 18:36:35 -05:00
.forgejo/workflows ci: add Forgejo release workflow for Windows/macOS builds 2026-08-24 08:01:46 -07:00
.github docs: add Spelwork provenance foundation 2026-08-22 09:02:58 -07:00
.spel chore: register repo as a native SpelWork project (fux_capacity) 2026-08-29 10:02:48 -07:00
audits fix: polish tone and tuner utility nodes 2026-06-21 15:01:44 -04:00
docs feat: add native OPSL v0.2 artifact support 2026-08-27 07:47:50 -07:00
documentation feat: migrate to JUCE 9 2026-08-12 09:46:00 -04:00
external test: cover Link Audio channel safety 2026-08-22 11:12:39 -07:00
fonts feat: add gain smoothing and VU meter ballistics 2026-02-17 09:25:01 -05:00
icon init with v2.14 (with a fix to ensure the BypassableInstance patch is implemented) 2023-12-09 21:14:45 +01:00
images init with v2.14 (with a fix to ensure the BypassableInstance patch is implemented) 2023-12-09 21:14:45 +01:00
JUCE@0b817e93ee deps: track JUCE fork with macOS modal-dispatch-loop fix 2026-08-24 15:36:32 -07:00
provenance feat: add opt-in Ableton Link Audio 2026-08-22 09:44:00 -07:00
scripts Merge push2-opsl-m8-bridge-unified into main 2026-08-27 17:06:18 -07:00
src fix: close race and UI gaps found in Link Audio review 2026-08-28 15:08:55 -07:00
tests feat: add per-node Ableton Link Audio publishing 2026-08-28 08:30:50 -07:00
vectors init with v2.14 (with a fix to ensure the BypassableInstance patch is implemented) 2023-12-09 21:14:45 +01:00
.clang-format Phase 2: Add modern development tooling 2026-01-24 12:27:46 -05:00
.clangd docs: update IDE config and add UI polish documentation 2026-02-07 11:53:30 -05:00
.geminiignore docs: update IDE config and add UI polish documentation 2026-02-07 11:53:30 -05:00
.gitignore Merge push2-opsl-m8-bridge-unified into main 2026-08-27 17:06:18 -07:00
.gitmodules deps: track JUCE fork with macOS modal-dispatch-loop fix 2026-08-24 15:36:32 -07:00
AGENTS.md docs: add remix UI upgrade subplan 2026-06-09 15:36:18 -04:00
AI_NUTRITION.md feat: add opt-in Ableton Link Audio 2026-08-22 09:44:00 -07:00
ARCHITECTURE.md feat: migrate to JUCE 9 2026-08-12 09:46:00 -04:00
BUGFIX_ROADMAP.md docs: reconcile active roadmap 2026-06-05 19:50:10 -04:00
BUNDLED_PRODUCTS.md wip: experimental plugin pool recursive rack extraction and test scaffolding 2026-02-04 18:36:35 -05:00
CHANGELOG.md Merge push2-opsl-m8-bridge-unified into main 2026-08-27 17:06:18 -07:00
ChangeLog.txt v3.0.0 Pre-release: Code cleanup and launch documentation 2026-01-25 19:15:44 -05:00
CLAUDE.md docs: add CLAUDE.md project guidance 2026-08-24 08:01:17 -07:00
CMakeLists.txt feat: add per-node Ableton Link Audio publishing 2026-08-28 08:30:50 -07:00
CMakePresets.json Phase 2: Add modern development tooling 2026-01-24 12:27:46 -05:00
CODE_OF_CONDUCT.md docs: add Spelwork provenance foundation 2026-08-22 09:02:58 -07:00
ColourSchemeColours.txt init with v2.14 (with a fix to ensure the BypassableInstance patch is implemented) 2023-12-09 21:14:45 +01:00
CONTRIBUTING.md docs: add Spelwork provenance foundation 2026-08-22 09:02:58 -07:00
crash_log.txt refactor: consolidate loadSVGFromMemory into JuceHelperStuff 2026-02-03 13:00:31 -05:00
icon.ico init with v2.14 (with a fix to ensure the BypassableInstance patch is implemented) 2023-12-09 21:14:45 +01:00
INSTANT_SCRATCH_CAPTURE_HANDOFF_2026-06-05.md feat: polish scratch capture workflow 2026-06-09 14:41:09 -04:00
juceNiallEdits.txt init with v2.14 (with a fix to ensure the BypassableInstance patch is implemented) 2023-12-09 21:14:45 +01:00
LESSONS.md feat: add tuner analysis core 2026-06-22 13:03:53 -04:00
license.txt init with v2.14 (with a fix to ensure the BypassableInstance patch is implemented) 2023-12-09 21:14:45 +01:00
LICENSE_STATUS.md feat: add opt-in Ableton Link Audio 2026-08-22 09:44:00 -07:00
MAINTAINERS.md docs: add Spelwork provenance foundation 2026-08-22 09:02:58 -07:00
P0_GIG_SPEED_FEATURES.md docs: reconcile active roadmap 2026-06-05 19:50:10 -04:00
package-lock.json feat: polish secondary mockup browsers 2026-06-09 20:42:23 -04:00
package.json feat: polish secondary mockup browsers 2026-06-09 20:42:23 -04:00
Pedalboard2.jucer init with v2.14 (with a fix to ensure the BypassableInstance patch is implemented) 2023-12-09 21:14:45 +01:00
Pedalboard3 Patch File(6).pd feat: add gain smoothing and VU meter ballistics 2026-02-17 09:25:01 -05:00
PROVENANCE.md docs: add Spelwork provenance foundation 2026-08-22 09:02:58 -07:00
readme.md Merge push2-opsl-m8-bridge-unified into main 2026-08-27 17:06:18 -07:00
resource.h init with v2.14 (with a fix to ensure the BypassableInstance patch is implemented) 2023-12-09 21:14:45 +01:00
Resources.rc init with v2.14 (with a fix to ensure the BypassableInstance patch is implemented) 2023-12-09 21:14:45 +01:00
ROADMAP.md feat: polish scratch capture workflow 2026-06-09 14:41:09 -04:00
SECURITY.md docs: add Spelwork provenance foundation 2026-08-22 09:02:58 -07:00
STATE_OF_PROJECT.md docs: update STATE_OF_PROJECT and ROADMAP with mixer/splitter completion 2026-02-18 09:09:52 -05:00
TESTLATER.md feat: polish tuner UI from real references 2026-06-22 18:34:36 -04:00
THIRD_PARTY_LICENSES.md Merge push2-opsl-m8-bridge-unified into main 2026-08-27 17:06:18 -07:00
UI_POLISH_2_WEEK_HANDOFF.md docs: update changelog, architecture, and roadmap for gain controls and VU meters 2026-02-13 02:38:32 -05:00
UI_POLISH_ROADMAP_UPGRADE.md docs: reconcile active roadmap 2026-06-05 19:50:10 -04:00
UI_POLISH_TASK_BOARD.md docs: update changelog, architecture, and roadmap for gain controls and VU meters 2026-02-13 02:38:32 -05:00
UI_SCALE_HANDOFF_2026-05-28.md docs: add next-agent UI scale handoff 2026-05-27 21:38:50 -04:00

Pedalboard3

A free, open-source VST3 plugin host for live performance and studio workflows.

License: GPL v3 JUCE


What It Is

Pedalboard3 is a standalone application that lets you load VST3 plugins, wire them together on a visual canvas, and switch between patches for live performance or practice. Think of it as a modular plugin host — you build signal chains by dragging cables between nodes, then save and recall them as patches in a setlist.

It started as Niall Moody's Pedalboard2 (2011-2013), a simple VST2 host built on JUCE 1.x. That project was abandoned after version 2.14. This fork modernizes the entire codebase for current plugin formats and adds the features you'd actually need to use it on stage or in a studio.


Features

Plugin Hosting

  • Native 64-bit VST3 hosting
  • Out-of-process plugin scanner with timeout protection — a crashing plugin won't take down the host
  • Automatic plugin blacklisting with crash recovery
  • Plugin search, favorites, recent plugins, and categorized menus
  • Effect Rack — nest an entire plugin chain inside a single node

Neural Amp Modeling

  • Built-in NAM processor for loading .nam neural amp models
  • Integrated Tone3000 browser for searching, previewing, and downloading models
  • OAuth login and background download management with local caching

Canvas & Navigation

  • Drag-and-drop plugin wiring with bezier cables
  • Zoom (scroll wheel), pan (click-drag), and fit-to-screen
  • Undo/redo for all graph operations
  • Smooth viewport scrolling with generous padding

Live Performance

  • Stage Mode (F11) — fullscreen view with large patch name, next-patch preview, and VU meters
  • Setlist management with drag-and-drop reordering
  • Glitch-free patch switching via crossfade mixer
  • Background plugin preloading for instant transitions
  • Instant scratch capture with synchronized raw DI + wet output takes

Mixing & Metering

  • DAW-style mixer node — N strips with gain faders, pan knobs, mute/solo/phase, stereo toggle
  • DAW splitter node — 1 stereo input to N outputs with per-strip controls
  • Master bus insert rack for global effects processing
  • Per-channel master gain controls (up to 16 channels)
  • Professional VU meters with gradient fill, peak hold, dB scale ticks, and glow
  • GPL-only Ableton Link 4.0 integration, built into the non-commercial distribution
  • Dedicated Options > Link Audio Settings screen for opt-in, peer naming, and live peer/channel status; disabled by default
  • Publishes post-master output with up to 16 discrete channels to Link Audio peers on the local network
  • Receives the first discovered remote channel through the routable built-in Link Audio Input graph source

MIDI

  • MIDI CC mapping with learn mode, custom ranges, latch/toggle, channel filtering
  • MIDI file player with transport, tempo control, and loop
  • Transpose, rechannelize, and keyboard split processors
  • Virtual MIDI keyboard for testing without hardware
  • Lock-free FIFO dispatch — all MIDI parameter control is RT-safe

Control Surfaces & OSC

  • Generic control-surface automation layer for MIDI CC and OSC controllers
  • Eight user slots that can target built-in actions or plugin parameters
  • Built-in targets for transport, patch navigation, master gain, panic, and Stage Mode
  • Optional MIDI and OSC feedback output with persisted routing

Built-in Processors

  • Audio Input / Output (multi-channel, with per-channel gain and VU)
  • Chromatic tuner (needle + strobe modes, YIN detection)
  • Tone generator (sine, square, saw, triangle, noise)
  • Oscilloscope
  • File player, looper, metronome, audio recorder
  • A/B splitter and mixer for parallel routing
  • Notes node (markdown rendered) and label node
  • IR loader for cabinet simulation

Themes

  • 5 built-in colour schemes: Midnight, Daylight, Synthwave, Deep Ocean, Forest
  • Semantic colour token system for consistent theming across the entire UI
  • Inter font family for clean typography

Installation

Windows (64-bit)

  1. Download the latest release from the GitHub Releases page.
  2. Extract Pedalboard3.exe to your preferred location.
  3. Run the app and scan plugins from Options > Plugin List.

Build From Source

Requirements:

  • Visual Studio 2022 (Windows)
  • CMake 3.22+
  • Git
git clone --recursive https://github.com/peterswimm/Pedalboard3.git
cd Pedalboard3
git submodule update --init --recursive
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release

Output: build/Pedalboard3_artefacts/Release/

The build prefers the vendored external/NeuralAmpModelerCore checkout when present and falls back to fetching NeuralAmpModelerCore during configure if that submodule is unavailable.

The non-commercial build includes Ableton Link Audio by default. To exclude it, configure with -DPedalboard3_ENABLE_LINK_AUDIO=OFF.


Quick Start

  1. Double-click the canvas to add a plugin or processor.
  2. Drag from an output pin to an input pin to create a connection.
  3. Use the patch bar at the bottom to save, load, and switch patches.
  4. Press F11 for Stage Mode.

Settings Location

OS Path
Windows 10/11 %APPDATA%\Pedalboard3
macOS ~/Library/Application Support/Pedalboard3

Project Status

Active development, currently in the release-hardening phase. Core workflows such as plugin hosting, live patch switching, NAM loading, scratch capture, and control-surface automation are implemented. Remaining work is hardware QA, packaging, and release documentation cleanup.

For details, see:


Testing

Catch2 coverage spans signal path, plugin lifecycle, MIDI mapping, scratch capture, stage layout, UI regression harnesses, graph management, and mutation testing:

.\build\tests\Release\Pedalboard3_Tests.exe

Contributing

This repository is maintained with a single-developer workflow.

  1. Work on the requested branch or create a local codex/ feature branch.
  2. Commit focused changes with clear notes and test evidence.
  3. Push the branch directly when backup or publication is needed.

Pull requests are not the default workflow for this repo.


Credits

  • Original Author: Niall Moody (2011)
  • Modernization: Eric Steenwerth (2024-2026)
  • Current Stewardship: Peter Swimm, Toilville LLC / Spelwork (2026-)
  • Framework: JUCE

Provenance and AI Transparency

Pedalboard3 is a maintained public continuation of Pedalboard2. We preserve upstream attribution, track maintained dependency forks, and require human review of material AI-assisted changes.


License

The repository currently carries GPLv3 text in license.txt. The final public binary-release posture must be confirmed against JUCE's AGPLv3 or commercial license path; see LICENSE_STATUS.md.

Original graphics and sounds are under the Creative Commons Sampling Plus license.