mcp_opendaw_create_voice_exchange
Applies contrapuntal techniques like imitation, inversion, or retrograde to pass melodic motifs between tracks, creating dialogic textures.
Instructions
Create a voice exchange — imitative counterpoint where motifs pass between voices.
A voice exchange is a contrapuntal technique where melodic material is passed between two or more voices. Voice A states a motif, Voice B responds with the same motif (transposed, inverted, or retrograded), creating a dialogic texture. This is the foundation of fugue, canon, and Renaissance polyphony.
Unlike clone_track (exact copy) or copy_notes_to_track (direct clone), voice exchange transforms the material as it passes between voices:
Imitation: same motif at a different pitch level
Inversion: motif inverted (intervals flipped)
Retrograde: motif reversed in time
Retrograde-inversion: both reversed and inverted
Augmentation: motif stretched in time
Diminution: motif compressed in time
With swap=True, the source notes are also moved to the target register, creating a true voice exchange where the voices cross.
Args: unit_index: AU index. source_track: Source note track index (contains the original motif). source_region: Source region index (0 = first region). target_track: Target note track index (where the response goes). target_region: Target region index (0 = first region). exchange_mode: Transformation mode (imitation, inversion, retrograde, retrograde_inversion, augmentation, diminution). interval: Pitch interval for imitation (semitones). Default 7 = perfect fifth. transpose: Additional semitone transpose on top of interval. time_offset: Time offset in beats before the response starts. Default 2.0 = response begins 2 beats after source starts. duration_factor: Duration multiplier (1.0 = same, 2.0 = augmentation, 0.5 = diminution). Overrides augmentation/diminution modes. velocity_factor: Velocity multiplier for the response voice. swap: If True, also swap source notes to target register (true exchange).
Returns notes created, transformation mode, and exchange statistics.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| swap | No | ||
| interval | No | ||
| transpose | No | ||
| unit_index | Yes | ||
| time_offset | No | ||
| source_track | No | ||
| target_track | No | ||
| exchange_mode | No | imitation | |
| source_region | No | ||
| target_region | No | ||
| duration_factor | No | ||
| velocity_factor | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |