Skip to main content
Glama

Make a component react to audio

bind_audio_reactive

Make a COMP's custom parameters react to music by binding them to audio feature channels from a CHOP, with auto-mapping or explicit bindings and a master intensity knob.

Instructions

Make a whole COMP react to the music in one call — the core VJ move. Point target at a COMP with numeric custom-parameter knobs and source_chop at an audio-feature CHOP (e.g. an extract_audio_features Null carrying level/bass/mid/treble), and each knob is switched to expression mode tracking an audio band. Omit mappings to auto-map knobs by name heuristic (bright/level/opacity→level, scale/size/zoom→bass, hue/color→treble, speed/rate/rot→mid; unrecognized knobs are skipped), or pass explicit param→channel bindings with per-binding scale/offset. By default appends a master 'Reactivity' float knob (0–2, default = intensity) that scales every binding so the artist can dial the whole network's reactivity from one control. Fail-forward: a missing source CHOP, an absent channel, or an already-bound parameter are warnings, not failures — only a missing/non-COMP target is fatal. This tool only WIRES an existing COMP to an existing CHOP, building no nodes: produce the feature CHOP with extract_audio_features (or create_spectrum) first, use create_audio_reactive when you want a whole new reactive network with its own visual, and bind_to_channel for finer single-parameter control.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetYesCOMP whose numeric custom parameters (knobs) should react to the music.
mappingsNoExplicit param→channel bindings. Omit to auto-map the target COMP's numeric custom parameters by name heuristics.
intensityNoMaster reactivity amount (0=off, 1=normal, 2=strong) — scales every binding.
add_masterNoAppend a 'Reactivity' master float knob (0-2, default = intensity) on the target COMP that scales every binding.
source_chopYesCHOP carrying audio feature channels (e.g. an extract_audio_features Null). Expected channels: level, bass, mid, treble.
Behavior5/5

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

The description discloses key behavioral traits beyond the annotations: it switches knobs to expression mode, appends a master knob, and fails forward with warnings rather than errors. It explicitly states that only a missing/non-COMP target is fatal, and that missing CHOPs/channels/already-bound parameters are non-fatal warnings. This is rich behavioral context not present in the minimal 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 long but every sentence earns its place, covering purpose, mechanism, parameters, error behavior, and alternatives. It is front-loaded with the core value proposition and structured logically from how-to to edge cases to sibling tool distinctions.

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?

The description is complete for this mutating tool with 5 params and no output schema. It covers prerequisites, exact parameter semantics, auto-mapping heuristics, master knob behavior, fail-forward error handling, and explicit alternatives to sibling tools. Nothing important appears to be missing.

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?

The description adds significant meaning beyond the schema's 100% coverage, detailing the auto-mapping heuristic (bright/level/opacity→level, scale/size/zoom→bass, hue/color→treble, speed/rate/rot→mid) and clarifying the interplay between intensity and add_master (master knob scales every binding). It also explains the fail-forward behavior for missing channels, which is not 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?

The description clearly states the tool's purpose: 'Make a whole COMP react to the music in one call' and explains the mechanism (point target at a COMP, source_chop at an audio CHOP). It distinguishes itself from siblings by explicitly naming create_audio_reactive and bind_to_channel as alternatives for different needs.

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?

The description gives explicit usage guidance: 'This tool only WIRES an existing COMP to an existing CHOP, building no nodes' and directs users to produce the feature CHOP first, then use this tool. It clearly states when to use alternatives: create_audio_reactive for a whole new network, bind_to_channel for finer single-parameter control.

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