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
| Name | Required | Description | Default |
|---|---|---|---|
| bpm | No | ||
| bars | No | ||
| mode | No | slice-preserve | |
| seed | No | ||
| style | No | future_bass | |
| source_key | No | C | |
| target_key | No | ||
| mute_original | No | ||
| vocal_item_index | Yes | ||
| chord_progression | No | ||
| target_track_name | No | Vocal Chops |