Skip to main content
Glama

Create sidechain pump

create_sidechain_pump

Build a sidechain ducking envelope from a trigger CHOP and bind multiple target parameters to dip with a single depth knob for a classic pumping effect.

Instructions

EXPERIMENTAL — One-call 'pump the whole rig on the kick': build a sidechain ducking envelope from a trigger CHOP channel and bind multiple target parameters to dip on every hit. Distinct from create_envelope_follower (which builds the chain + optional gate/duck mode with a threshold); this tool is the ergonomic multi-target pump with a single depth knob and a rest_value anchor — ideal for classic pumping compressor feel across many targets at once. Builds a container with: a Select CHOP isolating the source channel by absolute path (no cross-container wires), a Lag CHOP shaping attack/release, a Limit CHOP clamping to [0,1] (type=clamp/min/max, live-validated on TD 099 — guarded with warnings), and a Null CHOP 'pump' as the stable output handle. Each target gets the expression: rest_value * (1 - depth * op('')[chan0]). Per-target failures become warnings; fatal only if source_chop or parent COMP is missing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoBase name for the container COMP that holds the pump chain.sidechain_pump
depthNoHow hard the pump dips on a trigger hit [0–1]. 0 = no dip (targets stay at rest_value), 1 = full dip to zero. 0.7–0.9 is typical for a strong pumping compressor feel.
attackNoEnvelope rise time in seconds — how quickly the pump signal climbs after a hit (controls how snappy the initial dip is). Typical: 0.001–0.02.
channelNoChannel name to follow from source_chop (e.g. 'level', 'kick', 'bass'). The Select CHOP isolates it by name.level
releaseNoEnvelope fall time in seconds — how slowly the pump returns to silence after the trigger drops. Controls the 'pumping tail'. Typical: 0.1–0.6.
targetsNoList of 'nodePath.parName' pairs to bind to the pump output by expression. Each target dips toward rest*(1-depth) on a hit and returns to rest_value on silence. Omit to build the chain only (bind manually with bind_to_channel later).
rest_valueNoThe target parameter value at silence (no trigger). On a hit, the expression drives the target toward rest_value*(1-depth). Default 1.0 works for opacity/gain/level parameters.
parent_pathNoParent COMP path where the sidechain pump container is created (e.g. '/project1')./project1
source_chopYesPath of the trigger CHOP (e.g. an onset Null, kick-level CHOP, or audio feature output). This is the signal that drives the pump — high = dip.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite annotations only indicating a mutating, open-world operation, the description discloses the exact internal chain (Select, Lag, Limit, Null CHOPs), the expression applied to each target, the warning/failure behavior ('Per-target failures become warnings; fatal only if source_chop or parent COMP is missing'), and the experimental/version caveat. This goes well beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense block but is front-loaded with the core purpose and every subsequent clause adds either distinction, construction details, or failure behavior. No filler or repetition; the formula and examples are compactly integrated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter, no-output-schema builder tool, the description is nearly complete: it explains what is created, how the internal chain works, how targets are bound, what the stable output handle is, and what conditions cause warnings vs fatal errors. The container path is inferable from parent_path and name, so no separate return-value documentation is necessary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the schema already has 100% parameter descriptions, the tool description adds essential semantics: the actual binding expression rest_value * (1 - depth * op('<pump>')[chan0]), the meaning of depth extremes (0 = no dip, 1 = full dip to zero), and typical ranges (0.7–0.9 depth, 0.001–0.02 attack, 0.1–0.6 release). This meaningfully exceeds the schema's field-level comments.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with a specific verb+resource: 'build a sidechain ducking envelope from a trigger CHOP channel and bind multiple target parameters to dip on every hit.' It explicitly distinguishes itself from create_envelope_follower, naming the sibling and contrasting its multiple-target pump approach.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit when-to-use guidance ('ideal for classic pumping compressor feel across many targets at once') and names the alternative create_envelope_follower with its gate/duck threshold approach. It also tells the user when to omit targets ('build the chain only (bind manually with bind_to_channel later)'), covering both use and non-use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lucasmaher-hash/touch-designer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server