Bundles ·
Extensions
·
Max Audio ·
Max MIDI ·
Modulators ·
MIDI Tools ·
Sonification ·
Live Racks ·
Free Tools ·






News
Insights
Signals
Videos
Press
Manuals
FAQ
Support
About

Account
         


Contact · Privacy · Terms

Complementer: MIDI Counterpart Generator for Ableton Live

COMPLEMENTER

Intelligent Counterpart Generator

$29
+ applicable taxes
BUY NOW


Complementer is an Ableton Live Extension that writes the counterpart to an existing MIDI clip. Give it a monophonic melody and it builds a chord progression beneath. Start with a chord progression and it writes a melodic line through it. The dialog detects which mode suits the clip before it opens - but switching direction is a simple click if you want to hear what each engine makes of the same source. The twin-engine design reflects asymmetry in the problem. Building chords from a melody is a harmonic question: which progression fits under these notes, in what rhythm, voiced how? Writing a line through existing chords is a melodic question: what does this part play at this rate, at what register, with what rhythmic character? The parameters that matter are genuinely different in each direction, which is why CHORDS and SEQUENCE have separate controls rather than sharing one set and toggling a few.



TWIN ENGINES

  • Measures how much of the clip's sounding time carries more than one simultaneous voice: a mostly monophonic clip opens in CHORDS mode, a mostly polyphonic clip opens in SEQUENCE mode
  • Shows "clip too sparse to detect" and defaults to CHORDS mode when the clip is too sparse for a confident read, with the MODE toggle visible at all times for a one-click switch
  • Processes a multi-clip selection independently, one complement per clip, with each result placed in the next available slot on its destination track
  • Sends output to the first MIDI track to the right of the source in Other mode, creating one automatically if none exists, or back to the source track's own empty slots in Self mode

CHORDS MODE: Backdrops

  • Nests phrasing hierarchically: clip Length sets the total duration, Pattern divides it into repeating harmonic units, Chords fills each Pattern span with a count of chords, and Grid snaps boundaries to a rhythmic interval
  • Shapes chord duration across a pattern with Distribution, from equal lengths (0) to front-loaded (positive) or back-loaded (negative), reaching conventional groupings like 4/2/1/1 continuously rather than as fixed presets
  • Strikes a chord at the midpoint of its own slot with Split, adding rhythmic interest without changing the harmony
  • Controls voicing with five Style options: Close, Shell (root, third, seventh), Open, Quartal, and Root, with Voices (2 to 8 notes) and Spread (pushing upper voices across octaves)
  • Deepens harmonic vocabulary with Color, from plain triads at low values through sixths, sevenths, ninths, and extended voicings at higher ones, all remaining diatonic with Scale Aware on
  • Pushes the progression toward less functional chord choices with Adventure, fully deterministic at 0, reaching borrowed chords and secondary dominants with Scale Aware off at higher values
  • Directs resolution direction with Skew: positive builds tension and cadences at the end, negative resolves at the start and drifts away, useful for clips that loop back to their own beginning

Color and Adventure shape harmonic character along two different axes that are easy to conflate. Color controls vocabulary depth: whether the engine is drawing from a pool of triads, or one that also includes sevenths, ninths, and extended chords. Adventure controls how far the chosen chord deviates from the most functional option within whatever Color allows. Low Color with high Adventure still picks unconventional triads; high Color with low Adventure picks the most functional extended chord available. Separating them means harmonic richness and harmonic unpredictability are tunable independently.

Iterations locks to 1 when Adventure, Split (in CHORDS mode) or Tie (in SEQUENCE mode), Humanize, and Quantize are all at their neutral values, because at that state generation is fully deterministic and every variation would be identical. The lock isn't a restriction so much as an honest signal that there's nothing to vary yet: unlock one stochastic parameter and multiple output Iterations become available immediately. That relationship between determinism and variation count is made explicit on purpose, so the control state always describes what the output actually is.

SEQUENCE MODE: Through-Lines

  • Sets the line's rhythmic grid with Rate, from 1/2 down to 1/32 with triplet values available throughout
  • Fills grid positions with Density, and biases which positions fall on versus off using Fit, which places notes where the chord rhythm is static and rests where it moves, answering the progression rather than doubling it
  • Syncopates the line by progressively dropping quarter-note then eighth-note grid positions, moving the line to offbeats rather than simply thinning it
  • Sets the line's overall character with five Roles: Bassline (roots and fifths, low register), Arpeggio (cycling chord tones), Counter (stepwise phrases above the chords), Guide (holding thirds and sevenths), and Lead (colour tones, highest register, most freedom)
  • Shapes the line's register arc across each Pattern span with Contour: Arch (rise then fall), Ascending, Descending, or Walk (no imposed shape)
  • Adds intervallic jumps with Leap, opening octave displacement above at lower values and progressively wider in both directions at higher ones, always capped at a one-in-two chance so the line still reads as a line

Role is the fastest way into SEQUENCE mode because it sets sensible starting values for Register, Density, Leap, Contour, and Range in one click, without touching Rate or any parameter you've already edited manually. It's a default-filling shortcut rather than a preset lock: every value Role sets is immediately adjustable, and anything you've already edited is left exactly where you put it.


SHARED ARTICULATION

  • Complementer inherits the source clip's dynamics in Follow velocity mode, scaled by the Velocity value, or locks every note to a fixed Velocity in Fixed mode
  • Humanizes each note's velocity by a random offset up to the Humanize percentage, for organic variation within and across chords or notes
  • Sustains notes for a percentage of their slot with Hold, from short stabs below 100% to overlapping chords or notes above it
  • Delays the entire output part in Live grid steps with Offset, with notes pushed past the clip end truncated rather than wrapped
  • Loosens timing with Quantize, displacing each note later by a random amount up to half of Live's current grid when below 100%
  • Holds a note into the next with Tie in SEQUENCE mode only, reaching across rests as well as joining neighbours, a detail that makes a sparse melodic line sound sustained rather than plucked
Tool Tip Annotated
Learn all you need to know directly in Live - just click the [?] icon in the Extension and hover your mouse over any parameter.
Scale Aware
Natively integrated with Live 12's scale and key for seamless workflow.
Already comes included in:
Extensions Bundle 001 · Ultra Bundle

Requires:
Ableton Live Suite 12.4.5 or above.
Not available in Live Standard, Intro, or Lite.

EXTENSION
Melodic · Rhythmic · Transformation · Generator