AI JAM — Control the Monolith Engine with your LLM

Let a Large Language Model (like Claude, Gemini, or custom IDEs) become your personal co-producer right inside your browser in under 5 minutes. Bridging human creativity with neural technology to synthesize sound in the moment—real-time sound design and instant sonic modulation.

The AI Co-Producer Toolset — 31 Tools

Get Preset State

salban_get_preset

Fetches the complete active JSON state of the Monolith Engine, containing all sequencer step gates, synthesizer waveforms, mixer levels, envelope rates, and LFO mappings.

Why it's cool: It acts as the AI's "eyes and ears". The LLM can analyze the exact rhythm and filter sweeps you have active to understand your current groove, making sure its next automated edits are perfectly in key and contextual.

Apply Full Preset

salban_apply_preset

Sends a full JSON preset structure directly to the browser window, updating all audio nodes and UI buttons in real-time.

Why it's cool: Enables instant drop transitions and genre shifts. The LLM can instantly rewrite all 8 sequencer tracks, reload synth sound designs, and reshape active effects in a fraction of a second to transition your track.

Tweak Parameters

salban_tweak_parameter

Modulates individual knobs or properties dynamically using simple dotted keypaths (e.g. synthParams.lead.cutoff or mixer.bassline.mute).

Why it's cool: The AI becomes a live co-pilot twisting dials. The LLM can slowly sweep filter cutoffs, modulate decay envelopes, trigger delay returns, or dynamically pan tracks across the stereo field while your hands stay on the keys.

Load Base64 Sample

salban_load_sample

Loads a Base64-encoded audio file (WAV, MP3, etc.) directly into one of the 8 sampler pads (0 to 7) of the Monolith Engine.

Why it's cool: Enables dynamic audio injection in real-time. The LLM can synthesize brand new drum beats, record vocal samples, generate synth melodies, or download samples on-the-fly, pushing them straight into your sampler pads to play instantly.

Synthesize & Inject Sample

salban_inject_mcp_sample

Generates a short synthesizer hit (808 kick, white noise hi-hat sweep, or metallic sine click) programmatically, packages it as a valid WAV, and broadcasts it to the browser.

Why it's cool: Allows instant sample synthesis testing without external API calls. Let the AI quickly program its own drum elements (like kick drums or hi-hat sweeps) and populate empty pads to create custom drum kits on the fly.

Read Single Sequence

salban_get_sequence

Returns only the 16-step sequence for one voice — kick, snare, hat, bass, lead, or pad0pad7 — without loading the full 27 KB preset.

Why it's cool: The AI can read exactly one pattern in milliseconds. Perfect for inspecting what's on a track before making surgical edits, without wasting time parsing the entire groovebox state.

Set Pad Sequence

salban_set_pad_sequence

Writes 16 steps to one sampler pad. Each step carries active, pitch (semitones), reverse, and vol — giving the AI full rhythmic and melodic control over that pad.

Why it's cool: Instead of rebuilding the full preset, the AI can surgically reprogram a single pad's groove in one call — changing pitch patterns, flipping steps into reverse, or swapping volumes for velocity dynamics.

Set Drum Sequence

salban_set_drum_sequence

Writes 16 integer steps to kick, snare, or hat. Values: 0 = off, 1 = normal hit, 2 = accent, 3 = ghost (snare only).

Why it's cool: The AI can drop a fresh kick pattern, a shuffled hi-hat grid, or a ghost-note snare roll in a single instant tool call — no full preset required, just a 16-integer array.

Set Synth Sequence

salban_set_synth_sequence

Writes 16 note-steps to bass or lead. Each step holds active, note (e.g. "D2", "A3"), tie, and accent.

Why it's cool: The AI becomes a composer. It can write hypnotic acid basslines, melody riffs, or chromatic lead runs and hot-swap them into the live engine in under a second — while the sequencer keeps running.

Set Voice Params

salban_set_voice_params

