mcp_opendaw_add_passing_tones
Smooth melodic leaps by adding diatonic passing tones between notes with intervals larger than a second. Works with various scales and directional options.
Instructions
Add passing tones between existing notes for smoother melodic lines.
Inserting diatonic passing tones in gaps where consecutive notes have an interval larger than a 2nd. The passing tone is placed on the weak part of the beat, connecting the two notes stepwise through the scale.
This is a fundamental counterpoint technique — makes large melodic leaps sound smoother by filling them with scale steps. Bach inventions, jazz walking lines, and pop vocal melismas all use passing tones.
Passing tones are only added when:
The interval between consecutive notes is > 2 semitones
There is enough time gap between notes (at least 1/8 note)
The interval does not exceed max_interval semitones
Args: unit_index: Audio unit index track_index: Note track index region_index: Region index (-1 = first region) scale: Scale for diatonic passing tones ("major", "minor", "dorian", "phrygian", "lydian", "mixolydian", "locrian", "harmonic_minor", "melodic_minor", "pentatonic", "blues", "chromatic") root: Root note for scale (C, C#, D, ... B) max_interval: Maximum interval (semitones) to fill with passing tones (3-12, default 7 = perfect 5th). Intervals larger than this are left as leaps. velocity: Velocity of passing tones (0-1, default 0.6 — slightly quieter than melodic notes, as is traditional) duration_fraction: Duration of passing tones as fraction of the gap between notes (0.25-1.0, default 0.5) direction: Passing tone direction — "auto": choose direction that fits scale better "ascending": always step up from lower to higher note "descending": always step down from higher to lower note "nearest": use nearest scale tone to midpoint cross_track: If >= 0, place passing tones on this track index instead of source track (preserves original melody)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | C | |
| scale | No | major | |
| velocity | No | ||
| direction | No | auto | |
| unit_index | Yes | ||
| cross_track | No | ||
| track_index | Yes | ||
| max_interval | No | ||
| region_index | No | ||
| duration_fraction | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |