midi studio+ the manual Lux Cache
plugin and Ableton Live extension · the complete manual

midi studio+

one clip in, endless directions out.

midi studio+ reads the harmony in a MIDI clip: its key, its chords and the degree of each note. Then it helps you change it. It suggests edits based on music theory, and turns the chords into blocks you can swap. It has pitch and rhythm effects to place on the clip, and it writes the result back. This manual covers every tab and control. It ends with step-by-step walkthroughs on real clips.

Lux Cache built by Lux Cache · plugin + Ableton Live extension
orientation

what it is

midi studio+ works on MIDI you already have: a pad progression, a topline, a bassline or a drum groove. It shows the music theory behind it, offers ways to change it, and writes the result back into your Ableton Live Set or to .mid files.

It has five tabs in one window:

tabwhat it does
analysereads the clip: key, chords, degrees and out-of-key notes
suggestoffers one edit at a time, each with a short reason
harmoniseturns the chords into blocks you can swap, reorder and thicken
designadds pitch and rhythm effects that you place on the clip
exportwrites the result to the clip, to new tracks or to .mid files

You hear every change before it is written. You can compare a suggestion with the original, play any chord block on its own, and hear the design tab as you drag. Your clip does not change until you export.

what it is not

midi studio+ is not an instrument, and it does not write music from nothing. You start from a clip, try some changes, and keep the ones you like. You can undo all of it.

setup

install & requirements

One download holds midi studio+ in two forms. The plugin is a standalone app, VST3 and AU on macOS, and a standalone app and VST3 on Windows. The Ableton Live extension is an .ablx file. Only the extension is connected to Live: you open it by right-clicking a clip, and it can write your changes back into the Set.

the plugin

  • macOS or Windows.
  • Any VST3 or AU host. You need no host if you use the standalone app.
  1. Open the download and run the installer for your system.
  2. Rescan plugins in your DAW, or open the standalone app.

The plugin and the extension work differently in a few places. See extension or plugin.

the Ableton extension

  • Ableton Live 12 Suite, build 12.4.5 beta or newer. This is the first build with the Extensions SDK.
  • The .ablx file, for example midi-studio+-by-Lux-Cache-1.3.4.ablx. It is in your download, next to the installer.
  1. In Live, open Preferences → Extensions.
  2. Drag the .ablx file into the Extensions pane.
  3. Restart Live so the Extension Host loads it.
  4. Right-click a MIDI clip. If the install worked, the menu has Open in studio…, with the extension's name in front of it.
setup

extension or plugin

The analyse, suggest, harmonise and design tabs are the same in both. The differences are in how MIDI gets in and where the result goes. In this manual, anything that needs Live is marked Live extension only.

Live extensionplugin and standalone app
open a clipright-click a MIDI or audio clip and choose Open in studio…the import tab: drag in a .mid or audio file, or click open from finder…
move between clipsevery MIDI clip in your Setevery file you loaded
live voiceyes, through an instrument in Liveno, the built-in voices only
exportto clip, to tracks and to .midto .mid only
getting started

opening the tool

In Live, right-click a MIDI clip in Session View or in the Arrangement, and choose Open in studio…. In the plugin, load files on the import tab. Either way, the clip is already analysed when the window opens.

in Live

midi studio+ also loads every other MIDI clip in your Set that has notes in it. Use the ‹ n / n › control, bottom right, or the ← → keys, to move between them. Copies of the same clip count once.

You can also open an audio clip. The analyse tab then finds the notes in the recording. An audio clip opens on its own, without the other clips.

in the plugin

The plugin and the standalone app open on the import tab, where you load files.

the interface

the window

The window has five tabs: analyse → suggest → harmonise → design → export. A footer runs along the bottom of every tab. It holds the LC mark, a help line that describes whatever is under your cursor, and the cancel and next buttons.

midi studio+ analyse tab
The analyse tab. The tabs are top left. Top right are the clip name, the audition voice, the note count, the detected key, and undo / redo. All five tabs share this header.

The header always shows the clip you are working on, the audition voice, the note count and key, and undo and redo. The help line in the footer is never empty.