Changes playback parameters for any voice: loopLength (1–16 steps), speed (1/4x4x), dir (forward / reverse / pingpong), and transpose (semitones). All fields optional.

Why it's cool: The AI can halve a loop, flip it into reverse, or transpose a bassline up an octave with a single call — perfect for live arrangement tricks and tension-building breakdowns mid-set.

Clear Sequence

salban_clear_sequence

Silences all 16 steps of any voice in a single call — no need to manually send 16 zeros. Works with all voices: drums, synths, and pad sequences.

Why it's cool: The AI can wipe a drum track, mute a bassline, or empty a pad groove instantly to create a breakdown or a clean-slate moment — then rebuild from scratch in the next breath.

Get Parameter Schema

salban_get_parameter_schema

Returns a list of all valid parameters that can be tweaked using salban_tweak_parameter (dotted keypaths), plus all allowed targets for LFO modulations.

Why it's cool: Instantly self-documents the entire Monolith audio engine to the AI. Instead of parsing source files or guessing knobs, the agent calls this tool to retrieve a complete dictionary of control targets on the fly.

Load Phrase Sample

salban_load_phrase

Loads a Base64-encoded audio file (WAV, MP3, etc.) directly into the central Phrase Sampler of the Monolith Engine.

Why it's cool: Enables long-format loops, vocal phrases, and custom sweeps to be injected directly. The LLM can generate a 10-second vocal loop or an atmosphere sample and load it for seamless integration.

Set Sampler Sequence

salban_set_sampler_sequence

Writes a 16-step sequence for the Phrase Sampler. Each step carries active, pitch (semitones), reverse, tie (sustain), and vol.

Why it's cool: Allows the AI to chop and sequence the central loop in real time. The LLM can create glitchy chops, slide pitches, trigger backward segments, or sustain long vocal phrases across bars.

Get Song Sequencer

salban_get_song_sequencer

Fetches the current state of the Song Preset Sequencer, returning information about active pads, names of captured presets, repeat counts, active pad index, and auto-chain settings.

Why it's cool: It acts as the arranger's overview, showing which presets are loaded on which pads, their repeat lengths, and how they transition.

Configure Song Pad

salban_configure_song_pad

Assigns or captures a preset snapshot onto a specific pad (0–7). Allows setting custom names, repeat counts (1-99), or uploading full preset states directly.

Why it's cool: The LLM can capture a current groove onto a pad, give it a custom name like "Drop Part A", and set it to repeat 4 times before transitioning.

Clear Song Pad

salban_clear_song_pad

Clears the preset snapshot and resets name/repeat counts of a specific pad (0–7) in the Song Preset Sequencer.

Why it's cool: Enables the AI to clean up slot arrangements, free up pads for new designs, or wipe out unwanted patterns dynamically.

Configure Song Sequencer

salban_configure_song_sequencer

Updates global parameters of the Song Preset Sequencer, such as toggling Auto-Chain mode and setting the play direction (forward, reverse, ping-pong, random).

Why it's cool: Controls how the song flows. The AI can switch play direction to ping-pong or enable Auto-Chain so that your preset pads play sequentially.

Trigger Song Pad

salban_trigger_song_pad

Starts playback of a specific pad immediately, or queues it to trigger at the next loop boundary if the sequencer is already running.

Why it's cool: Perfect for live performance control. The AI can queue up the next section ("Chorus B") to start precisely on the next beat, ensuring seamless, loop-aligned transitions.

Read All Clips

salban_get_clip_launcher

Returns the full state of all 15 Piano Roll clips across 3 tracks × 5 scenes. ClipIndex encoding: Morph32 = 0–4, Bassline = 5–9, Lead = 10–14. Each clip reports its notes, bar length, isEmpty flag, and scene assignment.

Why it's cool: The AI gets a full DAW-style overview of all polyphonic clips at once — seeing which scenes are empty and which already contain melodies or chords, so it can compose intelligently without overwriting existing arrangements.

