mcp_opendaw_add_neighbor_tones
Add upper or lower neighbor tones to ornament sustained notes by stepping away one scale step and returning. Embellish melodies with diatonic neighbor tones for expressive phrasing.
Instructions
Add upper/lower neighbor tones to embellish existing notes.
A neighbor tone is a non-chord tone that steps away from the main note by one scale step (up or down) and then returns. Unlike passing tones which connect two different notes, neighbor tones ornament a single sustained note.
Structure: [main first part] → [neighbor (dissonance)] → [main return]
The original note is split into three parts:
First part: original pitch from start to neighbor_offset
Neighbor: one scale step away, duration = neighbor_fraction of original
Return: original pitch for the remainder
This is the third of the four classic non-chord tone techniques: passing tones, suspensions, neighbor tones, and anticipation.
Bach ornaments, jazz ballad fills, country chicken pickin', and classical cadenzas all use neighbor tones extensively.
Args: unit_index: Audio unit index track_index: Note track index region_index: Region index (-1 = first region) scale: Scale for diatonic neighbor step ("major", "minor", "dorian", "phrygian", "lydian", "mixolydian", "locrian", "harmonic_minor", "melodic_minor", "pentatonic", "blues", "chromatic") root: Root note for scale (C, C#, D, ... B) direction: Neighbor direction — "upper": step up from main note (most common) "lower": step down from main note "alternating": alternate upper/lower per note neighbor_fraction: Duration of neighbor as fraction of original note (0.1-0.5, default 0.25 = quarter of original). Smaller values create subtle ornaments, larger create more prominent embellishments. neighbor_offset: Position of neighbor within the note (0.1-0.9, default 0.5 = middle). 0.15 = near start, 0.5 = middle, 0.85 = near end. neighbor_velocity: Velocity of neighbor note (0-1, default 0.6 — softer than the main note, as is traditional for ornaments). min_duration_beats: Minimum note duration in beats to embellish (0.5-4.0, default 1.0). Short notes are skipped — ornaments need room to breathe. cross_track: If >= 0, place neighbors on this track index instead of source track (preserves original notes).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | C | |
| scale | No | major | |
| direction | No | upper | |
| unit_index | Yes | ||
| cross_track | No | ||
| track_index | Yes | ||
| region_index | No | ||
| neighbor_offset | No | ||
| neighbor_fraction | No | ||
| neighbor_velocity | No | ||
| min_duration_beats | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |