Skip to main content
Glama

Create sidechain pump

create_sidechain_pump

Creates a sidechain pump envelope from a trigger CHOP, binding multiple targets to dip on each hit with adjustable depth, attack, release, and rest value.

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
parent_pathNoParent COMP path where the sidechain pump container is created (e.g. '/project1')./project1
nameNoBase name for the container COMP that holds the pump chain.sidechain_pump
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.
channelNoChannel name to follow from source_chop (e.g. 'level', 'kick', 'bass'). The Select CHOP isolates it by name.level
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).
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.
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.
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.
Behavior4/5

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

Annotations already indicate non-destructive and open-world nature. The description adds details about the internal chain (Select, Lag, Limit, Null CHOPs) and error handling (per-target warnings, fatal only if source missing). No contradiction with annotations.

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

Conciseness3/5

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

The description is informative but somewhat lengthy, with some redundancy relative to the schema descriptions. It is well-structured and front-loaded, but could be tightened.

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

Completeness4/5

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

Given the complexity (9 parameters, no output schema), the description effectively explains the internal chain, behavior, and typical usage. It covers error cases and experimental status, providing sufficient context for an AI agent.

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

Parameters3/5

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

The input schema already provides descriptions for all 9 parameters (100% coverage). The description adds some contextual guidance (e.g., rest_value typical usage) but does not significantly extend beyond the schema's information.

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 clearly states it is a one-call tool to build a sidechain ducking envelope, with a specific verb ('create') and resource ('sidechain pump container'). It explicitly distinguishes itself from create_envelope_follower, making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description provides context on when to use this tool (e.g., for multi-target pump with a single depth knob) and contrasts it with create_envelope_follower. However, it does not explicitly list scenarios where this tool should not be used.

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/Pantani/tdmcp'

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