Write Clip (Piano Roll)

salban_write_clip

Writes or replaces all piano-roll notes in a clip. Each note accepts a pitch (MIDI number 0–127 or note name like C4, F#3, Bb2), a startBeat, a durationBeats, and a velocity. Can also set the clip length in bars and a display name.

Why it's cool: The AI becomes a real DAW composer — writing chords, arpeggios, full melodic phrases, or entire polyphonic arrangements bar by bar directly onto a Piano Roll track that plays back in sync with the groovebox engine.

Delete Clip Notes

salban_delete_clip_notes

Deletes notes from a clip using precise filters: remove by exact pitch, or by a beat range (startBeatMin / startBeatMax). Omit all filters to clear the entire clip.

Why it's cool: The AI can surgically erase single pitches, delete a wrong chord, or wipe an entire bar without affecting the rest of the clip — true non-destructive Piano Roll editing.

Quantize Clip

salban_quantize_clip

Snaps note start times in a clip to the nearest musical grid — from 64th notes to quarter notes. An optional strength parameter (0.0–1.0) allows soft quantization: blend between free-time and fully snapped timing for a human feel.

Why it's cool: After recording a live Piano Roll phrase, the AI can tighten it up to a perfect 1/16 grid or apply soft quantization at 50% strength to keep the groove feel while removing sloppy timing.

Drum Auto-Tune

salban_set_drum_autotune

Enables intelligent pitch-tracking on a drum voice (kick, snare, or hat) so it follows the note sequence of another track in real-time. Target options: off | bass | lead | poly. Each voice uses its own frequency folding formula: Snare → 10th overtone folded into 2000–5000 Hz; Kick → 30–75 Hz; Hat → 6000–11000 Hz.

Why it's cool: The snare stops being a static noise hit and starts singing — it tracks the bassline melody and fires at the harmonic overtone of each note, turning drum hits into melodic tonal percussion that locks the groove to the key of the track.

Read Morph32 State

salban_get_morph32

Returns the complete state of the Morph32 polyphonic synthesizer: both oscillators, the main resonant filter, the stereo dual-filter matrix, amplitude and filter ADSR envelopes, voice configuration, the polyphonic step sequencer, and all LFO assignments targeting the poly voice.

Why it's cool: The AI gets a full snapshot of the polyphonic engine before editing — seeing which oscillator types are active, where cutoff and resonance sit, and what chords are in the step sequencer — ensuring every change is in context.

Set Morph32 Parameters

salban_set_morph32_params

Configures any combination of Morph32 parameters in a single call. Full control over:
oscType1 / oscType2 (sawtooth, square, triangle, sine, noise, wavetable), oscMix, footage (8/16/32 ft), ringMod, main filter (cutoff, resonance, envMod), stereo filter (stereoMode, stereoCutoff, stereoSpacing), amp & filter ADSR, detune, portamento, maxVoices, distributionMode (chord / unison), and mixer sends.

Why it's cool: The AI can reshape the Morph32 from a soft pad to a screaming unison lead, dial in stereo filter spread for spatial depth, or activate ring modulation for metallic tones — all in one atomic call while the engine plays.

Set Morph32 Sequence

salban_set_morph32_sequence

Sets the polyphonic step-sequencer pattern for the Morph32. Each of the 16 steps can hold an entire chord — an array of note names (e.g. ["C3", "Eb3", "G3"]) or MIDI numbers — plus optional tie and accent flags per step.

Why it's cool: Unlike the mono bassline sequencer, the AI can write actual chord progressions step by step — whole four-voice voicings, suspensions, and jazz tensions — playing a full polyphonic harmonic sequence through the Morph32 engine.

Transport Control

salban_set_transport_state

Starts or stops the main sequencer transport. Pass playing: true to begin playback or playing: false to stop — synchronising all sequencers, the Clip Launcher, and the Song Mode to the same clock.

Why it's cool: The AI can time its edits precisely — stopping playback to make changes, then restarting transport for a perfectly in-sync drop — or automate start/stop as part of a live arrangement script.

Get MIDI Config

salban_get_midi_config

Queries the browser for the current MIDI setup. Returns lists of all active, connected MIDI inputs and outputs, individual channel routings (channels 1-16), global Omni routing targets, and default CC layout mappings.

Why it's cool: Gives the AI total awareness of the user's physical gear. The assistant can inspect connected MIDI controllers, check which channels are routed to which voice, and help configure hardware integration.

Configure MIDI Routing

salban_configure_midi

Configures global MIDI Omni routing or maps individual MIDI channels (1-16) to specific Monolith voices (off, lead, bass, sampler, poly) in real-time.

Why it's cool: Instantly adapts the Monolith Engine to respond to your external gear. If you connect a keyboard on channel 4, the AI can route channel 4 to the Poly voice instantly so you can start playing.

Read Website Page

salban_read_website_content

Lects the text contents of the website HTML or markdown files (e.g. index.html, mcp-jam.html, midi-jam.html) to answer user questions about the project, look up parameters, or explain setup instructions.

Why it's cool: It gives the AI a self-contained lookup database. When you ask *"how does the MIDI mapping work on this page?"* or *"explain what features are supported"*, the AI can read the page live to give you accurate explanations.

AI JAM Setup Guide — Let an AI Install It For You

You don't need to be a developer to jam with an AI on the Monolith Engine. You just need an AI assistant that can use tools (like **Claude Desktop**) and 5 minutes. Enjoy an interactive, AI-guided installation process that automates the command execution for you.

Copy this prompt into your AI assistant

I've downloaded and unzipped the `salban-mcp-server.zip` package from salban.de into a folder on my computer. I want to run this MCP server using Docker (recommended) so I can connect it to Claude Desktop and control the SAL BAN Monolith Engine synthesizer running in my browser. I have no coding experience — please guide me one step at a time: 1. Check whether Docker is installed on my system, and help me install it if it isn't. 2. Help me open a terminal in the unzipped folder. 3. Walk me through building the Docker image (`docker build -t salban-mcp-server .`) and running the container (`docker run -i --rm -p 8080:8080 salban-mcp-server:latest`). 4. Help me find and edit my Claude Desktop configuration file to add the salban-monolith MCP server entry, using the correct absolute path for my operating system (Mac, Windows, or Linux). 5. Explain what to do when my browser asks for "Private Network Access" permission, and what the 16-character token popup means. 6. Confirm everything is connected and suggest a first test prompt I can try. Please check each step actually worked before moving to the next one, and explain everything in plain language — no jargon.

Step 1 — Download

Download the MCP Server package from this page (button above): salban-mcp-server.zip.

Unzip it into any folder you'll remember — e.g. your Desktop or Downloads folder.

Step 2 — Prompt

Copy the ready-made setup prompt block above and paste it directly into your tool-enabled AI assistant (like Claude Desktop).

Step 3 — AI Drives

From here, your assistant becomes your setup technician. It will check your system, install missing software, build/start the Docker container, and edit the Claude configuration file for you.

Step 4 — Connect

Once your AI confirms the server is running, open the Synth Console, click Jam with SALBAN MCP, click Allow on the browser permission popup, and enter the token (only if you have enabled the optional Token Pro Mode).

Good to know

  • 🔒 Everything runs locally on your own computer (localhost) — nothing is sent to salban.de or anywhere else on the internet.
  • 📦 The Docker container can't access your files or system — it is completely sandboxed.
  • 💡 If something doesn't work, just tell your AI assistant what error message you saw — it can usually fix it on the spot.

Docker Container Launch

Docker is the safest and cleanest way to run the bridge on your computer. It encapsulates the Node.js server dependencies so your host system remains completely clean.

  1. Extract the downloaded salban-mcp-server.zip package to a local folder.
  2. Open your terminal in that folder.
  3. Build the container image:
docker build -t salban-mcp-server .
  1. Run the container in interactive stdio mode:
docker run -i --rm -p 8080:8080 salban-mcp-server:latest

💡 App Integration: To register this Docker container in Claude Desktop or OpenAI Codex, switch to the 3. Claude & Cursor or 4. OpenAI Codex tabs above.

Local Node.js Development Build

If you don't use Docker, you can run the server directly on Node.js. It requires Node v18+ and TypeScript.

  1. Extract the downloaded salban-mcp-server.zip package.
  2. Open your terminal in that folder and install dependencies:
npm install
  1. Build the TypeScript project:
npm run build
  1. Start the server in stdio mode:
npm start

💡 App Integration: To register this Node.js instance in Claude Desktop or OpenAI Codex, switch to the 3. Claude & Cursor or 4. OpenAI Codex tabs above.

Claude Desktop & Cursor Configuration

To register SALBAN MCP, open the configuration file for Claude Desktop:

  • 🍏 macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 🪟 Windows: %APPDATA%\Claude\claude_desktop_config.json
  • 🚀 Cursor / Gemini IDE: Add a new command-line MCP server in settings.

Option A — Docker (Recommended)

Add this block to run the MCP server via a local Docker container:

{
  "mcpServers": {
    "salban-monolith": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-p",
        "8080:8080",
        "salban-mcp-server:latest"
      ]
    }
  }
}