audition voice dropdown
The voice dropdown: live, sine, keys, e-piano, drums, pad, saw, square and sub. The voice changes what you hear while you work. It never changes the clip.

the clip name

The clip name is underlined in the clip's colour in Live. If the clip has copies in the Set, a count follows the name, such as ×3. Each clip keeps its own changes when you move to another one, so you can work through a whole project and export at the end.

In the demo, a badge next to the clip name shows how many of your 10 exports are left. Click it to upgrade.

vocabulary

how you touch it

midi studio+ has no sliders and no outlined buttons. It uses the same few gestures as sample studio+.

gesturewhat it does
click a headingturns it on or off. It is grey when off and dark when on.
drag a numberchanges the value up or down.
click a valuesteps through its options.
‹ ›steps through the thing next to it: clips, suggestions or chord choices.
∗surprise me. Picks something new at random for the thing it belongs to.
▶ / spaceplays a chord block, a suggestion or the whole clip.

The help line in the footer describes whatever is under your cursor.

tab zero

0 · import

The import tab is where MIDI and audio get into the plugin and the standalone app. It sits left of analyse, and it is the tab they open on. The other tabs light up once a file is loaded.

midi studio+ import tab
The import tab, before a file is loaded. The other tabs are greyed out until there is something to analyse.

Plugin and standalone app only. In Live, you right-click a clip instead.

Drag in a .mid file or an audio file (wav, aiff, flac, mp3 or m4a), or click open from finder…. A .mid file opens straight away. An audio file is turned into MIDI first.

If you load several files at once, use ‹ n / n › or ← → to move between them, as with clips in Live.

tab one

1 · analyse

The analyse tab shows the theory in your clip. It does not change anything. It is a piano roll with chord names along the top and the notes of the key shaded. Hover over a note to see its degree.

analyse tab, degrees on
A progression with each chord named, Cm7 → F7 → Bbmaj7 → Gm7, and its degrees, ii7 · V7 · Imaj7 · vi7. Every note shows its scale degree.

what it shows

layerwhat it shows
keythe detected key, with how sure it is, for example · 85% sure. You can set the key yourself.
chordsthe name of each chord along the top
degreesa roman numeral for each chord, and a scale degree (1 to 7) for each note
out-of-keynotes outside the key, in red
scale rowsthe rows of the notes in the key, shaded behind the roll

Each layer has its own toggle along the top: scale rows · chords · degrees · out-of-key. Turn on only the ones you need. At the bottom right, the tab shows the number of voices, how much of the clip is in key, and the note range.

key override
key f# major · manual / auto. If the detected key is wrong, drag the root and the scale to set it. Every layer then updates to your key.

drum loops

An audio drum loop is read as drums, with no key. You still get the roll and the voices, and the drums voice is picked for you.

drum break analysed
A breakbeat read as key drums. The hits are found in the audio. sense and min set how it listens.
tab two

2 · suggest

The suggest tab offers edits based on music theory, one at a time. Each one says in plain words what it changes. Step through them, compare each with the original, and apply the ones you want.

suggest tab a/b
“lift the last phrase: the final phrase rises an octave, the last-chorus lift.” With original on, the tab plays and shows the source. The suggestion stays in view as faint ghost notes.

use a suggestion

  1. Read the suggestion. One line says what it changes and why.
  2. Listen to it. space plays it. Turn on the headphone toggle to hear each suggestion as you step to it.
  3. Compare it. Click original to hear and see the source. The suggestion stays in place as ghost notes. Click original again to go back.
  4. Click apply to keep it, or use ‹ › to move to the next one. reset undoes everything on the tab.

There are up to 20 suggestions. They mix small fixes with bolder changes, and the bolder ones come first. Green notes are added notes. Grey notes are the original notes they replace. On a drum loop, you only get rhythm changes and fixes.

tab three

3 · harmonise

The harmonise tab shows the clip's chords as a row of coloured blocks. Each block is a control, so you can change the harmony by ear. You do not need to know any theory.

harmonise tab chord blocks
Four chord blocks under the roll. Each shows its name and degree, and has ▶ hear, ∗ surprise me, a lock and its own style control. Each block colours the notes above it.

