Skip to main content
Glama

mcp_opendaw_balance_track_velocities

Balance MIDI velocities across multiple tracks to achieve a coherent mix. Applies preset or custom relative target levels while preserving each track's internal dynamics.

Instructions

Balance velocities across multiple tracks — MIDI mix leveling.

Sets relative velocity levels across multiple note tracks so they sit correctly in the mix. Unlike scale_velocity (one track at a time), this operates on multiple tracks simultaneously and establishes the relative balance between them.

Presets:

  • "mix_balanced" — all tracks equal (~0.75). Neutral starting point.

  • "drums_forward" — drums loudest (0.95), bass (0.80), harmony (0.65), lead (0.70). Hip-hop, rock, electronic.

  • "vocal_forward" — vocal/lead loudest (0.95), pads (0.60), bass (0.75), drums (0.80). Pop, ballad, singer-songwriter.

  • "pads_quiet" — pads very quiet (0.50), arp (0.65), bass (0.80), drums (0.90), lead (0.85). Ambient, cinematic.

  • "bass_heavy" — bass loudest (0.95), drums (0.85), lead (0.70), harmony (0.55). Reggae, dub, trap.

  • "custom" — use target_velocities parameter (comma-separated 0-1 values, one per track in track_indices order).

The tool reads current average velocities, computes scale factors to reach targets, and applies them. Original relative dynamics within each track are preserved (multiply mode).

track_indices: Comma-separated track indices (e.g. "0,1,2,3"). preset: One of the presets above, or "custom". target_velocities: For custom mode — comma-separated target avg velocities (e.g. "0.9,0.7,0.6,0.8"). Must match track_indices count. region_index: Region (-1 = first, -2 = all regions).

Returns per-track velocity stats before/after.

Example:

Balance 4 tracks: drums, bass, pads, lead

balance_track_velocities(0, "0,1,2,3", preset="drums_forward")

Custom: drums=0.9, bass=0.7, pads=0.5, lead=0.8

balance_track_velocities(0, "0,1,2,3", preset="custom", target_velocities="0.9,0.7,0.5,0.8")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
presetNomix_balanced
unit_indexYes
region_indexNo
track_indicesYes
target_velocitiesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

No annotations are provided, so the description takes on the full burden. It discloses the algorithm: reads current average velocities, computes scale factors, and applies them in multiply mode, preserving original relative dynamics. It also notes that per-track velocity stats are returned before/after. This provides solid behavioral insight, though it does not explicitly state reversibility or edge-case handling (e.g., out-of-range targets), which keeps it from a 5.

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 comprehensive but well-organized with clear sections: overview, preset list, parameter definitions, return value, and examples. It is longer than average, but every section adds necessary detail for the tool's complexity. The front-loaded overview immediately conveys the core purpose, and the structured preset list is easy to scan. The lack of a brief parameter list for unit_index slightly affects structural completeness.

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?

The tool has 5 parameters and an output schema, and the description covers the key aspects: purpose, preset behavior, parameter formats, and return value (per-track stats). It includes practical examples for both preset and custom modes. The missing unit_index definition is the primary gap, and since the output schema exists, the description appropriately avoids re-explaining return structure. Overall, the description is complete enough for typical use, but the unit_index omission prevents a perfect score.

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 description coverage is 0%, so the description must compensate. It thoroughly explains track_indices, preset (listing all preset options with target values), target_velocities (format and requirement to match count), and region_index (special values -1 and -2). The only gap is unit_index, which appears only in the example (as the first argument) without explicit explanation in the parameter list. This is a notable omission but the example infers its usage.

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 opens with a specific verb and resource: 'Balance velocities across multiple tracks — MIDI mix leveling.' It clearly states the tool sets relative velocity levels across multiple note tracks. It also explicitly distinguishes itself from the sibling tool scale_velocity, which handles one track at a time, making the purpose unmistakable.

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?

Usage context is explicit: the tool is for balancing velocities across multiple tracks, with a direct comparison to scale_velocity ('Unlike scale_velocity (one track at a time)'). It also provides presets for specific musical genres/mix intentions, giving clear 'when to use' guidance. Examples further illustrate the intended call patterns.

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/ameobius-ai/opendaw-mcp'

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