If you want to activate the optional Token Pro Mode, add the environment variable argument (-e):

{
  "mcpServers": {
    "salban-monolith": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-p",
        "8080:8080",
        "-e",
        "SALBAN_MCP_TOKEN=your-secret-token",
        "salban-mcp-server:latest"
      ]
    }
  }
}

Option B — Node.js Local (Without Docker)

Add this block to run the MCP server directly on your host machine via Node.js:

{
  "mcpServers": {
    "salban-monolith": {
      "command": "node",
      "args": [
        "/absolute/path/to/salban-mcp-server/build/index.js"
      ]
    }
  }
}

With Token Pro Mode:

{
  "mcpServers": {
    "salban-monolith": {
      "command": "node",
      "args": [
        "/absolute/path/to/salban-mcp-server/build/index.js"
      ],
      "env": {
        "SALBAN_MCP_TOKEN": "your-secret-token"
      }
    }
  }
}

⚠️ Important Notes

  • Windows Paths: Windows directory paths in JSON require double backslashes (e.g., "C:\\Users\\Name\\salban-mcp-server\\build\\index.js").
  • Existing Connectors: If your mcpServers section already contains other servers (e.g., blender, desktop-commander, unityMCP), append this new block as an additional entry separated by a comma. Do not overwrite the entire file.
  • Restart Claude Desktop: Make sure to completely quit Claude Desktop (press Cmd+Q on macOS or select 'Quit' from the system tray/taskbar on Windows) and restart it. Simply closing the window will not reload the configuration.
  • Build Target: For the Node.js option, npm run build must have been executed in the salban-mcp-server directory first, so that the build/index.js file exists (if the repository only ships with src/index.ts).

