Skip to main content
Glama

chop_pipeline

Creates a contiguous, key-matched vocal chop arrangement in REAPER from a single vocal sample, with bar-level variation and separate layer tracks. Modes: slice-preserve and melody.

Instructions

End-to-end vocal-chop arrangement (redesigned for pro workflow).

Produces a contiguous, key-matched, professionally-structured chop arrangement on a new track. Follows researched EDM vocal-chop rules:

• CHOPS ARE CONTIGUOUS — every slot filled wall-to-wall, no silence gaps. Slot length is determined by the grid. • PITCH IS UNIFORM — the whole chop set is transposed ONCE to match the track key (source_key → target_key). No per-slice chord-tone retuning; that destroys formants and sounds bad. • LAYER STACKS ARE SEPARATE TRACKS — octave/fifth layers are duplicate child tracks at reduced volume (not overlays that smear the lead). • BAR-LEVEL VARIATION — each bar pulls a different permutation of source slices, so the arrangement doesn't just loop.

REQUIREMENT for clean pitch: set REAPER's per-item pitch-shift mode to "élastique Pro Soloist Monophonic" (Project Settings → Media Item Defaults, or per-take in Item Properties). Raw pitch shift without formant preservation destroys vocal character. The tool does not auto-set this (requires REAPER user config).

Modes: • slice-preserve (default): slice source at a 1/16 (or 1/8 / 1/32 per style) grid, reorder slices across bars for variation, apply ONE uniform pitch shift to all chops. • melody: pick a central vowel offset in the source, write a chord-tone melody across bars (root/3rd/5th of each chord), capped at ±5 semitones from source. Requires chord_progression. Approximates the "one vowel + sampler + MIDI melody" workflow (Flume / Simpler / Quick Sampler).

Args: vocal_item_index: Global 0-based index of the vocal item. chord_progression: Chord list (required for melody mode, optional for slice-preserve). E.g. "Fm, Ab, Bb, Fm". bpm: Project tempo. 0 = fetch from REAPER. bars: Length in bars. Default 4, max 32. style: One of future_bass, chillstep, porter, trap, mura_masa, odesza. Drives grid / stutter / layers. target_track_name: Name for the new track. mute_original: Mute the source vocal's track. Default True. source_key: Vocal's original musical key. Accepts Am, A minor, A, Ebm, etc. Default C. target_key: Track key to transpose TO. Empty = use root of first chord in chord_progression, or source_key if no progression given. mode: slice-preserve (default) or melody. See above. seed: Random seed for bar permutations. 0 = nondeterministic.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bpmNo
barsNo
modeNoslice-preserve
seedNo
styleNofuture_bass
source_keyNoC
target_keyNo
mute_originalNo
vocal_item_indexYes
chord_progressionNo
target_track_nameNoVocal Chops
Behavior5/5

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

With no annotations, the description fully bears the burden. It transparently discloses that chops are contiguous, pitch is uniform, layers are separate tracks, and bar-level variation occurs. It also notes the requirement for user-configured pitch-shift mode, providing complete behavioral insight.

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 well-structured: a one-sentence summary, bulleted rules, mode descriptions, and an arg list. Every sentence adds value without redundancy. It is as concise as possible given the tool's complexity.

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?

Given 11 parameters, no output schema, and no annotations, the description covers all necessary context: prerequisites, behavior, modes, and parameter details. It leaves no obvious gaps for a user to understand tool usage.

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?

Despite 0% schema coverage, the 'Args:' section in the description explains every parameter with defaults, examples, and context (e.g., mode differences, chord_progression format, source_key/target_key defaults). This adds substantial meaning beyond the schema's titles.

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 'End-to-end vocal-chop arrangement' and details the two modes (slice-preserve and melody) along with specific rules (contiguous, uniform pitch, separate tracks, bar-level variation). It distinguishes itself from siblings like analyze_chop_set or arrange_chops_to_chord_tones by covering the full workflow.

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 explains when to use each mode (e.g., melody requires chord_progression) and lists a prerequisite (REAPER's pitch-shift mode). However, it does not explicitly state when not to use this tool or suggest alternatives, which keeps it from being a 5.

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/xDarkzx/Reaper-MCP'

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