Skip to main content
Glama

Create envelope follower

create_envelope_follower

Build a reactive envelope follower from a CHOP channel to shape attack/release, gate or duck the signal, and create sidechain pumping effects.

Instructions

EXPERIMENTAL — Build a reactive signal-shaping chain (attack/release envelope + threshold gate or sidechain ducking) from a CHOP channel, for 'pump the whole layer on every kick' or similar sidechain effects. Creates a container with: a Select CHOP isolating the source channel by absolute path (no cross-container wire), a Lag CHOP shaping the attack/release envelope, a Logic+Math CHOP threshold gate (gate mode: silence the output below threshold) or an inverted Math CHOP (duck mode: output dips to 0 on a hit, rises on silence — classic sidechain pumping), and a Null CHOP as the stable output handle. Optionally binds the shaped output to target parameters by expression. The gate threshold uses a Logic CHOP whose par names (convert/boundmin/boundmax) match detect_onsets — but these are UNVERIFIED across TD builds; gate reads near 0 at the 0.2 default with most sources — tune threshold live. Use bind_to_channel with attack/release for a simpler Lag-only envelope without a gate.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNogate: pass the shaped envelope only while it is above threshold — silences the output when the signal is quiet. duck: sidechain/ducking — the output dips toward 0 on every hit and returns to 1 on silence (inverted gate, classic pumping compressor feel).gate
nameNoBase name for the container COMP that holds the chain.envelope_follower
attackNoEnvelope rise time in seconds — how quickly the output climbs after a hit (fast = punchy, e.g. 0.001–0.05).
channelYesChannel name to follow from source_chop (e.g. 'bass', 'kick', 'level'). The Select CHOP isolates it by name.
releaseNoEnvelope fall time in seconds — how slowly the output decays after the signal drops (slow = smooth tail, e.g. 0.1–0.8).
targetsNoOptional list of 'nodePath.parName' targets to bind to the shaped envelope output by expression. Omit to just build the chain (the Null CHOP output can be bound later with bind_to_channel).
thresholdNoGate threshold [0–1]. Below this level the output is silenced (gate) or held at 1 (duck). Start low (0.05–0.2) and raise if false triggers occur. NOTE: gate thresholding uses a Logic CHOP whose par names may vary by TD build — EXPERIMENTAL.
parent_pathNoWhere to build the follower chain (a COMP path, e.g. '/project1')./project1
source_chopYesPath of the CHOP carrying the trigger channel (e.g. '/project1/audio/features' or an onset Null).
Behavior5/5

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

Goes well beyond the annotations: explains the internal chain (Select/Lag/Logic+Math/Null CHOPs), optional expression binding to target parameters, and warns about UNVERIFIED Logic CHOP par names and gate reading near 0 at default threshold. This is valuable practical behavioral context.

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

Conciseness4/5

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

The description is dense and information-rich, with a clear front-loaded purpose. The first sentence is long and contains multiple clauses, but every piece of information (modes, components, binding, limitations, alternative) earns its place.

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?

Covers purpose, internal build, modes, optional binding, experimental caveats, and a simpler alternative. Does not explicitly mention the return value or container path output, but for a creation tool this is reasonably inferable from the parent_path and name parameters.

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

Parameters4/5

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

Schema covers 100% of parameters, but the description adds extra meaning by explaining gate vs duck mode behavior and highlighting the threshold's real-world tuning pitfalls ('gate reads near 0 at the 0.2 default... tune threshold live'), which is not fully captured in the schema.

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?

Description uses the specific verb 'Build' with a clear resource ('reactive signal-shaping chain from a CHOP channel') and explicitly names the use case ('pump the whole layer on every kick'). It also distinguishes from the sibling bind_to_channel tool by pointing to a simpler alternative.

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 clearly states when to use this tool (sidechain pumping/ducking) and explicitly recommends an alternative ('Use bind_to_channel with attack/release for a simpler Lag-only envelope without a gate'). It lacks exhaustive when-not-to-use guidance but provides strong contextual guidance.

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