OpenAI Codex Integration

OpenAI Codex Desktop App supports local Model Context Protocol (MCP) servers using standard input/output (stdio) communication. You do not need to install it from a library or marketplace; simply enter the configuration details directly into the Codex integration form.

Option A — Docker (Recommended)

Fill out the configuration form in Codex as follows:

  • 🏷️ Name: salban-monolith
  • Mode: STDIO (selected by default)
  • ⚙️ Startup Command: docker

Arguments: (Add each argument on a separate line by clicking "Add Argument"):

run
-i
--rm
-p
8080:8080
salban-mcp-server:latest
  • 🌐 Environment Variables: Only required if you enable Token Pro Mode:
    • Key: SALBAN_MCP_TOKEN
    • Value: your-secret-token
  • 📂 Working Directory: Leave empty (Docker container runs independently of host directories).

Option B — Node.js Local (Without Docker)

If running Node.js directly on your machine, configure the Codex form as follows:

  • 🏷️ Name: salban-monolith
  • Mode: STDIO
  • ⚙️ Startup Command: node
  • ⚙️ Arguments: (Add as a single line)
    /absolute/path/to/salban-mcp-server/build/index.js
  • 🌐 Environment Variables: Optional, if using Token Pro Mode:
    • Key: SALBAN_MCP_TOKEN
    • Value: your-secret-token
  • 📂 Working Directory: You can enter the path to your local salban-mcp-server directory. This is useful if the server needs to read/write files (like logs) relative to its runtime folder, but it can also be left empty.

