🚀 The First Steps
Before you start morphing, you need to set up your library.
Click the
Presets Folder button.
Select a folder on your hard
drive where you want to store your SnappySnap presets. This is a global setting. Click the "Load Plugin" (or +) button. In the file dialog, select your entire VST3 or Components folder and click "Open". SnappySnap will recursively scan the folder and safeguard all compatible plugins into its internal database for quick access.
1. Plugin and Preset Managing
Plugin Controls
| Control | What It Does |
|---|---|
| Load Plugin (+) | Opens the Plugin Browser overlay. Shows categories (Synths/Effects), Favorites, and a Search bar. Effects are marked with a Greenbadge. |
| Show Plugin | Opens the graphical interface (GUI) of the hosted plugin. |
| Bypass | Bypasses the hosted plugin's processing. Useful for A/B checking. |
Preset System
| Control | What It Does |
|---|---|
| Load Preset | Opens the Preset Browser. The Left column shows Banks (folders), Right column shows Presets. |
| Save Preset | Saves the Entire Chain: The hosted Plugin itself, its internal state, and all SnappySnap snapshots. |
| Reset All | CAUTION: Completely wipes the current patch. Clears all snapshots, unbinds all macros, and resets learning. Use this to start from scratch. |
Because SnappySnap presets store the application inside them, you can build a Universal Sound Wall.
Instead of browsing 10 different synths for a "Bass", just save your favorite basses from Serum, Diva, and Vital as SnappySnap presets.
Cool Move: You can load a SnappySnap preset (e.g., "MegaReese.snappy") and it will automatically launch Diva and load the patch. You don't even need to remember which plugin made the sound!
2. Fast, Sanity and Drift Modes
These toggles change how SnappySnap interacts with the hosted plugin's state.
| Mode | How It Works |
|---|---|
| Fast Mode |
|
| Sanity Mode |
|
| Drift Mode |
|
Drift Settings
Drift Mode offers extensive control over autonomous movement behavior.
Right-click anywhere on the XY Pad to open the Drift Settings overlay. The overlay is draggable - click and drag it anywhere on the interface. Close it with the small × button in the top-right corner.
Drift Modes
| Mode | Behavior |
|---|---|
| Free | The cursor wanders freely across the entire XY pad with no destination. Perfect for ambient textures and unpredictable evolution. |
| Anchored | The cursor wanders but is pulled back toward an anchor point (the position where you enabled Drift). Use Gravity to control the pull strength. Great for subtle variations around a sweet spot. |
| Orbit | The cursor orbits in a circle around the center of the pad. Distance sets the orbit radius. Perfect for rhythmic, cyclical modulation. |
Drift Parameters
| Parameter | Effect |
|---|---|
| Speed | How fast the cursor moves (0 - 10). Uses exponential scaling:
|
| Distance | How far the cursor can travel from its anchor (0 - 100%). In Orbit mode, this sets the orbit radius. |
| Chaos | Complexity of the movement pattern (0 - 100%). Low = smooth, predictable curves. High = erratic, jittery motion. |
| Gravity | (Anchored mode only) Pull strength toward the anchor point. High gravity = stays close to anchor. Low = wanders further away. |
| Smooth | Movement smoothness (0 - 100%). Low = responsive, snappy. High = gradual, flowing transitions. |
Drift Controls
| Button | Action |
|---|---|
| Drift Toggle | Master on/off for drift. When re-enabled, drift starts from the current cursor position (not the old position). |
| Freeze | Temporarily pauses drift movement. The cursor stops where it is. Unfreeze to resume from the same position. |
| Nudge | Gives the cursor a random push in a random direction. Great for breaking out of repetitive patterns. |
| Reset | Returns the cursor to the current morph position and re-anchors there. Use this to "re-center" after drifting too far. |
Ambient Pads: Set Mode to Free, Speed to 1-2, Distance to 50%, and Smooth to 80%. Your pad will slowly evolve through all your snapshots over time.
Controlled Variation: Use Anchored mode with high Gravity (70%+) to stay near your favorite sound while adding subtle movement.
Rhythmic Cycling: Set Mode to Orbit, adjust Speed to match your tempo, and use Distance to control how dramatic the changes are.
3. Exclusive Randomization & MIDI Triggers
Targeted Randomization
You can choose exactly which parameters to randomize using "Learn" logic.
| Control | Description |
|---|---|
| Target Mode | Toggles between All (randomizes everything) and Learned (randomizes only touched parameters). |
| Listen Button | When enabled, any parameter you touch on the hosted plugin is added to the "Learned Set" . |
| Clear Learned | Forgets all learned parameters, resetting the list to empty. |
MIDI Snapshot Triggers
Trigger snapshots using your MIDI keyboard.
| Control | Description |
|---|---|
| MIDI Trig | Enables the MIDI triggering system. |
| Octave | Selects the "Trigger Octave" (e.g., C3).
|
| Recall | Controls how MIDI triggers affect the hosted plugin.
|
This feature works brilliantly with Hardware Keyboards. Assign the trigger octave to the lowest octave of your keyboard (e.g., C-2).
You can play chords/melodies with your right hand while using your left hand to "play" the snapshots rhythmically.
🥁 Rhythmic Effects: Try sending a Drum Pattern sequence on the trigger octave. This allows you to "sequence" the plugin state in perfect sync with your drums, creating complex glitches or chord changes that lock to the groove!
4. Randomization Controls
The heart of generative sound design.
| Control | How It Works |
|---|---|
| Randomize | Applies the randomization algorithm to the target parameters. |
| Amount Slider | (Vertical slider next to button)
|
5. Morphing and Elastic Modes
Morphing blends between your saved snapshots.
| Control | Description |
|---|---|
| Morph Slider | Linear morphing. Travels from Snapshot 1 → 2 → 3... → 12. Ideal for sequenced progression. |
| XY Pad | 2D Vector morphing. Your sound is a blend of all 12 snapshots weighted by your distance to them on the circle. |
| Elastic Mode | Enables physics simulation (mass/spring) for the morph cursor. The cursor "chases" your mouse. |
| Elasticity | Controls the "mass" of the cursor:
|
6. Snapshot System
You have 12 slots arranged in a clock face.
| Action | How to Use |
|---|---|
| Save (+) | Stores the current state of the plugin into this slot. |
| Recall (#) | Instantly loads the saved state. |
| Clear (-) | Erases the snapshot data from this slot. |
| Rename | Right-Click the snapshot button to rename it. Select "Clear Name" to reset to "Snap X" . |
7. Macro Controls
8 Global knobs (M1 - M8) that can override any parameter. Macros persist while morphing.
| Control | Description |
|---|---|
| Learn | Enables Macro Learning. |
| Assigning | 1. Enable Learn. 2. Touch a Macro Knob (M1-M8). 3. Touch a parameter on the hosted plugin. Done ! The name updates automatically. |
| Unbind (x) | Click the small 'x' button below a macro knob to clear its assignment. |
When a parameter is assigned to a Macro, SnappySnap excludes it from all Randomization and Morphing.
This ensures you have total control: You can draw automation curves for your Macros in your DAW without the internal engine "fighting" you or overwriting your values!
8. Breeding (Genetic Engine)
Create new "Child" presets by combining the DNA of two "Parents" .
| Control | What It Does |
|---|---|
| Parent A / B | Select the two source snapshots you want to combine. |
| Crossover | Determines the mix ratio. 0% = Pure Parent A, 100% = Pure Parent B, 50% = Equal mix of parameters. |
| Mutation | Adds randomness to the child. High mutation = extreme variations (errors) in the DNA. |
| BREED ! | Generates the new sound instantly. If you like it, save it to a new Empty Snapshot (+) slot ! |
9. Link-Lead (Multi-Instance Sync)
The Link-Lead feature enables real-time synchronization between multiple SnappySnap instances running in the same DAW project. One instance acts as the Leader, broadcasting its state, while all other linked instances act as Followers, receiving and applying those updates automatically.
Controls
| Control | Description |
|---|---|
| Link | Toggle in the bottom bar. When enabled, this instance joins the linked group and will receive synchronized updates from the Leader instance. Enabling Link makes the instance ready to follow. |
| Lead | Toggle that appears when Link is ON. Activating Lead makes this instance the controller — all other linked instances will mirror its state. Only one instance can be Leader at a time; setting a new Leader automatically releases the previous one. |
What Gets Synchronized
When Link-Lead is active, the Leader broadcasts the following parameters 60 times per second to all Followers:
| Parameter | Description |
|---|---|
| XY Morph Position | The puck position on the XY pad (Morph X and Morph Y) |
| 1D Morph Value | The linear morph slider position (Snappy knob) |
| Drift Settings | All drift parameters: Enabled, Mode (Free/Anchored/Orbit), Speed, Depth, Chaos, Gravity, Smoothness, and Frozen state |
| MIDI Trigger Settings | MIDI snapshot triggering on/off and base octave selection |
| Snapshot Triggers | When the Leader triggers a snapshot (via MIDI or UI), all Followers recall their own snapshot at the same index |
Use Cases
- Multi-Layer Sound Design: Load the same synth in multiple instances with different snapshots. Link them and morph all layers simultaneously from one XY pad.
- Parallel Processing: Create linked effect chains that morph together for cohesive sound design.
- Stereo Effects: Run separate left/right channel processing with perfectly synchronized modulation.
- Live Performance: Control multiple instruments from a single controller by designating one instance as Leader.
- MIDI Sequencing: Program snapshot triggers on the Leader, and all linked instances will change sounds together.
Enable Drift Mode on the Leader instance, and all linked Followers will follow the autonomous movement pattern. This creates evolving, synchronized textures across multiple instruments with zero effort.
10. AI Bridge (MCP Integration)
SnappySnap is the world's first audio plugin with native AI agent connectivity. Using the Model Context Protocol (MCP), any compatible AI assistant can directly control your plugin through natural conversation.
Getting Started
▼Step 1: Enable MCP Server
- Open SnappySnap (standalone or in your DAW)
- Toggle Enable MCP Server ON in the bottom-left corner
- A port number will appear (like
52001)
Step 2: Copy Your Security Token
- Click the "i" icon (info panel) to see your token
- This token is your password — keep it private
- Also found in:
~/Library/Application Support/SnappySnap/settings.xml
Step 3: Connect Your AI Assistant
- Claude Desktop: Add SnappySnap in MCP servers settings with your port and token
- Other AI Tools: Use
http://127.0.0.1:<PORT>with bearer token authentication
What Can the AI Do?
▼View & Analyze
- See which plugin is loaded and all its parameters
- View saved snapshots and current morph position
- List all your installed plugins
Change Parameters
- Adjust any parameter by name ("turn up the drive")
- Set exact values ("set reverb to 75%")
- Fuzzy matching: "cut the highs" finds "High Cut Frequency"
Snapshots & Morphing
- Save/load snapshots to any of 12 slots
- Name your snapshots ("save this as Heavy Bass")
- Control morph position in 1D or 2D mode
Randomize & Explore
- Randomize parameters for happy accidents
- Exclude specific parameters from randomization
- Filter to only "sound design" parameters
Example Conversations
▼Tips for Best Results
▼Be Specific
- Instead of "make it better" → "make the bass fuller and reduce harshness"
- Instead of "change the sound" → "add more movement and modulation"
Use Musical Terms — the AI understands:
- "Warmer" / "Brighter" / "Darker"
- "More attack" / "Softer transients"
- "Tighter bass" / "More presence"
- "Wet" / "Dry" / "Blend"
Save Before Experimenting
- Ask: "Save this to slot 0 as 'Starting Point', then try making it more aggressive"
- You can always go back if you don't like the changes
Troubleshooting
▼"Connection Refused"
- Make sure SnappySnap is running
- Check MCP Server is enabled
- Verify the port number matches
"Unauthorized"
- Copy a fresh token from SnappySnap settings
- Make sure you're using the complete token
- Check for extra spaces when pasting
"No Plugin Loaded"
- Load a plugin in SnappySnap first
- Wait for the plugin to fully initialize
Privacy Note: MCP runs on localhost only. The AI can only see plugin parameters — not your audio, files, or other applications.
11. DAW Integration & Exposed Parameters
SnappySnap is designed to be completely controlled by your host. We expose key parameters to the DAW, allowing you to use automation, LFOs, and Sidechain modulators to drive the morphing engine.
Exposed Parameters
| DAW Parameter Name | Function | Best Use Case |
|---|---|---|
Snappy |
The Main Morph Knob (0.0 - 1.0). Sweeps through all 12 snapshots linearly. |
Automate this for long, evolving builds or rhythmic gating effects. |
Morph X / Morph Y |
Controls the puck position on the XY Pad. | Map to a hardware joystick or chaos LFOs for unpredictable textures. |
Macro 1 - 8 |
Direct control over the 8 global macros. | The primary targets for Envelope Followers and Sidechain routing. |
Save X / Recall X |
Trigger buttons for specific slots. | Programmatic state changes via MIDI clips or step sequencers. |
Drift Enabled |
Master on/off for autonomous drift. | Toggle drift at specific points in your arrangement. |
Drift Speed / Distance / Chaos |
Controls drift movement parameters. | Automate to change drift behavior over time (slow intro → fast climax). |
MIDI CC & Program Change Integration
SnappySnap responds to standard MIDI Control Change and Program Change messages, giving you full control over bank/preset switching, snapshot saves, and morph triggering directly from your MIDI controller or DAW MIDI clips.
MIDI Channel
By default, SnappySnap listens on Omni (all channels). You can restrict it to a specific channel (1–16) in the plugin's MIDI settings. All CC, PC, and note-based triggers respect this channel filter.
Bank & Preset Switching
| MIDI Message | Value Range | Function |
|---|---|---|
CC #0 (Bank Select MSB) |
1 – 16 | Selects the active preset bank. Send this before a Program Change or CC #1. |
Program Change |
0 – 127 | Loads the preset at that index within the currently selected bank. |
CC #1 (Mod Wheel) |
0 – 127 | Alternative preset select (same as PC) — useful in DAWs that don't easily send Program Changes. |
1. Send CC #0 with a value of 1–16 to select the desired bank.
2. Send a Program Change (0–127) or CC #1 (0–127) to load the preset.
Example: To load Preset 42 from Bank 3:
→ CC #0, Value: 3 (selects Bank 3)
→ Program Change 42 (loads preset 42)
The bank selection is remembered — subsequent Program Changes will stay on the same bank until you send a new CC #0.
Snapshot Save via MIDI
| MIDI Message | Trigger Condition | Function |
|---|---|---|
CC #110 |
Value > 64 | Save current state to Snapshot Slot 1 |
CC #111 |
Value > 64 | Save to Snapshot Slot 2 |
CC #112 |
Value > 64 | Save to Snapshot Slot 3 |
CC #113 |
Value > 64 | Save to Snapshot Slot 4 |
CC #114 |
Value > 64 | Save to Snapshot Slot 5 |
CC #115 |
Value > 64 | Save to Snapshot Slot 6 |
CC #116 |
Value > 64 | Save to Snapshot Slot 7 |
CC #117 |
Value > 64 | Save to Snapshot Slot 8 |
CC #118 |
Value > 64 | Save to Snapshot Slot 9 |
CC #119 |
Value > 64 | Save to Snapshot Slot 10 |
CC #120 |
Value > 64 | Save to Snapshot Slot 11 |
CC #121 |
Value > 64 | Save to Snapshot Slot 12 |
Send any value above 64 (e.g., 127) to trigger the save. Values 0–64 are ignored, so you can safely use momentary buttons or automation without accidental triggers.
Snapshot Erase via MIDI
| MIDI Message | Value | Function |
|---|---|---|
CC #109 |
1–12 | Erase Snapshot Slot 1–12 (value selects slot) |
Send the slot number (1–12) as the CC value to erase that snapshot. Value 0 is ignored.
MIDI Note Snapshot Trigger (Morph via Notes)
When MIDI Snap Trigger is enabled, playing notes in a designated octave will instantly jump (or elastically morph) to the corresponding snapshot position:
| Note | Snapshot Slot | Morph Position |
|---|---|---|
| C | 1 | 0.0 (start) |
| C# | 2 | ~0.09 |
| D | 3 | ~0.18 |
| D# | 4 | ~0.27 |
| E | 5 | ~0.36 |
| F | 6 | ~0.45 |
| F# | 7 | ~0.55 |
| G | 8 | ~0.64 |
| G# | 9 | ~0.73 |
| A | 10 | ~0.82 |
| A# | 11 | ~0.91 |
| B | 12 | 1.0 (end) |
1. Enable MIDI Snap Trigger in SnappySnap's settings.
2. Choose a Trigger Octave (C-2 through C8) — notes in that octave control morphing.
3. Triggered notes are filtered out and won't reach the hosted plugin, so they act purely as remote control.
4. If Elastic Mode is enabled, transitions between snapshots will glide smoothly rather than jumping instantly.
MIDI CC Quick Reference
| CC # | Name | Action |
|---|---|---|
0 |
Bank Select MSB | Set active bank (1–16) |
1 |
Mod Wheel / Preset Select | Load preset (0–127) from current bank |
109 |
Snapshot Erase | Erase slot 1–12 (value = slot number) |
110–121 |
Snapshot Save | Save to slots 1–12 (value > 64 to trigger) |
🔥 Creative Tip: Audio Sidechain Morphing
Want your synth to "duck" or "morph" every time the Kick drum hits? You can use SnappySnap as a destination for your DAW's Envelope Follower.
1. In your DAW: Place a Kick Drum on a separate track.
2. Add an Envelope Follower (e.g., Ableton "Envelope", Bitwig "Audio Sidechain") to the Kick track.
3. Map the Envelope Follower to the
Snappy parameter of SnappySnap.4. In SnappySnap: Set Snapshot 1 as your "Dry" sound and Snapshot 6 (approx 50%) as your "Wet/Morphed" sound.
5. Result: Every kick hit pushes the parameter from 0.0 → 0.5, temporarily morphing your sound into a completely different texture on the beat!
Instead of morphing the whole plugin, map a sidechain signal to Macro 1. Then, assign Macro 1 to just the Filter Cutoff and Drive inside SnappySnap. Now your external audio signal drives a specific, multi-parameter modulation inside the hosted plugin!
12. Safety & Performance Guide
SnappySnap pushes the limits of what audio plugins are designed to do. Please keep the following performance tips in mind.
Modern powerhouse synths (like Serum 2, Phase Plant, or Pigments) often have others of thousands of parameters. Morphing ALL of them simultaneously effectively forces the plugin to recalculate its entire DSP engine 60 times a second.
The Fix: Avoid morphing the "entire" plugin if it is CPU-heavy. Instead, use Exclusive Randomization / Lock Mode to select only the parameters you truly want to morph (e.g., Filters, Macros, OSC params) and exclude the rest.
VST3 and AU are complex standards, and not every developer implements them identically. While SnappySnap works with the vast majority of plugins, there is a chance some rare plugins may behave weirdly when morphed aggressively.
If a specific plugin crashes or artifacts during morphing, try enabling Sanity Mode or reducing the Elasticity setting.
13. Theme Switcher
SnappySnap features two visual themes to match your preference and studio environment.
| Theme | Description |
|---|---|
| Violet Dreams | The original purple/violet color scheme. Deep space aesthetic with violet accents and purple glow effects. |
| Electric Smudge | A modern teal/cyan color scheme. Cooler tones with electric teal accents and cyan glow effects. |
Use the dropdown menu in the bottom-right corner of the plugin interface. The theme change applies immediately to all UI elements including buttons, overlays, the plugin browser, drift settings, and shader effects. The logo also changes color to match the selected theme.
14. UI Scale Controls
SnappySnap includes built-in UI scaling to adapt to different screen sizes and workflow preferences.
| Button | Description |
|---|---|
| S | Small scale - Compact view for smaller screens or when you need more screen real estate. |
| M | Medium scale - Default balanced size suitable for most workflows. |
| L | Large scale - Expanded view for larger displays or when you need better visibility. |