controls on each block

controlwhat it does
clickshows other chords you can use here. more… opens the full list.
▶plays this chord under your notes
∗surprise me: swaps in a new chord
lockkeeps this chord when you reroll the others
‹ style ›how the chord plays: sustain, strum, pick, pulse or arp
drag ↕sets how many chord notes are added, from −4 to +6. Drag up to add notes and down to remove them. At 0 you hear only your own notes, moved to fit the chord.
drag ↔moves the block to change the order of the chords
drag an edgemakes the block longer or shorter

You can also drag the notes in the roll up or down, to move that bar by an octave.

controls for the whole row

controlwhat it does
root and scalethe key the blocks work in. Drag to change. They start at the detected key.
shuffle (icon)puts the chords in a random order
∗a whole new progression under your notes. Press it again for another.
+ baradds a bar. It offers three chords that could come next. Hover to hear each one. An added bar has an × to remove it.
autoplays the clip again after every change
bypassplays the original clip so you can compare. Your changes stay, greyed out.
renderwrites the new harmony into the notes
resetundoes every change on the tab
render, then keep going

When you render, the new harmony becomes the clip's starting point. The chords are detected again and the blocks reset, so you can reharmonise the result. You can render as many times as you like. ⌘/Ctrl+Z undoes each render in turn.

harmonise tab reharmonising
A jazz progression as chord blocks: cm7, f7, a#maj7, gm7. The header shows the number of chords and what the tab is doing.
drum loops

The harmonise tab needs pitched notes, so it is not available on an audio drum loop.

tab four

4 · design

The design tab has effect blocks that you place on the clip. Pitch effects go on the note field at the top. Rhythm effects go on the lane at the bottom. Notes that a block changes take on its colour.

design tab blocks placed
A pitch block on the field and a rhythm block on the lane. Drag a block to place it and to stretch it, and drag its curve on the roll. The footer describes the point you are editing.

the fx slots

A row of six fx slots runs along the bottom. Each slot can hold any of the 16 effects below. Pick one from the slot's dropdown, then drag it from the slot onto the field or the lane. The slots start with harmony, gravity, shimmer, gate, ratchet and strum.

To remove a block, select it and press delete or backspace.

pitch effects

shift

Moves notes along the scale. They never leave the key.

pitch · on the field

octave

Doubles notes an octave up or down.

pitch · on the field

harmony

Adds a second voice that moves with the line, in key.

pitch · on the field

color

Adds 7ths, 9ths and 11ths on top of stacked notes.

pitch · on the field

sus

Turns 3rds into 2nds or 4ths, and leaves them unresolved.

pitch · on the field

pedal

Holds each chord's root note underneath.

pitch · on the field

gravity

Pulls stray notes onto the chord. Automate how strongly with its curve.

pitch · on the field

shimmer

Adds echoes that climb an octave with each repeat.

pitch · on the field

rhythm effects

gate

Cuts held notes into pulses, from 1/4 to 1/32.

rhythm · on the lane

ratchet

Splits a note into fast repeats, up to ×16.

rhythm · on the lane

strum

Spreads the notes of a chord apart in time, like a strum. 0 to 120 ms.

rhythm · on the lane

swing

Moves the offbeats later. 0 to 66%.

rhythm · on the lane

echo

Adds repeats after each note that get quieter, up to ×4.

rhythm · on the lane

chop

Removes notes at random. 0 to 95%.

rhythm · on the lane

push

Moves notes earlier or later, by up to 50 ms.

rhythm · on the lane

bend

Bunches the timing towards one end, so the part speeds up or slows down.

rhythm · on the lane

controls for the whole tab

controlwhat it does
root and scalethe key the pitch effects work in. Drag to change. They start at the detected key.
scale quantisemoves every note of the result onto the scale
reset allremoves every pitch and rhythm block
∗randomise all: places random pitch and rhythm effects, with random positions and curves
quantisemoves the notes onto a grid. Click to choose off, 4th, 8th, 16th or 32nd.
humanizeadds small random changes to timing and velocity. Drag the % to set how much.
bypassplays the clip without the design effects, so you can compare
rendermakes the designed clip the new starting point