💾 Save and Launch: After clicking "Save", Codex will start the local MCP server as a background subprocess and automatically make its tools available in your conversations.

The Local Bridge Architecture

LLM App Browser Docker MCP Server Stdio RPC WS (8080)

Private Network Access (PNA): Because the Groovebox is loaded securely over HTTPS on salban.de and the WebSocket Server is hosted on localhost, your browser will trigger a security prompt: "Access other apps and services on this device".

This popup is completely standard for local developmental connections. Select "Allow" (Zulassen) to grant permission for the web player to talk to the local MCP server.

🔒 Security & Privacy by Design

Because the SAL BAN Monolith Engine runs entirely inside your browser, connecting local AI tools requires maximum security. We built our MCP bridge with a strictly local, hardened architecture so you can jam with absolute peace of mind.

100% Local Loopback

All communication between your AI (Claude/Cursor) and salban.de occurs strictly on your local computer (localhost:8080). No data is sent over the internet or public networks.

Strict Origin Validation

The local Docker container only accepts connections initiated from https://salban.de. Any malicious background tabs or unauthorized sites are blocked instantly with a 403 Forbidden response.

Flexible Token Protection (Optional Pro Mode)

By default, the bridge connects automatically via strict Origin Validation. For maximum security (e.g. against unauthorized local processes on your machine), you can activate the Token Pro Mode by setting the environment variable SALBAN_MCP_TOKEN in your Docker or IDE configuration. Only when this variable is set will the website prompt you once to enter the token.

Docker Sandbox

The server runs in an unprivileged sandbox (USER node) with read-only compiled assets. It cannot access your host computer's files or system directories.

Frequently Asked Questions

Yes, absolutely. Docker containers run in a highly isolated, lightweight sandbox environment. Our server runs as an unprivileged user (node) rather than root. It has zero access to your files, folders, or system-level configurations.

