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.
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:
| tab | what it does |
|---|---|
| analyse | reads the clip: key, chords, degrees and out-of-key notes |
| suggest | offers one edit at a time, each with a short reason |
| harmonise | turns the chords into blocks you can swap, reorder and thicken |
| design | adds pitch and rhythm effects that you place on the clip |
| export | writes 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.
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.
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.
- Open the download and run the installer for your system.
- 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
.ablxfile, for examplemidi-studio+-by-Lux-Cache-1.3.4.ablx. It is in your download, next to the installer.
- In Live, open Preferences → Extensions.
- Drag the
.ablxfile into the Extensions pane. - Restart Live so the Extension Host loads it.
- Right-click a MIDI clip. If the install worked, the menu has Open in studio…, with the extension's name in front of it.
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 extension | plugin and standalone app | |
|---|---|---|
| open a clip | right-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 clips | every MIDI clip in your Set | every file you loaded |
| live voice | yes, through an instrument in Live | no, the built-in voices only |
| export | to clip, to tracks and to .mid | to .mid only |
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 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.
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.
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.
how you touch it
midi studio+ has no sliders and no outlined buttons. It uses the same few gestures as sample studio+.
| gesture | what it does |
|---|---|
| click a heading | turns it on or off. It is grey when off and dark when on. |
| drag a number | changes the value up or down. |
| click a value | steps 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. |
| ▶ / space | plays a chord block, a suggestion or the whole clip. |
The help line in the footer describes whatever is under your cursor.
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.
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.
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.
what it shows
| layer | what it shows |
|---|---|
| key | the detected key, with how sure it is, for example · 85% sure. You can set the key yourself. |
| chords | the name of each chord along the top |
| degrees | a roman numeral for each chord, and a scale degree (1 to 7) for each note |
| out-of-key | notes outside the key, in red |
| scale rows | the 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.
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.
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.
use a suggestion
- Read the suggestion. One line says what it changes and why.
- Listen to it. space plays it. Turn on the headphone toggle to hear each suggestion as you step to it.
- Compare it. Click original to hear and see the source. The suggestion stays in place as ghost notes. Click original again to go back.
- 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.
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.
controls on each block
| control | what it does |
|---|---|
| click | shows other chords you can use here. more… opens the full list. |
| ▶ | plays this chord under your notes |
| ∗ | surprise me: swaps in a new chord |
| lock | keeps 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 edge | makes 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
| control | what it does |
|---|---|
| root and scale | the 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. |
| + bar | adds a bar. It offers three chords that could come next. Hover to hear each one. An added bar has an × to remove it. |
| auto | plays the clip again after every change |
| bypass | plays the original clip so you can compare. Your changes stay, greyed out. |
| render | writes the new harmony into the notes |
| reset | undoes every change on the tab |
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.
The harmonise tab needs pitched notes, so it is not available on an audio drum loop.
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.
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.
octave
Doubles notes an octave up or down.
harmony
Adds a second voice that moves with the line, in key.
color
Adds 7ths, 9ths and 11ths on top of stacked notes.
sus
Turns 3rds into 2nds or 4ths, and leaves them unresolved.
pedal
Holds each chord's root note underneath.
gravity
Pulls stray notes onto the chord. Automate how strongly with its curve.
shimmer
Adds echoes that climb an octave with each repeat.
rhythm effects
gate
Cuts held notes into pulses, from 1/4 to 1/32.
ratchet
Splits a note into fast repeats, up to ×16.
strum
Spreads the notes of a chord apart in time, like a strum. 0 to 120 ms.
swing
Moves the offbeats later. 0 to 66%.
echo
Adds repeats after each note that get quieter, up to ×4.
chop
Removes notes at random. 0 to 95%.
push
Moves notes earlier or later, by up to 50 ms.
bend
Bunches the timing towards one end, so the part speeds up or slows down.
controls for the whole tab
| control | what it does |
|---|---|
| root and scale | the key the pitch effects work in. Drag to change. They start at the detected key. |
| scale quantise | moves every note of the result onto the scale |
| reset all | removes every pitch and rhythm block |
| ∗ | randomise all: places random pitch and rhythm effects, with random positions and curves |
| quantise | moves the notes onto a grid. Click to choose off, 4th, 8th, 16th or 32nd. |
| humanize | adds small random changes to timing and velocity. Drag the % to set how much. |
| bypass | plays the clip without the design effects, so you can compare |
| render | makes the designed clip the new starting point |
The effects run first. Then quantise moves the result onto the grid, and humanize runs last.
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.
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.
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.
| token | becomes |
|---|---|
{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
| control | what it does |
|---|---|
| source | finished 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 clip | Live 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 tracks | Live 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 .mid | writes 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. |
In Live, each write into your Set is one undo step. ⌘/Ctrl+Z in Live removes the whole write.
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.
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.
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.
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.
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.
- 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.
- In Live, on a track with your instrument, set MIDI From to Network Session 1. Then set Monitor to In, or arm the track.
- 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.
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.
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.
read a progression you recorded
You played in some pad chords and want to know what they are.
- Right-click the clip and choose Open in studio…. It opens on analyse, with the clip already read.
- Check the key readout, for example f major · 85% sure. If it is wrong, drag the root or the scale to set it yourself.
- Turn on chords and degrees. Every chord now shows its name and its role in the key.
- Turn on out-of-key. Red notes are outside the key. Some may be on purpose, and some may be mistakes.
- 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.
fix one bar of a pad progression
The progression works, except for one bar.
- Open the clip and go to the suggest tab.
- Use ‹ › until a suggestion names your bar, for example “recolour the a#maj7 bar: carries most of the tune.”
- Press space to hear it. Click original to compare, and click it again to go back.
- Click apply if you like it.
- 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.
reharmonise a loop
Keep the notes, change the chords under them.
- Open the clip and go to the harmonise tab. The progression appears as coloured chord blocks.
- Click a block to see other chords. Use ▶ to hear each one under your notes.
- lock the chords that already work. Press ∗ on the ones that do not.
- Give blocks a style, such as sustain, pick or arp. Click + bar to make the loop longer.
- 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.
add movement to static stabs
A flat part, locked to the grid, that needs movement.
- Open the clip and go to the design tab.
- Drag a gate block onto the lane to cut held notes into pulses. Stretch it over the bars you want.
- Add strum, swing or ratchet where the part should open up.
- On the field, try shimmer for climbing octave echoes or pedal for a held root note. Turn on scale quantise to stay in key.
- If the timing is too loose, set quantise to a grid. If it is then too tight, raise humanize.
- 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.
write it back, three ways
You have something you like and want to save it.
- Go to export. Set the naming, for example
{prefix}{name} {part} {index}. The file list updates as you type. - Pick the source: the finished chain, or its three stages.
- 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.
- Click to tracks for new clips on new tracks, in session or arrangement, with colours.
- 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.
audition through your own instrument
Live extension only.
Hear each change on the synth you will use in the track.
- Set up the network session once. Routing into Live has the steps (macOS: Audio MIDI Setup. Windows: rtpMIDI).
- In Live, on a MIDI track with your instrument, set MIDI From to the session and Monitor to In.
- In midi studio+, check that the voice is live.
- Step through suggestions, click chord blocks and drag design blocks. Every audition now plays through your instrument.
- 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.
build up changes with render
Make a series of changes, each one on top of the last.
- On harmonise, reharmonise the clip and click render. The new chords become the starting point. The chords are detected again and the blocks reset.
- Reharmonise that result. Or go to design, which works on what the harmonise tab made.
- Add blocks and click render again. The designed clip is now the starting point.
- Repeat until you are happy. ⌘/Ctrl+Z undoes each render in turn.
- 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.
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.
- Right-click any MIDI clip and choose Open in studio….
- Use ‹ n / n ›, bottom right, or ← → to move through every MIDI clip in the project. Copies of a clip count once.
- Work on each clip. Each one keeps its own changes as you move between them.
- 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.
turn a drum break into MIDI
Turn an audio drum loop into MIDI that you can play with any drum sound.
- Right-click the audio clip and choose Open in studio…. The hits appear as notes over the waveform, read as drums.
- Lower sense until it catches every hit you want. Raise min to drop very short ghost hits.
- Listen with the drums voice, or pick live to play it through your own kit.
- For more movement, go to design and add gate, ratchet, swing or push.
- 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.
keyboard
midi studio+ uses the same keys as sample studio+.
| key | what it does |
|---|---|
| 1 2 3 4 5 | go to analyse, suggest, harmonise, design or export. |
| Enter | go to the next tab. |
| space | play 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+Z | undo. Add ⇧ to redo. |
| Esc | cancel: close the window without writing anything. |
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.
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.
stop second-guessing your harmony.
luxcache.com/midi-studio · standalone + VST3 / AU + Ableton extension · macOS / Windows