The effects run first. Then quantise moves the result onto the grid, and humanize runs last.

design works on the harmonise tab's result

The design tab starts from what the harmonise tab made, including any reharmonising, added chord notes and new chord order. After you render here, you can go round again: analyse, harmonise, design, render.

design tab randomised
After ∗ (randomise all): a pitch block on the field and rhythm blocks on the lane, with the six fx slots filled along the bottom. Every note a block changes takes on the block's colour.
tab five

5 · export

The export tab writes your work out. Choose what to write and how to name it, then send it to clip, to tracks or to .mid. The plugin has to .mid only.

export tab
Naming and options are on the left, and the file list is on the right. It updates as you change settings. The three destinations are in the footer: to clip (in blue), to tracks and to .mid.

name the items

Each name is built from tokens. The default is {prefix}{name} {part} {index}. Write a token in UPPERCASE to put its value in capitals.

tokenbecomes
{name}the clip's name
{part}the stage (harmony, pitch or rhythm) when you export stages. Empty for the finished chain.
{prefix} and {suffix}the text in the prefix and suffix fields
{index}a running number. index digits sets how many digits it has (2 gives 01).
{key}the clip's key
{bpm}the tempo, for example 120bpm
{date}the export date

what gets written

controlwhat it does
sourcefinished chain writes one item, with every tab's changes. stages writes three items per clip: harmony, pitch and rhythm. this clip or all clips sets which clips to tracks and to .mid write.
to clipLive extension only. Writes the finished chain into the clip you are on. Turn on apply to all duplicates to change every copy of it in the Set too.
to tracksLive extension only. Writes new clips on new tracks, in the arrangement (at the clip's start) or in session (on the clip's scene). colour clips colours each clip by its stage.
to .midwrites files to the .mid output folder. If no folder is set, it asks you. create subfolder writes into a new folder named after the prefix, so no file is overwritten. manifest also writes a .txt list of the files. reveal folder opens the folder when it is done.
undo

In Live, each write into your Set is one undo step. ⌘/Ctrl+Z in Live removes the whole write.

under the hood

key & chord reading

Every tab depends on how midi studio+ reads the clip. So it shows you how sure it is.

  • The detected key shows how sure it is, for example · 85% sure. If the clip's name contains a key, that key is used and the readout says · from name.
  • To set the key yourself, drag the root or the scale next to key. The readout then says · manual, and every layer and suggestion updates to your key. Click auto to go back to the detected key.
  • Each chord is named with its roman-numeral degree, so you see the chord's role in the key as well as its name.
  • Audio drum loops get no key. See drum loops.
how accurate it is

Key detection works best on clips with many notes and chords. On a short clip, or one that plays a single line, it has fewer notes to go on, so the % is lower. If you know the key, set it yourself.

under the hood

audio in

midi studio+ also works on audio clips. Open it on an audio clip and it finds the notes in the recording. The waveform is drawn faintly behind them.

audio clip analysed
An audio clip read like MIDI, with chord names over the waveform. sense and min set how it listens.

sense sets how many notes it finds. Lower finds more notes, and higher keeps only the ones it is sure of. min drops notes shorter than the length you set, in ms. The readout at the bottom right is the same as for MIDI: voices, % in key and range.

under the hood

routing into Live

Live extension only.

With the live voice, midi studio+ sends every audition to Ableton over network MIDI. It then plays through the instrument on one of your tracks. In Live, live is the voice you start with.

set it up once

When you choose live and it is not connected yet, a setup window opens with these steps. They are for macOS. On Windows, install the free rtpMIDI, which uses the same protocol, and set up a session there.

  1. Open Audio MIDI Setup. From the menu, choose Window → Show MIDI Studio, then double-click Network. Click + to add a session, tick it, and set “Who may connect to me” to Anyone.
  2. In Live, on a track with your instrument, set MIDI From to Network Session 1. Then set Monitor to In, or arm the track.
  3. Go back to midi studio+. It connects on its own, and the setup window shows when it has. Click done, or use the built-in synth to stop using live.

