Profile Binding
Profile Binding
A profile is how Guitar Prometheus knows which keyswitch notes to send for which guitar techniques. Each VST has its own keyswitch convention; a profile captures that convention so the same arrangement can drive multiple VSTs by swapping the bound profile.
Profile Anatomy
A profile is identified by a UUID and carries:
- Identity: name + category (used to slug the on-disk filename).
- Drum profile flag: when on, the profile carries a drum-name -> MIDI pitch override map and the editor hides the guitar-keyswitch tabs (Techniques, KS Velocity, Articulations, Articulation Mods, Articulation KS Velocity), leaving the Drum Map and Velocities tabs.
- Techniques: which MIDI note triggers each performance technique (palm mute, hammer-on, slide, etc.). Read in the editor’s Techniques tab.
- KS Velocity: per-technique keyswitch velocity. Useful for VSTs like Odin III that put multiple muted articulations on one keyswitch and distinguish them by velocity band (palm mute = 25-34, closed palm mute = 15-24, dead mute = 0-14).
- Articulations: which MIDI note triggers each articulation (staccato, accent, strong-accent, grace).
- Articulation Mods: per-articulation velocity boost + length multiplier. Affects the music note itself, not the keyswitch.
- Articulation KS Velocity: per-articulation keyswitch velocity (same idea as KS Velocity but for articulation keyswitches).
- Velocities: per-dynamic MIDI velocity — what
mftranslates to, whatfftranslates to, etc. - Drum Map (drum profiles only): drum-piece name -> MIDI note
override map. The score’s drum names always resolve through a three-
tier chain (Profile drum-map override → score
<instrument id>ref → engraving display pitch), so the Drum Map is an override store, not a primary kit builder. Standard GM pieces resolve correctly with no override registered.
Editing a Profile
The editor surfaces every field above. Each tab has one row per relevant enum value:
- Techniques and Articulations rows have a button labelled
C2 (36)(the formatted keyswitch). Click it to open a piano picker; click a key to write back. Right-click clears the keyswitch (sets to 0, which disables the keyswitch for that technique). - KS Velocity and Articulation KS Velocity rows are plain numeric
fields.
0falls back to the default keyswitch velocity (100); a positive value is honoured verbatim and clamped into [1, 127]. - Velocities rows are plain numeric fields keyed by dynamic.
- Drum Map has two sections:
- General MIDI defaults — every GM percussion name (Acoustic Bass Drum, Snare, Hi-hat, etc.) is shown with its GM note number. Click the note button to override; click the ✕ to clear the override and fall back to the GM default.
- Custom pieces — drum names that aren’t part of the GM kit (e.g. Guitar Pro’s “Kick (hit)”) get their own override rows. Add a new row at the bottom of this section: enter a name, pick a MIDI note, and the override is registered. Click ✕ on any row to remove the override.
After editing, Save writes the profile to disk. Revert drops unsaved edits and restores the on-disk state.
Binding a Profile to a Track
In the main window’s track list, the Profile column on each row is a
dropdown of every profile loaded from disk. Pick one; the binding is
saved as part of the project (scorePartId -> profileUuid).
Re-opening the project re-applies the binding. Replacing the MusicXML
(File -> Replace MusicXML…) preserves bindings whose scorePartId
still exists in the new score; bindings whose part vanished are dropped
with a warning.
Sharing Profiles
- Single profile: with the profile selected, Export… writes a
.jsonyou can share. The recipient drops it on Import… to add it to their library. UUID collisions (same profile already in the recipient’s library) prompt Replace / Copy / Cancel. - Profile library: the Archive… button next to Import / Export
pops a menu with Export All to .zip and Import All from .zip.
The zip names each entry with the same
<slug>-<hash>.jsonfilename the editor uses on disk, so a power user can also unzip the archive directly into their profiles directory.
Bundled Starter Profiles
Six VST starter profiles ship in resources/profiles/vst-presets/:
- Impact Soundworks Shreddage 3.5 — Hydra, Argent, Darkwall, Serpent
- SubMission Audio Basses (combined Umansky + Grove coverage)
- Solemn Tones Odin III (full variant / pickable keyswitch tree)
Import any of them via the editor’s Import… button. They cover the
most common VSTs in heavy / metal production; treat them as starting
points and adjust velocities / keyswitches to taste. See
resources/profiles/vst-presets/README.md for which articulations each
profile covers and what’s deliberately omitted.
Drum Tracks
A drum track shows up in the track list with instrument “Drum Kit” (GM patch 1 on channel 10, by convention). Bind a drum-flagged profile; the editor’s Drum Map tab is the override store for cases where your VST puts a piece on a non-standard MIDI note. GM-standard pieces just resolve through the default kit — you only register an override when you want to deviate from GM.
Pieces present in the score whose name doesn’t match GM and isn’t registered as an override surface as warnings in the Unknown Techniques banner at the top of the main window.