This is a security feature called Private Network Access (PNA). Browsers protect you by confirming if a public website (https://salban.de) is allowed to connect to a local port (localhost:8080). Since you are connecting to your own, secure local container, clicking "Allow" is completely safe and required to enable the bridge.

Never. All synthesis computations, parameter changes, and custom WAV injections happen strictly within your local machine's RAM and Web Audio thread. The public SaaS layer merely acts as a visual interface. Your privacy is fully guaranteed under DSGVO (GDPR) and EU AI Act regulations.

The token acts as an exclusive digital key for maximum security. While the server defaults to a zero-friction mode secured by strict Origin Validation, you can activate the Token Pro Mode by setting the SALBAN_MCP_TOKEN environment variable. This prevents other unprivileged software running on your computer from attempting to connect to your local synthesizer engine.

The "Add Custom Connector" dialog (accessible via Connectors → Add) is built for remote MCP servers — services reachable over the public internet via a URL, authenticated with OAuth. Connectors added this way show up with a "Web" label.

SALBAN MCP is a local MCP server: it runs entirely on your own machine via Docker or Node.js, communicating with Claude Desktop over stdio — no internet connection involved, which is exactly what keeps your session private.

Local servers like this aren't added through the Connector dialog. Instead, they're registered by editing Claude Desktop's claude_desktop_config.json configuration file directly (see Step 4 of the setup guide above). Once added and Claude Desktop is restarted, SALBAN MCP will appear in your Connectors list automatically, tagged "Desktop" / "Local Dev" — ready to enable per conversation, just like any other connector.

Creative Prompt Inspiration

Create a Driving Beat

"Create a driving acid techno beat in G minor at 135 BPM. Set loops, program kicks on 1/5/9/13, hats on offbeats, and write a rhythmic acid baseline using the bass sequencer."

Modulate Filter Sweep

"Slowly sweep the lead synthesizer cutoff frequency from 100 up to 220 over the course of 30 seconds. Gradually increase fuzz distortion drive and pan the lead channel across the stereo field."

LFO Space Modulation

"Assign LFO 1 to modulate the filter cutoff with a Sine waveform at a 4-bar rate, set LFO 2 to modulate lead decay with a Triangle waveform, and activate both."

Inject a Drum Kit

"Synthesize a punchy 808 kick and inject it into Pad 0, a white noise hi-hat into Pad 1, and a metallic sine click into Pad 2. Then program Pad 0 on steps 1 and 9, Pad 1 on every even step, and Pad 2 on step 5 and 13."

Live Breakdown

"Clear the kick and snare sequences completely, then reduce the bass loop length to 4 steps and flip it into reverse playback. Hold this tension for a 4-bar breakdown. Then restore everything at once."

Acid Bassline Composer

"Read the current bass sequence, then rewrite it as a hypnotic 16-step acid pattern in D minor. Use slides (tie=true), accents on off-beats, and include pitch jumps to A2 and G2. Send it live."

Build-Up & Drop

"Over 8 steps: first double the hi-hat density (every step active), then set kick speed to 2x and transpose the lead up 7 semitones. After 8 more steps, restore all voices to original settings for a full drop impact."

Pitched Pad Melody

"Inject a sine click sample into Pad 3. Then program a 16-step melodic sequence on it using pitch offsets — write a recognisable minor pentatonic phrase using semitone values 0, 3, 5, 7, and 10. Set loop length to 8."

Ghost Note Snare Groove

"Read the current snare sequence. Now rewrite it as a funky ghost-note groove: accents on steps 5 and 13, ghost hits (value 3) on steps 3, 7, 11, and 15, everything else silent. Set snare loop length to 16."

Dual Synth Counterpoint

"Write a 16-step lead melody in A minor that complements the current bass sequence — inspect the bass first, then compose the lead so the two voices trade notes rhythmically. Enable reverb on the lead and set its loop to 8 steps."

Polyrhythmic Pads

"Set Pad 0 loop length to 3 steps, Pad 1 to 5 steps, and Pad 2 to 7 steps. Program each with a simple repeating hit pattern. Let them run simultaneously to create an evolving polyrhythmic texture."

Vocal Chop Glitcher

"Load a 6-second vocal sample into the phrase sampler. Set chop to 16, program a sequence triggering pitch offsets and reverse playback on steps 1, 5, 9, and 13, and automate LFO 5 to modulate the stutter intensity."

Ambient Gate Pulse

"Load a long synth pad loop into the phrase sampler, turn on the Ambient Gate with a 1/8 rate, and set the Gate Width to 50%. Tweak the ambient mix to 50% and decay to 70% to create a spatial, pulsing groove."

Arrange a Live Song

"Capture my current groove onto Pad 1 and name it 'Intro'. Make some changes to the synth cutoff and drum pattern, capture that on Pad 2 and name it 'Main Theme'. Repeat the Main Theme for 4 loops, enable Auto-Chain in Forward direction, and start playing Pad 1."

Create an Evolving Arrangement

"Inspect the Song Sequencer. Capture our current live state on Pad 3 and name it 'Build-up'. Adjust Pad 3 to repeat 2 times, then configure Pad 4 to capture a variation with higher lead transpose and fuzz drive. Enable Auto-Chain in Ping-Pong direction."

Write a Piano Roll Chord Sequence

"Read the current Clip Launcher state. Then write a 2-bar chord progression in C minor onto Clip 0 (Morph32, Scene 1): Cm – Ab – Eb – Bb. Use full 4-note voicings, quarter-note duration per chord, starting at beat 0, 2, 4, 6. Quantize the clip to a 1/4 grid at 100% strength afterwards."

Bassline in the Piano Roll

"Write a 1-bar rolling 16th-note techno bassline in F minor onto the Bassline track, Scene 1 (clipIndex 5). Use notes F2, F2, Ab2, F2, Eb2, F2, Db2, F2 — repeating twice. Set the clip length to 1 bar and apply a 1/16 grid quantize at 80% strength for a slight groove feel."

Erase and Rewrite a Clip Section

"Read Clip 10 (Lead Synth, Scene 1). Delete all notes between beat 4 and beat 8. Then write a new 4-note descending fill — A4, G4, F4, E4 — at beats 4, 5, 6, 7 with eighth-note durations. That's the B-phrase of the melody."

Melodic Snare Pitch Tracking

"Enable Drum Auto-Tune on the snare and set it to track the bassline sequence. Then program a bass sequence in G minor: G2, Bb2, D3, F3, Eb3, D3, C3, Bb2 — 8 active steps with accents on 1 and 5. The snare should now ring at the 10th harmonic of each bass note in the 2000–5000 Hz range."

Tonal Kick Drum

"Enable Drum Auto-Tune on the kick drum, tracking the lead synth sequence. Program the lead to play the notes E2, G2, A2, B2 across 4 active steps. The kick should now hit at the fundamental tonal frequency of each lead note, folded into the 30–75 Hz sub range — creating a tonal, musical kick drum."

Lush Pad Sound Design

"Read the current Morph32 state. Then redesign it as a lush ambient pad: set OSC 1 to sawtooth, OSC 2 to triangle with 0.3 mix, enable stereo filter in Spread mode with 400 Hz stereoCutoff and 0.6 stereoSpacing. Set amp attack to 1.2s, release to 3s, filter cutoff to 900 Hz, resonance 0.2. Max 8 voices in chord mode."

Unison Lead Synth

"Configure the Morph32 as an aggressive unison lead: OSC 1 = sawtooth, OSC 2 = square, oscMix 0.4. Enable ring modulation. Set distribution mode to unison, 4 unison voices, detune 18 cents. Filter cutoff 2200 Hz, resonance 0.65, envMod 0.8, filter attack 0.01s, decay 0.4s, sustain 0.5. Add fuzz send 0.4 in the mixer."

Polyphonic Chord Sequencer

"Program a 4-step chord sequence on the Morph32 step sequencer: Step 1 = Am chord [A3, C4, E4], Step 2 = F chord [F3, A3, C4], Step 3 = C chord [C4, E4, G4], Step 4 = G chord [G3, B3, D4]. All steps active, no ties. Play it at the current tempo."

Full AI Production — Scene Build

"Build a complete atmospheric techno scene: 1) Write a 2-bar Morph32 Piano Roll melody in D minor (clipIndex 0). 2) Write a driving bassline on the Bassline track Scene 1 (clipIndex 5). 3) Set the Morph32 to a wide stereo pad (OSC sawtooth + spread stereo filter). 4) Enable snare Auto-Tune tracking the bassline. 5) Configure a 4-step Morph32 chord sequence. 6) Start transport."

Query MIDI configuration

"Get the current MIDI configuration. Check if there are active MIDI input and output devices connected, and tell me the current channel mappings and default Control Change (CC) mapping layout."

Route MIDI Controllers

"Route MIDI channel 1 to the lead synth, MIDI channel 2 to the bassline synth, and configure Omni routing to redirect all other incoming channels to the Morph32 polyphonic synth voice."

Read Project Documentation

"Read the text content of 'mcp-jam.html' or 'index.html' to analyze the connection flow of the local WebSocket bridge, and explain how security token verification is implemented."