Everything you would hear on a built-in voice now plays through your own instrument. This includes playback, a chord block's ▶ and the preview when you hover over a chord.

If you hear nothing, check that MIDI From is the network session and that the track is monitoring or armed.

listening only

The voice you pick changes what you hear. It does not change what gets written. You still write with the export tab, and the clip keeps its own instrument and effects.

step by step

walkthroughs

Nine short walkthroughs on real clips. Each starts with a right-click in Live and ends with something written back. In the plugin, load the file on the import tab instead, and use to .mid where a step says to clip or to tracks.

walkthrough 01

read a progression you recorded

You played in some pad chords and want to know what they are.

  1. Right-click the clip and choose Open in studio…. It opens on analyse, with the clip already read.
  2. Check the key readout, for example f major · 85% sure. If it is wrong, drag the root or the scale to set it yourself.
  3. Turn on chords and degrees. Every chord now shows its name and its role in the key.
  4. Turn on out-of-key. Red notes are outside the key. Some may be on purpose, and some may be mistakes.
  5. Hover over any note to see its degree.

Result: you know the key, the chords and the out-of-key notes. Nothing has been written.

walkthrough 02

fix one bar of a pad progression

The progression works, except for one bar.

  1. Open the clip and go to the suggest tab.
  2. Use ‹ › until a suggestion names your bar, for example “recolour the a#maj7 bar: carries most of the tune.”
  3. Press space to hear it. Click original to compare, and click it again to go back.
  4. Click apply if you like it.
  5. When you are done, go to export and click to clip.

Result: one change, which you heard before you kept it. reset could undo it at any point.

walkthrough 03

reharmonise a loop

Keep the notes, change the chords under them.

  1. Open the clip and go to the harmonise tab. The progression appears as coloured chord blocks.
  2. Click a block to see other chords. Use ▶ to hear each one under your notes.
  3. lock the chords that already work. Press ∗ on the ones that do not.
  4. Give blocks a style, such as sustain, pick or arp. Click + bar to make the loop longer.
  5. Click render to write the new harmony into the notes. Then use export to write it out.

Result: a reharmonised loop, chosen by ear one block at a time.

walkthrough 04

add movement to static stabs

A flat part, locked to the grid, that needs movement.

  1. Open the clip and go to the design tab.
  2. Drag a gate block onto the lane to cut held notes into pulses. Stretch it over the bars you want.
  3. Add strum, swing or ratchet where the part should open up.
  4. On the field, try shimmer for climbing octave echoes or pedal for a held root note. Turn on scale quantise to stay in key.
  5. If the timing is too loose, set quantise to a grid. If it is then too tight, raise humanize.
  6. Or press ∗ (randomise all) until you hear something you like, and reset all to start again.

Result: a part with movement. Each block's colour shows which notes it changed.

walkthrough 05

write it back, three ways

You have something you like and want to save it.

  1. Go to export. Set the naming, for example {prefix}{name} {part} {index}. The file list updates as you type.
  2. Pick the source: the finished chain, or its three stages.
  3. Click to clip to replace the clip you are on. Turn on apply to all duplicates if the clip is in more than one place.
  4. Click to tracks for new clips on new tracks, in session or arrangement, with colours.
  5. Click to .mid for files on disk. Set the folder, and turn on the subfolder and manifest if you want them.

Result: your work is where you want it. One undo in Live removes each write.

walkthrough 06

audition through your own instrument

Live extension only.

Hear each change on the synth you will use in the track.

  1. Set up the network session once. Routing into Live has the steps (macOS: Audio MIDI Setup. Windows: rtpMIDI).
  2. In Live, on a MIDI track with your instrument, set MIDI From to the session and Monitor to In.
  3. In midi studio+, check that the voice is live.
  4. Step through suggestions, click chord blocks and drag design blocks. Every audition now plays through your instrument.
  5. When it sounds right on your own sound, go to export and click to clip.

Result: every choice was made on the instrument you will use in the track.

walkthrough 07

build up changes with render

