mcp_opendaw_create_phase_shift
Creates a phase-shifted copy of a region that gradually accumulates a time offset per bar, mimicking Steve Reich phasing. Adjust shift per bar, direction, and number of bars.
Instructions
Create a phase-shifted copy of a region — Steve Reich phasing.
Copies the source phrase and places it on a parallel track (or cross-track) with a gradually accumulating time offset. Each bar, the copy shifts by shift_per_bar beats, creating the classic "slipping" phase pattern of minimalism.
Steve Reich's "It's Gonna Rain", "Piano Phase", and "Clapping Music" use this technique. Also the foundation of techno loop phasing, ambient drift, and IDM polyrhythmic evolution.
Unlike displace_rhythm (single fixed offset), phase_shift creates a SECOND copy that drifts further each bar — the two streams start in unison and gradually separate.
Args: unit_index: Audio unit index track_index: Note track index with source phrase region_index: Region index (-1 = first region) shift_per_bar: Time shift per bar in beats (0.03125-0.5, default 0.0625 = 1/16 note per bar). Smaller = slower drift, larger = faster separation. bars: Number of bars to generate (2-16, default 8). Each bar is one repeat of the source phrase with cumulative offset. direction: Phase drift direction — "forward": copy moves later each bar (lags behind) "backward": copy moves earlier each bar (anticipates) cross_track: If >= 0, place the phased copy on this track. If -1 (default), creates a new track on the same AU for the copy. Recommended: use cross_track for explicit control. velocity_scale: Velocity multiplier for the phased copy (0.1-1.0, default 0.85 — slightly softer to distinguish from the original).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bars | No | ||
| direction | No | forward | |
| unit_index | Yes | ||
| cross_track | No | ||
| track_index | Yes | ||
| region_index | No | ||
| shift_per_bar | No | ||
| velocity_scale | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |