Open-source toolkit: SWAM default MIDI maps + host parameter IDs (and an Ableton .als wirer)

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Post Reply New Topic
RELATED
PRODUCTS

Post

AUTO-ADMIN: Non-MP3, WAV, OGG, SoundCloud, YouTube, Vimeo, Twitter and Facebook links in this post have been protected automatically. Once the member reaches 5 posts the links will function as normal.
Hi all,

I play keys in a live band and wanted head-gesture control (a TEControl breath controller) over growl/flutter on a rack of nine SWAM Solo instruments (Audio Modeling) in Ableton Live — without doing MIDI-Learn on every instance. Along the way I ended up mapping out how SWAM stores its MIDI configuration, and I've open-sourced the findings and the tools in case they help someone else:

github.com/Beennnn/swam-toolkit (https://github.com/Beennnn/swam-toolkit) (MIT, Python stdlib only)

Three findings that might interest people here:

1. The factory MIDI map is identical across the whole SWAM Solo range. I extracted the default External Controller mapping from the factory presets of all 33 instruments I own (Brass, Woodwinds, Strings): Expression CC11, Vibrato Depth CC1, Vibrato Rate CC19, Volume CC7, Pan CC10, Sustain CC64, Reverb CC90 — receive channel Omni everywhere. Only the pitch-bend range differs by family. Full generated table is in the repo.

2. Host parameter IDs are predictable. Since SWAM is JUCE-based, the VST3 parameter ID of any parameter is the Java-style hashCode() of its internal name (e.g. growl -> 98629305). Verified against what Ableton stores after exposing the parameters. This makes host-side automation possible without ever opening the plugin GUI.

3. One .swamec file covers a family. The Controller-Mapping export format is plain XML, so the repo includes a generator that takes your factory mapping and appends custom CC assignments (growl/flutter/tremolo/etc.) — three generated files covered my whole collection, one Import click per instance. Import verified on SWAM Trumpet 3.5.0 / Live 12.

Nothing from Audio Modeling is redistributed — the tools only read the presets installed on your own machine, and no binaries were decompiled (everything comes from data files on disk, plus JUCE being open source).

Bonus for Ableton users: a companion tool that batch-wires plugin parameters to rack macros and MIDI mappings directly inside the .als project file (with a write-up of the .als macro/MIDI format): github.com/Beennnn/als-wire (https://github.com/Beennnn/als-wire)

Two things I could NOT verify, where help is welcome: whether the AU builds use the same parameter-ID hash (expected, being JUCE — but unverified), and the factory-preset paths on Windows.

Built in an AI-assisted workflow, all empirical checks run on a real install and a real live rig. Hope it's useful to someone. Cheers!

Post Reply

Return to “Instruments”