Make a series of changes, each one on top of the last.

  1. On harmonise, reharmonise the clip and click render. The new chords become the starting point. The chords are detected again and the blocks reset.
  2. Reharmonise that result. Or go to design, which works on what the harmonise tab made.
  3. Add blocks and click render again. The designed clip is now the starting point.
  4. Repeat until you are happy. ⌘/Ctrl+Z undoes each render in turn.
  5. On export, set the source to stages to write the harmony, pitch and rhythm stages as three separate items.

Result: a part built in several steps. You heard each step, and you can undo each one.

walkthrough 08

a whole project in one sitting

Live extension only. In the plugin, load several files at once and step through them the same way.

Work on every MIDI clip in the Set without opening the window twice.

  1. Right-click any MIDI clip and choose Open in studio….
  2. Use ‹ n / n ›, bottom right, or ← → to move through every MIDI clip in the project. Copies of a clip count once.
  3. Work on each clip. Each one keeps its own changes as you move between them.
  4. On export, set the source to all clips. Then click to tracks or to .mid. Every clip you changed is written at once.

Result: every clip in the project worked on, from one window.

walkthrough 09

turn a drum break into MIDI

Turn an audio drum loop into MIDI that you can play with any drum sound.

  1. Right-click the audio clip and choose Open in studio…. The hits appear as notes over the waveform, read as drums.
  2. Lower sense until it catches every hit you want. Raise min to drop very short ghost hits.
  3. Listen with the drums voice, or pick live to play it through your own kit.
  4. For more movement, go to design and add gate, ratchet, swing or push.
  5. Go to export and click to tracks. The break is now MIDI on a new track, ready for any drum rack.

Result: the break's timing and feel, as MIDI notes you can edit.

reference

keyboard

midi studio+ uses the same keys as sample studio+.

keywhat it does
1 2 3 4 5go to analyse, suggest, harmonise, design or export.
Entergo to the next tab.
spaceplay or pause.
← →on suggest, the previous or next suggestion. On the other tabs, the previous or next clip.
delete ⌫on design: remove the selected block.
⌘/Ctrl+Zundo. Add ⇧ to redo.
Esccancel: close the window without writing anything.
reference

tips & gotchas

  • The voice is never written. The audition voice only changes what you hear. The clip keeps its own instrument and effects. Pick whichever voice helps you decide.
  • Grey notes are the original. This is true on suggest, harmonise and design. If the grey notes sound better than the coloured ones, keep the original.
  • Lock before you reroll. On harmonise, lock the chords that work first. Then ∗ only changes the others.
  • Quantise runs after the effects. Humanize runs after quantise, so the grid does not remove the human feel.
  • to clip writes one clip. It writes only the clip you are on, plus its copies if apply to all duplicates is on. To write every clip, use all clips with to tracks or to .mid.
  • In Live, each write is one undo. Every write lands in Live as a single step, so you can try things without risk.
reference

troubleshooting

I don't see the menu item.

This applies to the Ableton extension. Check that Live is 12.4.5 beta or newer, and that the .ablx is listed in Preferences → Extensions. Then restart Live. Right-click directly on a MIDI clip or an audio clip.

The key looks wrong.

Check the %. Short clips and clips that play one note at a time often have a low score. Drag the root and the scale next to key to set the key yourself. Every tab then uses your key.

The harmonise tab is greyed out.

This is normal on an audio drum loop, because chords need pitched notes. Analyse, suggest, design and export still work.

A suggestion changed more than I expected.

Click original to see what moved. The suggestion shows as ghost notes. reset undoes everything on the tab.

Export wrote nothing where I looked.

Check which source you chose. For .mid files, also check the output folder. reveal folder opens it. The file list shows what will be written before you write it.

Where do logs go?

To the Extension Host log. On macOS it is ~/Library/Preferences/Ableton/Live x.x.x/ExtensionHost.txt. On Windows it is %APPDATA%\Ableton\Live x.x.x\Preferences\ExtensionHost.txt.

that's the tool

stop second-guessing your harmony.

luxcache.com/midi-studio  ·  standalone + VST3 / AU + Ableton extension  ·  macOS / Windows