String and Pad Sustain Editor
The Sustain Editor is designed for instruments that hold long notes — string ensembles, synth pads, organs, choirs. Instead of placing individual note rectangles in a piano roll, you place chord blocks and shape their dynamics with envelope curves.
When to Use It
- Writing string or pad parts that hold chords for multiple bars
- You want to control dynamics (volume swells, fades) visually
- You think in terms of "a Cm chord that swells in" rather than "three MIDI notes at specific velocities"
Layout
- Timeline — horizontal, divided into bars and beats
- Chord blocks — colored rectangles spanning the chord's duration, labeled with the chord name (e.g., "Cm", "F", "G7")
- Dynamics curve — a line overlaid on each chord block showing volume over time
Placing Chords
| Action | How |
|---|---|
| Add a chord | Click an empty space on the timeline — a chord picker appears |
| Change a chord | Click an existing block to open the chord picker |
| Move a chord | Drag the block body left/right |
| Resize a chord | Drag the right or left edge |
| Delete a chord | Right-click and select Delete, or select and press Delete |
The chord picker shows suggestions from the harmony engine — chords are color-coded green/yellow/red based on how well they follow the previous chord.
Dynamics Envelope
Each chord block has an editable dynamics curve that controls how loud the chord plays over its duration.
Editing the Envelope
- Control points appear on the curve — drag them up (louder) or down (softer)
- By default, each block starts with a simple sustain (flat line at medium volume)
- Double-click the curve to add a new control point
- Right-click a control point to delete it
Common Shapes
| Shape | Effect |
|---|---|
| Flat line | Steady, unchanging volume |
| Ramp up | Swell — chord gradually gets louder |
| Ramp down | Fade — chord gradually gets softer |
| Up then down | Swell and fade — the classic pad movement |
| V shape | Dip in the middle — creates a breathing effect |
Transitions Between Chords
Right-click the boundary between two chord blocks to set the transition type:
| Transition | Effect |
|---|---|
| **Cut** | Hard switch — first chord stops, second chord starts immediately |
| **Crossfade** | The two chords overlap briefly, blending together |
| **Swell** | First chord fades out, brief silence, second chord fades in |
Voice Leading
When Auto Voice-Lead is enabled (default), each new chord is voiced to minimize the movement between notes. For example, going from C major (C-E-G) to F major, the engine might choose F-A-C voiced as F-A-C rather than jumping to a distant inversion — keeping the notes close together for a smooth transition.
Voicing Styles
Select a voicing style from the toolbar:
| Style | Description |
|---|---|
| **Close** | All notes within one octave — compact, warm |
| **Open** | Notes spread across two octaves — spacious, orchestral |
| **Drop 2** | Second-highest note dropped an octave — common in jazz arranging |
How It Works Internally
Each chord block is stored as a group of simultaneous notes in the standard pattern format. The dynamics envelope modulates note velocity over time during playback. This means:
- The output is standard MIDI — compatible with any instrument or DAW export
- You can switch to the piano roll to see/edit the individual notes if needed
- Humanization still applies on top of the dynamics envelope
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
| Click empty | Add chord block |
| Click block | Change chord |
| Drag block | Move in time |
| Drag edge | Resize |
| Delete | Remove selected block |
| Double-click curve | Add envelope control point |
| Right-click point | Remove envelope control point |
| Ctrl+Z | Undo |
| Ctrl+Y | Redo |
| V | Cycle voicing style |
| T | Cycle transition type (on block boundary) |