MIDISketch Docs
Every control, shortcut and workflow in MIDISketch, on one page. MIDISketch is in early access, so a control can still move between versions.
Otonic has read this page and the setup guides and links the section it used. Powered by an AI model, so it can be wrong. To reach a human: elijah@eliotonic.com. Open the assistant.
VIDEO WALKTHROUGHSTwo videos, with a chapter for every tool
Chapters play up here. The sections below that a video covers carry a button that plays that part in place.
Overview & Concepts
MIDISketch is a piano roll plugin that lets you draw MIDI notes with per-note pitch curves, expression automation, and MPE output. It can host VST3/AU synths directly inside it, or route MIDI OUT to synths in your DAW. Sections can be arranged on its own Playlist, and each pattern can keep A / B / C save points.
Can it replace your DAW's piano roll? For writing and shaping parts, yes. Draw the notes, their bends and their expression in MIDISketch, and the synth in its Synth tab (or one on another track, through MIDI OUT) plays them straight from the plugin. The DAW keeps the track, the mixer and the song, or arrange inside MIDISketch on the Playlist. When you want the part as a MIDI clip on the DAW's timeline, drag the DRAG MIDI button (the top square of the roll's bottom-right corner buttons) into the DAW. It uses your last export settings, and with 2 or more notes selected it drags just those; click it for every export option. FILE → Export... also has a Drag to your DAW zone, see Export.
Two Output Modes
- MPE Mode: Each note plays on its own MIDI channel. Every note bends independently. Works with Serum 2, Vital, Phase Plant, Pigments, Surge XT, Diva, and other MPE synths.
- Pitch Wheel Mode (Mono Bend): All notes play on channel 1 with standard pitch wheel messages. The pitch wheel follows the newest active note with smooth sub-block interpolation. Configurable bend range (±2, ±12, ±24, ±48 semitones, or a custom value), set to the same number as the synth's wheel range. Works with every synth (Kontakt, Omnisphere 2, Massive, Sylenth1, etc.). Same editing tools as MPE mode; only the output differs, one wheel for all notes, so bends are not polyphonic. Best for monophonic leads. The output pill in the header reads
PWwith the bend range while it is active.
Switch modes from the settings gear → MIDI Settings..., or click the output pill in the header.
Set the Bend Range
Settings gear → MIDI Settings..., or click the output pill. MIDI Settings has three tabs: MPE & PITCH, MIDI IN and MIDI OUT. On MPE & PITCH, MODE picks MPE (Polyphonic) or Pitch Wheel, and PITCH BEND under it sets the bend range for the mode you picked: ±2, ±12, ±24, ±48, or Custom for any other value. The one rule is that the synth's pitch bend range and this one agree, in either mode. 48 is MIDISketch's MPE default and what most MPE synths expect, not a requirement: a synth fixed at ±12 works the moment MIDISketch is set to 12 as well. In MPE mode a Global Wheel row sets the global wheel, the channel 1 bend that moves every note together, when that wheel is on. The output pill in the header shows the mode and range, MPE: 48st or PW: 12st, and clicking it opens the same dialog. A smaller range also gives finer pitch steps, which matters for microtonal work: see How precise the pitch is.
Two Ways to Connect a Synth
- Host inside MIDISketch: Click the Synth tab to load any VST3 or AU synth directly inside the plugin.
- MIDI OUT to DAW: turn on MIDI Output under WHERE NOTES GO on the MIDI OUT tab of the settings gear → MIDI Settings... to route MIDISketch's output to a synth on another track. Internal Audio sits beside it; both can be on.
- MIDI OUT to hardware: on the same MIDI OUT tab, pick the port under HARDWARE PORT and MIDISketch sends to it directly, in the plugin and the standalone.
- Playback offset: under TIMING on the same tab, send playback a few ms early or late to line up with your DAW or gear, see Playback.
What is MPE?
MPE (MIDI Polyphonic Expression) assigns each note to its own MIDI channel, enabling per-note pitch bend, pressure (aftertouch), and slide (CC74). MIDISketch's MPE bend range is ±48 semitones by default. Most synths default to ±2, so raise the synth to 48 or lower MIDISketch to the synth's value; the two only have to agree.
Header Bar
The header runs across the top of the plugin.
| Element | Description |
|---|---|
| MIDISketch logo | The wordmark, the version beside it (the build you are running, such as v0.9.10.4) and a tag under it: PLUGIN, STANDALONE or MIDI FX. |
| Output pill | Reads MPE: 48st in MPE mode, with the global wheel range beside it when the wheel is on, or PW: 12st in Pitch Wheel mode, whatever range is set. With the experimental Multi-channel output on it reads MULTI with the channel range, see Output Channels. Click it to open MIDI Settings. Loading a synth that has no MPE shows a one-time note beside it. |
| BPM display | The tempo. In a DAW it always follows the host: a click on the number, on the − / + zones or the wheel only flashes Tempo follows your DAW - change it there. In the standalone, click the number to type a tempo; − / + step by 1 (Shift: 0.1) and the wheel by 5 (Shift: 0.5), from 20 to 999 BPM. Right-click it for Type BPM, Tap Tempo and Stretch MIDI to BPM, see below. While playing, its bottom edge shows one segment per beat of the bar, following the time signature: beat one lights in the theme accent, the other beats white, and beats already passed this bar are dimmed. |
| Transport pill | The speaker, Play/Pause, the Mic, REC, the metronome and LOOP, left to right, in one pill. The speaker mutes MIDISketch’s sound (its synth, Sampler, SF Loader or a hosted synth) while its MIDI keeps going, see Silencing MIDISketch. LOOP makes, toggles and commits the loop, see Loop Marker. A click on REC arms or disarms recording; REC widens to show MPE when MPE recording is armed. Right-click REC for Notes, Recording Settings... and per-lane CC arming. Right-click the metronome for its sound, see Playback. |
| Status pill | On the header’s centre line: a small live waveform, then a dot and PLAYING, DAW or IDLE. Once the Playlist is open or holds a song, the word adds ROLL or TIMELINE, whichever Play drives. See Header Waveform below. |
| Playback bar | Grid settings dropdown, the tuning fork (opens Tuning Snap), the snapping magnet, Groove, Scale Highlight, the playback mode (Playback: AUTO / TRIGGER / OFF, where OFF sends no notes at all), the cog after it (PLAYBACK SETTINGS in AUTO, the trigger setup in TRIGGER), and the Space: PLUGIN / DAW switch that decides what Space drives (not in the standalone). |
| FOLLOW / REVEAL | Follow toggles between Off and Playhead. Reveal (W) makes notes appear as the playhead reaches them. |
| FILE | Opens the FILE menu, see FILE Menu. |
| Undo / Redo | Ctrl/Cmd + Z to undo, Ctrl/Cmd + Shift + Z or Ctrl/Cmd + Y to redo, 100 steps. |
| Playlist | The clip-blocks icon (tooltip Playlist) just left of the mixer button opens the Playlist above the roll, see Playlist. It lights while the Playlist is open. In the MIDI FX build there is no mixer and the Playlist button takes its place. |
| Mixer | The three-fader icon (tooltip Mixer) shows or hides the mixer panel, see Effects & Mixer. |
| Mic | In the transport pill. Turns Voice to MIDI on and off. Right-click it for the voice settings. |
| Piano Roll / Synth | Switches between the roll and the hosted synth. Right-click it to unload the synth. |
| Settings gear | User Preferences..., MIDI Settings..., Audio Settings... (standalone), Recording Settings..., Change Design, Customize Shortcuts, Camera Settings... and Fullscreen (F11) (standalone). Listed under FILE Menu. |
Tempo Tools
Right-click the BPM display. In a DAW the host owns the tempo, so Type BPM... and Tap Tempo... are greyed there and only Stretch MIDI to BPM... works:
| Item | What it does |
|---|---|
| Type BPM... | Enter a tempo by hand. Standalone only. |
| Tap Tempo... | A TAP pad. The tempo is a rolling average of your last eight taps and applies live from the second tap, so you hear it lock in; two seconds of silence resets the count. Standalone only. |
| Stretch MIDI to BPM... | For a take recorded against the wrong tempo. Notes are stored in beats, so changing the tempo moves the audio and leaves the MIDI where it was. Stretch moves every note, CC point and trigger cue so the performance lands on the right beats at the new tempo, and the curves inside each note ride along untouched. Stretch re-times the MIDI only; Stretch + set BPM also changes the project tempo. One undo step. |
Also in the Header
- The Mixer button sits between FILE and the Synth / Piano Roll button and shows or hides the mixer panel, see Effects & Mixer. For new users the mixer starts closed.
- New users get two tips until they close them with the x: Click here to switch between the synth and the piano roll under the Synth / Piano Roll button, and one at the MPE pill about matching your synth’s bend range. They hide while a dialog is open.
- Fullscreen (standalone only) is the button right of the settings gear, the same as F11.
- In fullscreen on a MacBook with a notch, the header splits around the notch: the output pill and the transport sit left of it, the BPM and Follow / Reveal right of it. The BPM number fits its box at every UI scale.
- In a DAW, a dashed, dimmer line shows the host's edit cursor while the transport is stopped. Scrubbing the DAW timeline moves it, and with Follow on the roll scrolls to it, so you can navigate from the DAW without pressing play.
Header Waveform
The waveform in the status pill is a small live scope. It locks onto a note you are playing, so a held note draws a steady wave instead of a blur. Click it to open a full Visualizer.
| Right-click it for | What it does |
|---|---|
| Lock to | Lowest note (the default), Highest note, Last played note or Off (scrolling). |
| Cycles shown (locked) | How many cycles it shows while locked: Auto, 1, 2, 4 or 8. Auto picks by register. |
| Range (unlocked) | The time window while Lock to is Off: 30, 60, 100, 150 or 300 ms. |
| Gain | The height: Auto, 1x, 2x or 4x. |
| Style | Line draws the wave’s outline; Filled draws a solid wave from the centre line. Colour by volume (off by default) colours the wave green, then yellow, then red on the real peak; the Visualizer’s colour picker has a matching By volume box. Range, Gain, Style and Colour by volume are remembered. |
| Open Visualizer (O) | Opens a full Visualizer. |
| Tuning Snap... | A shortcut to the Tuning Snap window. |
| Hide from header | Removes the waveform. Bring it back from User Preferences > DISPLAY > Roll & Header > Header Waveform (not in the MIDI FX build). |
When the window gets narrow, the waveform narrows first. The version label hides before the waveform does, and the waveform only goes once the transport and the Synth / Piano Roll button have tightened.
Extras Dropdown (Grid Settings)
The small down-arrow button at the far left of the playback bar, the bar just under the MIDISketch logo, opens a dropdown menu with quick-access settings. Its hover hint reads Grid settings.
| Item | Description |
|---|---|
| Tune Points (T / Ctrl+T; T / Cmd+T on a Mac) | Opens the Tune dialog for the selection. T alone repeats your last Tune settings. Ctrl/Cmd+T reaches the dialog only when the Free Transform shortcut is turned off in User Preferences; by default it opens Free Transform. |
| MPE Defaults (Auto / Manual) | Default Pressure, Slide and Pan for new notes. Auto resets to centre on each note-on; Manual lets you set fixed starting values. |
| Computer Keyboard | Opens the Computer Keyboard window, where Keyboard MIDI: ON / OFF switches it (the item reads Computer Keyboard (On) while it is active). The window has the layout switch: QWERTY, AZERTY (French) or QWERTZ (German). See Computer Keyboard MIDI. |
| Hide / Show Points (Shift+P) | Hides every pitch point so you can read the curves on their own. |
| Groove (Shift+G) | Swing, accent and feel for the whole roll, with the current swing shown in the item. |
| Grid Division | The same menu as the division pill in the status bar, headed Snap / grid division: Auto (follows zoom), Auto triplet, an Auto density submenu (Sparse (finer lines later), Normal, Dense (1/16 sooner)), straight Bar, 1/4 (beat), 1/8, 1/16, 1/32 and 1/64, triplets 1/8T to 1/64T, and dotted 1/4D (dotted) to 1/32D. Picking a division turns time snapping on. |
| Time Signature | Submenu: Auto (follow host), then twelve common meters with the current one ticked. A meter change moves every bar line, so it applies when playback is stopped; the metronome, the count-in, bar readouts and MIDI export all follow it. A fresh instance follows the host; a loaded sketch keeps the meter it was written in. |
| Unghost All Notes / Delete All Ghost Notes | Unghost every ghosted note, or delete them all. Both grey out when there are none. |
| Pitch Division | Submenu: 12-TET (Standard), 17-EDO, 19-EDO, 22-EDO, 24-EDO (Quarter-tone), 31-EDO, 41-EDO, 53-EDO, or Custom... for 2 to 128. The current one is ticked and the item reads Pitch Division (N-EDO). See Pitch Division (EDO). |
Ramp, Strum, LFO, Chop, Unison and Arpeggiate are not in this menu; they live on the toolbar, on keys and in the right-click menu, with the current key shown next to each. Scale Highlight has its own button in the playback bar, and the Join and Ramp settings are panels beside the toolbar.
Tools
In the video: Stamp and pattern tool (16:33)Tools are selected via the toolbar icons or keyboard shortcuts. The tool keys can be rebound in Customize Shortcuts (settings gear, or ? → CUSTOMIZE SHORTCUTS).
| Tool | Default Key | Description |
|---|---|---|
| Pencil (Draw) | V / M | Draw notes and drag to extend. By default a right-click on a note opens its menu and a right-drag erases; with QUICK DELETE set for notes, a right-click erases. The hint bar reads RDrag: Erase or RClick: Erase to match. |
| Point | P | Select and move individual pitch curve points |
| Select (Highlight) | E / H | Box-select multiple notes, drag to move selection |
| Cut (Razor) | C | Click a note to split it at that position, or drag across notes to slice them. Hold Alt (Option on a Mac) to cut off the grid. Right segment auto-aligns its note-on pitch. Hold Cmd/Ctrl as you release to delete the part after the cut, or Shift to delete the part before. Both halves keep the note’s LFOs (pitch and expression), colour, opacity, solo and channel. |
| Brush | B | Paint notes freehand by dragging across the grid. Right-click locks pitch. Pick a colour (with a Recent row); the cursor tip shows the colour the next note gets. A stroke that turns back in time splits into one note per direction. Snap start to grid is off by default. |
| Stamp | S | Place chords from a family browser. Scroll to change chord, Shift+Scroll for inversions, Ctrl+Scroll for families (Cmd+Scroll on a Mac). On a Mac trackpad each gesture step moves one chord, and Shift cycles inversions there as it does on Windows. Includes bass mode, arp mode, and a custom chord creator with 2-octave piano keyboard. Saved patterns bake their LFOs into the curve and keep EDO tuning, so a stamped phrase sounds exactly as it was saved. |
| Perform | toolbar | Record pitch curves in real time by dragging during playback, after a count-in. Hold right-click to lock to the note while recording. Perform has no default key (T is Tune); give it one under Customize Shortcuts if you want one. |
Erasing
Hold X and drag to erase notes; a click with X held deletes one. On a Mac trackpad, Ctrl + drag does the same. With Hold-to-erase: erase on hover on (User Preferences → INPUT), every note the cursor passes over goes while X is held, no drag needed. A right-drag sweep-erases too, whichever Notes right-click mode is set (MENU or QUICK DELETE), even one that starts on a note; Quick Delete only changes what a right-click tap does.
Building a chord on a note (Stamp)
- Select a note and the Stamp tool’s Add chord builds a chord on it, with six arp patterns and octave choices. The chord sounds as you change it, tuned exactly as it will be placed.
- Hovering a note draws the chord a click would build on it as dashed outlines, with the tip Click: build chord here. Hovering makes no sound; the click selects the note, starts the build and plays the chord, looping while the button is held. Bass below and Root is bass set where the root sits, and you can set your own Hold to hear key in the Chords tab.
- A chord built on a bent note keeps its MPE: the ghosts show the bend,
Shift+Spaceplays the chord through with its bends and arp, a click plays a taste, and holding keeps it looping. - While you build, the chord plays under the playhead as it crosses each ghost.
Enterconfirms the build (the same as Add chord) andEsccancels it, keeping the note selected. A left- or right-click on empty roll ends it too; a left-click also clears the selection, and nothing is stamped. With CHORD PREVIEW on, holdingSpacepreviews the chord as well as the Hold to hear key. - The Stamp’s speaker sits at the right end of the Chords tab’s bottom row, beside Hold to hear and its key box, and reads CHORD PREVIEW or PREVIEW OFF. The label drops when a custom key and Reset fill the row; the label and the speaker both toggle it. Turning it off silences the Stamp’s previews at once, including a chord already sounding; it never mutes the song.
- The minimize button in the Stamp card’s top-right corner folds the card to a slim bar: a drag grip, three chips (chord family, chord and inversion), the CHORD PREVIEW speaker and a restore button that opens the full card again. A click on a chip steps to the next option and
Shift+click steps back, skipping empty families; the wheel still changes the chord. On the Patterns tab the bar shows one Patterns chip. Folded or open is remembered between sessions. - Pitch points and Bezier handles still edit in the Stamp tool: press a point or a handle, or
Alt+ drag a segment (Optionon a Mac), to shape the curve as in Pencil and Brush, and no chord is stamped. Handles show in the Stamp and Brush tools too.
The side tool bar
The side bar has eight buttons: Ramp, LFO, Strum, Join, Chop, Detune, Arp and Quantize. A click applies the tool straight away with its last settings. Before a tool has last settings, LFO, Strum, Chop, Detune and Quantize open their dialog instead, and Ramp applies its default shape. Arp always opens its dialog. Hover any other button and a small gear slides out to its left (tooltip <name> settings) to open that tool's settings. Join needs two or more selected notes, or points in the Point tool. If a tool's dialog is already open, the click brings it to the front, and a chevron collapses the bar. Chop can keep a rhythm you drew in the roll (right-click → Save as Chop Rhythm) and save its settings as presets, and running it on several notes keeps the chops they already have.
Piano Roll · Drawing Notes
In the video: Placing points and notes (2:51, v0.9.7)Active tool: Pencil (V)
| Action | Result |
|---|---|
| Left-click on empty grid | Create a new note |
| Left-click + drag right | Create note and set its length |
| Left-click + drag on note body | Move the note |
| Left-click + drag on note right edge | Resize (extend/shrink) |
| Left-click + drag on note left edge | Trim note start |
| Alt + drag on note edge | Resize without grid snap |
| Right-click + drag over notes | Erase notes (paint-erase). A right-drag that starts on a pitch point erases too. |
| Right-click on empty space | Deselect all |
| Alt + click on note body | Add a pitch point where you click. This is the default modifier; change it under settings gear → Customize Shortcuts → Modifiers → Add Pitch Points. |
| Alt + drag on a segment | Bend the segment under the cursor instead of placing a point. Nothing is placed until you release without dragging. |
| Alt + click or drag on a note with no pitch points | The note gets its flat line first (a point at each end, which sounds the same), so Alt + click adds a point and Alt + drag bends it like any other note. To move a note without grid snap, start the drag, then press Alt. |
| Shift + click on a segment or point | Add it to the current selection instead of replacing the selection |
| Shift + drag note body | Duplicate the note (instead of moving) |
| Press, then Ctrl/Cmd while dragging | Leave the pitch grid: a note you just placed, or one you are moving, lands between the keys as a bent note. Press first, then hold the key. Holding it before you press starts a selection box instead. |
| Pitch Snap off | Every note drag goes to exactly the pitch under the mouse, no key needed, including a quick drag on a bent note’s segment. A plain note (no pitch points, no LFO) stays a plain note: it keeps the offset as its fine tuning, up to 50 cents either way, and shows it on the note, for example C4 +23¢. Past half a semitone it moves to the next row and keeps the exact pitch, so it never sticks at ±50 cents. Hold Ctrl/Cmd during the drag to make it a bent note instead. |
| Pitch Snap on | A plain note dragged to another row lands on a whole semitone and drops its fine offset, and stays whole even if the drag comes back to its own row. Only a drag straight sideways keeps the offset, as do Shift + Up/Down. On an EDO grid or with Tuning Snap, those place the pitch instead. |
| Drag a bent note’s body (2 or more pitch points) | A quick drag moves just the segment under the cursor: its two pitch points move together and show their pitch as you go. With Pitch Snap on it moves in whole semitones; with Pitch Snap off, or Ctrl/Cmd held, it follows the mouse exactly. Alt frees the time. To move the whole note, press and hold for about a quarter second, then drag. |
| Drag the chevron past a selected bent note’s end | Lengthens the note. Every pitch point stays where it is, the faint end point included, and a new end point extends from it. One undo step. |
Moving a note plays it as you drag (User Preferences → SOUND → Hear Notes When You → Grab or move), at its exact sounding pitch, fine offset and bends included. SOUND → Previews → Moving a note picks how: Glide (the default) bends smoothly to the exact pitch and needs an MPE synth; Replay each key plays the note again at each new key, for samplers, drum kits and synths that keep their own bend range. Pitch Wheel output always replays.
Note Snapping
Notes snap to the active grid resolution. Grid adapts to zoom level. The division pill in the status bar, or Grid Division in the grid dropdown, picks Auto, Auto triplet, a straight, triplet or dotted division, and Auto density. Zoomed in, 16ths and finer stay visible without raising the grid opacity, and bar lines stay a clear step above beats. With Time Snap on, dragging or Shift-duplicating a note almost straight up or down (less than half a grid step sideways) keeps its exact time, so an off-grid note no longer jumps onto the grid. Drag further sideways and it snaps as usual; Alt moves freely. Grid lines and their strength are set in Design → GRID.
Bends stop at the top and bottom of the roll, MIDI 0 and 127, so a point can never be pushed somewhere you cannot reach it again. A dragged note stays on the cursor while the roll scrolls under it.
Piano Roll · Pitch Curves
Pitch bends are drawn on the note itself, right in the roll. Each note contains pitch points that define its pitch bend curve, and that curve is the bend your synth plays. Points are connected by lines with optional bezier handles for smooth curves.
To bend a note: double-click it, or Alt + click it, to add a pitch point, then drag the point up or down. Hold Shift while you drag to snap to semitones, and Alt + drag the line between two points to curve the slide. Alt + drag works on a plain note too: it bends as you drag.
Drag a point past the bend range and the status hint names the limit and the key the bend starts from, for example Max bend reached: +/-48 st from C4. To move the whole note, press its body, hold for a moment, then drag; a quick drag moves only the segment under the cursor.
Adding Pitch Points
| Action | Result |
|---|---|
| Double-click on note body | Add a pitch point at the curve's current value |
| Ctrl/Cmd + double-click | Add point at mouse position (free vertical) |
| Alt + double-click | Add point without horizontal grid snap |
| Alt + click on note body (Pencil/Point) | Add a pitch point where you click. Click and release places it; if you drag while holding Alt you bend the segment under the cursor instead. Alt is the default modifier and can be changed under settings gear → Customize Shortcuts → Modifiers → Add Pitch Points. |
| Shift + Alt + click on note body | Add a pitch point and add it to the current point selection, keeping what was selected |
Vibrato and LFOs on the Roll
Vibrato in MIDISketch is a non-destructive LFO that rides the pitch curve. You draw it straight onto the note and shape it there; the pitch points underneath stay editable, and the wave regenerates whenever they move. Every LFO has two layers of controls: the on-roll controls on the note itself for the everyday moves, and the LFO dialog for the shape of the wave and everything else.
Creating one: pull the amber line
- Select a note, or select one segment of it if only part of the note should shake. An amber line appears just above the selection.
- Drag the amber line up. The vibrato grows under it as you pull, and how far you pull sets the depth. The rate starts at 4 cycles per beat of the span, so it feels the same at any note length or tempo.
- Release. The run is live, and its on-roll controls are already showing.
On-roll controls
Tap the amber line on the crest of any existing run, or its blue post, to bring these up. Click away from the run to put them down.
| Control | What it does |
|---|---|
| Amber line on the crest of the wave | Drag up or down to scale the depth of the whole run. The readout at its right end shows the peak in semitones. |
| Amber points along that line | The depth envelope. Drag a point up or down to change the depth at that moment, sideways to move it in time. The wave redraws as you drag. |
| Double-click the line | Add a depth point there. It follows the mouse until you release, so you can place and shape in one move. |
| Alt + click and drag a depth point | Grow bezier handles on it and shape the curve. Alt + grab one handle to move it on its own; right-click a handle to reset it. Alt + click a point that already has handles removes them. |
| Right-click a depth point | Delete it. The first and last points stay. |
| Blue post standing mid-run, and the SPEED bar above it | Drag sideways to change how many cycles the run has. Hold Alt for values between whole cycles. |
| Press the post or the SPEED bar | Opens the speed envelope strip above the run. Drag its points to make the vibrato speed up or slow down over the course of the note; the top of the strip is full rate, the bottom is stopped. |
| SHAPE chip above the run | Shows the run's waveform. Click it to open the LFO dialog loaded with this run. |
| End posts at either end of the run | Drag one to move the run's first or last point in time. |
The LFO dialog
Open it from the SHAPE chip, with Ctrl/Cmd + L, from the LFO button that appears under a selected note or segment, or from the right-click menu. Everything in it previews live on the note while it is open.
- Shape: Sine, Triangle, Saw, Square, Random and Pluck, a preset browser that shows each preset's real curve, or draw your own shape on the canvas. Saved shapes live in the Shape Bank and are shared by every canvas.
- Depth up to 48 semitones, and speed in cycles per run.
- Depth and speed envelopes on their own canvases, with bezier handles and the presets Full, Fade In, Decay, Triangle and Swell. A Pluck wave with a Decay envelope is a bounce that dies away in two clicks.
- Square edges snap to the half cycle, and the
<>buttons nudge the phase by an eighth of a cycle: Shift-click for 1/64, Ctrl/Cmd-click for 1/4. - Apply keeps the run parametric, so you can come back and change it. Delete removes the run and leaves the pitch curve as it was.
Lapplies your last LFO settings to the selected notes without opening the dialog.- Expression lanes take LFOs the same way, with the same controls, see Expression Lanes.
- LFOs are saved with the session and travel with copied notes.
LFO details. The LFO dialog applies to every selected note, and so does Bake. Its live preview shows on every selected note. When it writes to more than one note, a SAME CYCLES / SAME SPEED switch on the cycles row decides how one LFO fits notes of different lengths: the same number of cycles on each (the default), or the same cycles per beat, so long and short notes wobble alike. The choice is remembered. On the dialog’s Speed tab, START, END or BOTH anchors a speed ramp, so you choose which end stays clean or keep the total cycle count; lock icons at the ends of the speed strip in the roll do the same, and one click on the blue speed bar shows the strip. Pluck and Sidechain are among the shapes. Right-click Convert vibrato to LFO and Polish Take work on the whole selection, as one undo step. With several notes selected, the right-click menu also has Polish Take, Remove Pitch Points and Delete LFOs for all of them.
Moving Pitch Points (Pencil / Point Tool)
| Action | Result |
|---|---|
| Click + drag on point | Move point freely |
| Shift held | Snap pitch to semitone |
| Drag with Scale Lock enabled | Snap to in-scale pitches. Ctrl/Cmd bypasses. |
| Drag a first or last point with several notes selected (Pencil) | The same point moves on every selected note by the same time and pitch; notes without bends take the same length change. Hold Shift while dragging to stretch every note instead, its curve scaled to the new length. Dragging an inner point (point N) moves point N only on the selected notes with the same number of points. A click on a selected note’s last point does not place a new note. |
Bezier Handles
| Action | Result |
|---|---|
| Alt + click on segment between two points | Bend the segment into a smooth bezier curve. This is how a slide or glide between two pitches gets its shape. |
| Alt + drag on segment | Shape the curve interactively: drag up or down to change its tension, so the slide moves fast and eases in, or eases out and snaps at the end. Middle-click drag does the same. Double middle-click on the segment resets it to a straight line. |
| Click on bezier handle | Select and drag an individual handle |
| Tap on handle (no drag) | Reset handle to linear |
| Alt + click on point → hold + drag | Create a mirrored pair of bezier handles and shape it in one continuous gesture (no need to add the point first, then bend separately). Middle-click does the same. |
Handles belong to the selected point, not the note. Selecting a note no longer lights up every handle it owns, which on a dense curve was a wall of knobs where the nearest one stole grabs meant for a point. A gesture that creates handles also selects the point it acted on, so the handles it made are visible and grabbable. Under about 4 px the gesture reads as a tap and resets the handle; over it, it creates.
Handles are drawn as diamonds. Hold a handle still for a moment to break or rejoin its pair, and hold a pitch point, then drag, to pull out a pair of handles. Smooth on the pitch point menu gives the selected points handles from their neighbours; Remove Smoothing takes them off again.
While you drag, a point’s label shows the note and the move in semitones, for example E6 +4st; cents appear only when a point is off the key. User Preferences → DISPLAY → Pitch labels switches between Cents and Semitones, and the LFO and Ramp depth readouts follow it.
Deleting Points
| Action | Result |
|---|---|
| Right-click on a pitch point | Delete it with a tap, or hold the button for the point’s menu. The same rule in every tool. Right-clicking a segment’s endpoint deletes that point alone. Tap and hold can swap: the Points row of Right-Click in User Preferences. |
| Double-click on existing point | Delete that point |
| Delete / Backspace (Point Tool, points selected) | Delete all selected points |
Point Tool Multi-Select
With the Point Tool (P):
| Action | Result |
|---|---|
| Click point | Select it |
| Shift + click | Add/remove from selection |
| Ctrl/Cmd + A | Select all points on selected notes |
| Shift + Up/Down | Move selected points ±1 semitone |
| Ctrl/Cmd + Up/Down | Move selected points ±1 octave |
| Alt + Up/Down | Move selected points ±10 cents |
| Ctrl/Cmd + Shift + T, or Adjust Timing... on a point’s menu | Move the selected points by ms, ticks, the grid or a note value, or to an exact position, with a live preview. A first or last point moves the note’s start or end. See Adjust Timing. |
| Delete | Delete the selected points. Undoable. |
| Two points picked on purpose | A transform box with eight handles appears: drag both points, scale them apart or together, or flatten the pair. Click the points in the Point tool or box them with the marquee. |
J with points across two notes | Joins the two notes through your Join settings. |
Ctrl/Cmd + T with points selected | Free Transform on just those points, warping them inside their notes. See Selection & Editing. |
The Ctrl marquee selects points outside the Point tool too, and those points own the keyboard the same way: Delete and Shift/Ctrl+Arrow act on them.
Clicking a segment replaces the point selection, it does not add to it. Use Shift to add. Holding a Pitch Point still no longer selects the whole note either, so you can press a point and pause to aim without the next drag hitting everything. Holding a segment for about a quarter second still selects the whole note with its bounding box; that gesture is deliberate and kept.
One Note That Opens Into a Chord
A note that starts as one pitch and ends as three. Producers call it a branch, a fan out, a split into voices, a unison that spreads into a chord. In MIDISketch it is three notes whose first pitch points sit on the same pitch. Each note is its own MPE voice, so each one bends along its own path.
- Draw the chord you want to end on: three notes starting at the same beat, one on each target pitch. Draw them one at a time with the Pencil, or drop a whole chord in one click with the Stamp tool (S).
- Switch to the Point tool (P). On each upper note, drag the first pitch point down to the root, the pitch where the lowest note begins. A note below the root gets its first point dragged up instead.
- Play it. All three start on the root and each curve travels to its own note. Shape how fast they open with Alt + drag on a segment, or add a pitch point partway along a note so it holds the unison for a while before it moves.
To go the other way, three notes that close into one, drag the last pitch points instead. The last point is the note's end, so drag it straight up or down to keep the length.
Two things that sound related but do something else. The Cut (Razor) tool (C) splits a note in time, one note becoming two shorter notes in a row, never into voices. Detuned Unison (U) stacks detuned copies of a note for width, a chorus rather than a chord.
Producer Terms, MIDISketch Names
Producers say slide, glide, scoop, tension. The plugin says pitch point, segment, bezier handle, LFO. Same things. This table maps the words you would use to the gesture that does it.
| You would say | In MIDISketch | How |
|---|---|---|
| Pitch bend, bend a note, draw a bend, where pitch bends go | Pitch points on the note | Bends are drawn on the note itself. Double-click the note body (or Alt + click it) to add a pitch point and drag it up or down; hold Shift to snap to semitones. See Pitch Curves. |
| Slide, glide, portamento, bend between two notes, pitch ride | A pitch curve on one note: the note starts on one pitch and its curve travels to the next | Double-click the note body to add a pitch point, drag it to the pitch you want, then Alt + drag the segment to shape the travel. See Pitch Curves. This is not the Slide lane. |
| Tension, curve shape, steepness, ease in, ease out, exponential or log curve, how fast the slide moves | The curvature of a segment | Alt + drag (or middle-click drag) on the segment between two pitch points. Drag one way and the slide moves early and eases in, the other way and it eases out and snaps. Double middle-click resets it to straight. For finer control, Alt + click a pitch point to grow bezier handles. |
| Scoop, fall, dive, rise, doink, pitch drop at the start or end | A short pitch curve at one end of the note | Add a pitch point near the start or the end of the note, drag it up or down, shape the segment with Alt + drag. The Stamp tool saves the shape so you can drop it on other notes. |
| Branch, fan out, one note that opens into three, unison that spreads into a chord, split into voices | Three notes whose first pitch points share one pitch | Draw the chord, then drag each upper note's first pitch point down to the root with the Point tool. See One Note That Opens Into a Chord. |
| Vibrato, wobble, shake, trill feel | An LFO run on the note or on one segment | Select the note or segment and press Ctrl/Cmd + L, or use the LFO button under the selection. Depth, speed and shape stay editable. See Vibrato. |
| Slide lane, MPE Y, CC74, timbre, brightness axis | The Slide expression lane | Paint it in the Slide tab of the expression panel under the roll. See Expression Lanes. Only this row is about the lane; every "slide" above is a pitch curve. |
| Pressure, aftertouch, MPE Z | The Pressure expression lane | Same panel, Pressure tab. |
| Automation, modulation of a synth knob | Expression lanes and parameter lanes | Learn a synth or effect parameter onto a lane and draw it with the same points and curves. See Plugin Parameters. |
| Connect, merge, combine or glue notes into one, one continuous note | Join | Select the notes and press J: they merge into one continuous note whose curve travels through each pitch in turn. Join Settings has a Smart mode for chords and previews the join live, with Apply and Cancel. In the Point tool, J merges the selected points instead. See Selection & Editing. |
| Keep a point on its pitch while moving it in time, pin a point, a point drifts off pitch | Arrow-key nudge, or Pitch Snap | Select the point and press Left or Right: it moves one step of the grid on screen (Shift for a whole beat, Ctrl/Cmd for a quarter step) and its pitch does not change. Dragging instead: turn Pitch Snap on from the snapping magnet in the playback bar, and a dragged point lands on whole semitones; Ctrl/Cmd frees one drag. See Selection & Editing. |
| Audition, scrub, hear only what is under the cursor, preview a chord in place, preview a small part | Edit preview, the selection grab, the loop, and from 0.9.9.8 the Alt scrub | Press a pitch point and the note plays at that point's pitch. With several notes selected, press one of them and every selected note under the mouse sounds together at that spot. For a stretch in time, drag the loop flags around it and play. From 0.9.9.8: hold Alt (Option on a Mac) and right-click the grid to hear every note at that moment, bends and pitch LFOs included, then drag to scrub through time, as in FL Studio. See Loop Marker. |
| Snap, grid, quantize, off-grid | Grid snap | Points snap to the grid. Alt + double-click adds a point with no horizontal snap. |
| Chord, stack, voicing, arp | Stamps and the arpeggiator | See Chord Stamps and Arpeggiator. |
Producer Terms: Setup and Sound
The same idea for output modes, bend range, samples and files: the words you would use, and what MIDISketch calls it.
| You would say | In MIDISketch | How |
|---|---|---|
| Legato, mono, one bend for every note, my synth has no MPE | Pitch Wheel mode | Every note on one channel with one pitch wheel, so a bend on one note moves every note sounding at the same time. See Which Synths Work. |
| Bring my MIDI in from the DAW, import a MIDI clip, get my Ableton or FL notes into MIDISketch | Import a MIDI file | Save the clip as a .mid from the DAW (in Ableton, drag the clip to your desktop), then drag the file onto MIDISketch’s roll: the notes land where you drop them. FILE → Import → Merge MIDI / MPE into the roll... adds a file to what is there, and FILE → Import → MIDI / MPE... replaces it. See FILE Menu. Importing keeps what was drawn: flat parts of a bend stay flat, ramps come back as their corners, plain notes come back without pitch points, tempo changes land on the right bars, and MPE files keep each note’s starting pressure, slide and pan. While you drag a .mid over the roll, its notes show where they will land, bends included. |
| Bend a sample, pitch a WAV, play my own samples, a one-shot with bends | The Sampler engine, or a synth that plays samples | Load the built-in instrument, pick SAMPLER on its engine switch and drop the file on it (WAV, AIFF, FLAC, OGG or MP3): it plays across the keys and every note bends on its own. Any VST3 or AU instrument that plays samples or wavetables, like Serum, Vital or Kontakt, works too in the Synth tab. Voice to MIDI is something else: it turns a recording into notes. See Built-In Engines. |
| Precision, accuracy, resolution, how many cents, is it precise enough for just intonation | Pitch precision | Notes and pitch points are stored far finer than a cent. What the synth hears is pitch bend, with steps of 0.59 cents at the ±48 default and 0.15 cents at ±12, so a smaller bend range is finer. MTS-ESP in the synth tunes exactly. See How precise the pitch is. |
| Microtonal grid, 5edo, 19-TET, 31-EDO, quarter tones, xenharmonic, a different number of notes per octave | Pitch Division (EDO) | The small down-arrow button at the far left of the playback bar → Pitch Division → pick the division, or Custom... for any number of steps from 2 to 128 (5-EDO is Custom... 5). The tuning fork beside it has the same choice. See Pitch Division (EDO). |
| Bend range, my slide only moves a little, the bend is tiny | Pitch bend range | The synth's range and MIDISketch's have to agree, in MPE or Pitch Wheel mode. 48 is only the MPE default: set either side to the other's value, MIDISketch's under PITCH BEND on the MPE & PITCH tab of MIDI Settings. See MPE & Pitch Bend Setup. |
| Audio to MIDI, convert a recording into MIDI, transcribe a guitar or a vocal, turn a bass line into notes | Voice to MIDI (the MIC button: a mic, anything on a DAW mixer track through the Audio Send, or a file), or the EXTRACT tab of Scan Audio | Live or from your DAW: click MIC in the header; with the Audio Send on a mixer track, anything that plays through it (a vocal, a guitar, a sampler) tracks into notes with their pitch curves. For a recording, open INPUT and pick FILE. Or in one click: drop the file on the roll (or FILE → Import → Scan Audio (Spectrogram)...), then Analyze and Accept on the EXTRACT tab, or turn on TRACE and draw over the spectrogram. Both follow one line at a time; chords are not separated yet. See Voice to MIDI and Spectral Analyzer. |
Piano Roll · Expression Lanes
In the video: Expression tab (4:00, v0.9.7) In the video: CC automation (2:53)A resizable expression panel sits below the note grid. It shows per-note automation curves for MPE expression data. To resize it, drag the top edge of its ruler up or down; the cursor turns to an up and down arrow on that line.
| Lane | Controls |
|---|---|
| Velocity | Strike and release velocity per note |
| Pressure | Per-note aftertouch (channel pressure) |
| Slide | CC74 slide expression (MPE Y-axis) |
| Pan | Per-note pan |
| CC Lanes | Arbitrary CC automation lanes |
Drawing Expression
| Action | Result |
|---|---|
| Left-click + drag on a note's expression area | Paint a value curve |
| Right-click + drag | Erase points |
| Click a point | Select it. It stays selected with its handles showing; Shift builds a multi-selection. |
| Right-click a point | Delete it. With several selected, the batch menu opens instead: Delete, Paste value, Add LFO... (2 or more), Simplify (3 or more) and Adjust Timing..., which moves the points by ms, ticks or the grid inside their note. |
| Alt + click on segment | A straight segment gets a bezier bend; a curved one is straightened, with both of its handles removed |
| Alt + drag on segment | Shape the bend |
| Alt + click a bezier handle | Remove that handle |
| Several notes selected, click in Pressure, Slide or Pan | Paints the same point onto all of them, and the drag moves them together. One undo step. |
| Ctrl/Cmd + C | Copy expression points from time selection |
| Ctrl/Cmd + V | Paste expression points (works cross-lane) |
| Ctrl/Cmd + Q | Simplify expression points (reduce density) |
Bezier handles stop at the lane’s floor and ceiling, so they never leave the panel. Undo and redo keep the selected note, so the editor stays open. The lane stays as you left it when you close and reopen the plugin window in a DAW, and its open state saves with the sketch.
The header keeps SIMP, REC and SNAP pinned at the right (a CC lane adds LOCK; the Velocity tab has REC alone); the lane tabs scroll with the wheel when there are more than fit. Right-click a tab for its colour. Inside an LFO region the base curve draws dashed, so you can see what the wave swings around.
Non-Destructive LFOs
Each expression lane supports non-destructive LFO modulation:
- For vibrato on pitch, the quickest route is the amber line above a selected note or segment: see Pitch Curves.
L= Apply LFO to selected notes (quick-apply with last settings, or opens dialog)Ctrl/Cmd + L= Open LFO dialog with full controls- Waveshape presets: Sine, Triangle, Saw, Square, Random, and drawable custom shapes
- Depth and speed envelope canvases with bezier curves
- Quick LFOs (
L) reuse the last speed and shape you applied - LFO metadata is saved/loaded with
.msand.mpefiles
CC Automation Lanes
Arbitrary MIDI CC lanes can be added below the expression panel. Each lane targets a specific CC number and MIDI channel. CC data can be recorded live from controllers when REC is armed.
A lane can also drive a hosted synth or effect parameter instead of a CC number. See Plugin Parameters (Learn).
Overdub behaves like DAW automation. Recording over a stretch of an existing lane replaces what was there rather than layering a second pass on top of it. Takes are simplified on the way in, and dense lanes stay editable rather than going flat past a density threshold.
| Action | Result |
|---|---|
| Add CC Lane (+ button) | Create a new CC automation lane with CC#/channel selector |
| Record CC data | Arm REC + play. Incoming CC messages are captured in real-time. |
| Export | CC lanes are written into MIDI export and drag-out as real controller events. Parameter lanes stay out of the MIDI stream. |
| Ctrl/Cmd + C | Copy expression/CC points from time selection |
| Ctrl/Cmd + V | Paste expression/CC points (works cross-lane) |
| Ctrl/Cmd + Q | Simplify expression points (reduce density while preserving shape) |
Piano Roll · Selection & Editing
In the video: Chop tool (9:02, v0.9.7) In the video: Detune unison (12:52, v0.9.7) In the video: Join tool (14:03, v0.9.7)Select Tool (Box Select), E / H
| Action | Result |
|---|---|
| Click + drag on empty area | Draw selection box |
| Click on note | Select that single note |
| Shift + click | Add/remove from selection |
| Ctrl/Cmd + click on a note (any tool) | Toggle that note in the selection |
| Ctrl/Cmd + drag (any tool) | Note marquee without switching tools |
| Ctrl/Cmd + Right-drag (any tool) | Point marquee: a fresh selection of pitch points, across notes. Ctrl/Cmd + Shift + Right-drag adds to it. The modifier is your Highlight Select binding, on the Modifiers tab of Customize Shortcuts (settings gear), Ctrl on Windows and Cmd on a Mac by default, and the Quick Start shows whatever you set. |
| Shift + Right-drag a note | Pull out a smart-linked copy, see below |
Moving & Transforming Selected Notes
| Action | Result |
|---|---|
| Drag selected note(s) | Move all selected notes |
| Shift + Up/Down | Transpose ±1 semitone. With points or a segment lit, only those move; otherwise the whole note. With nothing selected, Shift + Up/Down and Ctrl/Cmd + Up/Down transpose every note in the roll. With Scale Highlight and scale lock on, Shift + Up/Down steps each note to the next in-scale note, and on an EDO grid it steps one grid degree. Whether the view follows is a preference: Never, Leaves view (the default: it moves only when a note would leave the screen) or Always, under User Preferences > Editing. |
| Ctrl/Cmd + Shift + Up/Down | Duplicate the selected notes a semitone up or down (one degree on an EDO grid) and keep moving the copy with each press within 1.5 seconds. It needs a note selection. |
| Ctrl/Cmd + Up/Down | Transpose ±1 octave, same rule |
| Left / Right | Nudge the selection by one step of the grid on screen (Auto gets finer as you zoom in), Shift for a whole beat, Ctrl/Cmd for a quarter of a grid step. With nothing selected, Left / Right pan the view by one beat (Shift: one bar), and Ctrl/Cmd + Left / Right are left to your DAW. Bare Up / Down always scroll the view vertically. |
| Alt + Up/Down | With pitch points or a segment selected: move them 10 cents. |
| Ctrl/Cmd + B | Duplicate the selection right after itself (FL Studio style). Ctrl/Cmd + Shift + B places the copy before it instead. |
| Ctrl/Cmd + C / V / X | Copy / Paste / Cut. Paste lands at the playhead with no menu in between; Ctrl/Cmd + Shift + V pastes as smart-linked copies. |
| Drag a handle of the selection box | The box has 8 handles, at the corners and the edge midpoints, with the Select tool, the Stamp tool or a Pencil selection that shows the box. Dragging one scales the selected notes in time and pitch, and their bends scale with them. With Pitch Snap off, or Ctrl/Cmd held, notes land on exact scaled pitches and move smoothly with the mouse; with Pitch Snap on each note lands on a whole row and keeps its own fine tuning, or steps on the EDO grid. Time follows the Time Snap toggle, and Ctrl/Cmd frees it. A selection one row tall scales only in time. The smallest size is 1/4 beat and 1 semitone. |
| Drag a pitch point with several notes selected | Group point drag: drag one note’s first or last pitch point and the same point moves on every selected note; notes without bends take the same length change. Shift stretches each note instead, its curve scaled. Dragging inner point N moves point N on every selected note with the same number of points. |
| Group drag of points or segments | Points or segments selected across several notes move together and snap by the group's shared delta, so a chord keeps its intervals and still lands on pitches. Ctrl/Cmd frees it. |
| Ctrl/Cmd + D or Ctrl/Cmd + Shift + A | Deselect all, including the ruler and lane time selections |
N | Align Note-On: shift pitch to match first pitch point |
Editing Dialogs (selection required)
| Key | Dialog | Description |
|---|---|---|
R | Quick Ramp | Apply pitch ramp to start/end of notes. 5 shape presets + drawable canvas. Ctrl+R (Cmd+R on a Mac) opens the full dialog. While it is open, Ctrl/Cmd + Z and Ctrl/Cmd + Shift + Z step back and forward through the dialog’s own settings. |
G | Strum | Apply strum timing to chord. Up/Down/Random directions, Maintain Length toggle. Ctrl+G (Cmd+G on a Mac) opens the full dialog. |
K | Chop | Slice notes into 2–256 subdivisions. Speed, Velocity and Gap curves share one tabbed canvas; the rhythm list holds swings, offsets and patterns, while even divisions come from Slices mode. Non-destructive until baked, and Bake keeps the expression curves. Ctrl+K (Cmd+K on a Mac) opens the full dialog. |
U | Unison | Create detuned unison voices with drawable depth envelope. |
L | LFO | Apply LFO modulation. Ctrl+L (Cmd+L on a Mac) opens the full dialog. |
J | Join | Merge selected notes into one continuous note. In Point Tool, merges selected points. Ctrl+J (Cmd+J on a Mac) opens Join Settings, which has a Smart mode for chords: each voice joins from the pitch it ended on to the next note, in order and without crossing, with a new voice past a ninth. The dialog previews the join on the roll as you change it: Apply (Enter) keeps it as one undo step, Cancel (Esc) puts the notes back. Randomize, Min and Max are remembered, the Seed button rerolls the transitions, and Smart or Plain saves with the project. |
T | Tune | Repeat the last Tune settings on the selection: just intonation, EDO, historical or Scala tunings against a root. The full dialog is Tune Points in the grid dropdown, or Tune in the right-click menu. |
Q | Quantize | Repeat the last quantize on the selection. Shift+Q opens the dialog. |
Shift+G | Groove | Swing, accent and feel for the whole roll. No selection needed. |
Ctrl+T / Cmd+T | Free Transform | A distort box on the selection, see below. The shortcut can be turned off in User Preferences, which hands Ctrl/Cmd+T to the Tune dialog. |
Ctrl+Shift+T / Cmd+Shift+T | Adjust Timing | Moves the selected notes, or the selected pitch or expression points. See Adjust Timing below. |
All editing dialogs display "Quick Apply: [key] Settings: Ctrl+[key]" next to the title (Cmd+[key] on a Mac). These hints update dynamically when shortcuts are rebound. While a dialog that previews its result on the roll is open, Ctrl/Cmd + Z doesn’t undo your project; the status line says Undo is paused while this window is open: Cancel to revert.
Adjust Timing (Ctrl/Cmd + Shift + T)
Moves the selected notes, or the selected pitch or expression points, by an exact amount.
- Move by: an amount in ms, ticks (960 per quarter), Grid, 1/16, 1/32 or 1/64 (negative = earlier).
- Move to: a position as Bar.beat.tick (like
3.2.240) or Seconds. - What moves (notes): Whole note, Start only or End only; the curves stretch with the note.
- The roll shows the result live. APPLY (Enter) is one undo step, CANCEL (Esc) puts everything back, and Up / Down step the value.
- It is also in the right-click menu of notes, pitch points and expression points, and it remembers your last settings.
- Repeat Timing Adjust repeats the last Move by. It has no key by default; bind one in Customize Shortcuts.
Free Transform (Ctrl/Cmd + T)
Box a selection and warp it. The box runs through the lowest and highest pitch you can hear, bends included, so a warp anchors to the sound. Everything previews live, and Enter applies it as one undo step; Esc cancels.
The toolbar above the box has MOVE POINTS / REFIT, the two SNAP padlocks, APPLY (Enter) and CANCEL (Esc). Tab switches MOVE POINTS and REFIT, pressing Ctrl/Cmd + T again applies, and Ctrl/Cmd + Y or Ctrl/Cmd + Shift + Z redoes a mesh step. Space still plays, a middle-drag away from a node pans, and Alt + click on a border line adds one slice across it. Other keys are ignored while the box is up. The shortcut is the Free Transform (Ctrl+T) toggle under User Preferences > Editing (Free Transform (Cmd+T) on a Mac), on by default.
| Action | Result |
|---|---|
| Drag a corner | Corner-pin the selection; the curves warp with it |
| Drag an edge or the inside | Scale or move |
| Drag just outside a corner | Rotate. Shift steps by 15°. |
| Shift + drag a node | Moves its mirror too; the direction you start in picks the axis |
| Alt + click inside the box | Place a crosshair slice. Shift snaps it to the grid. |
| Right-click a slice line or crossing | Remove that slice, or both at a crossing. Delete after grabbing a node does the same. |
| Alt or middle-drag a node | Pull bezier handles, so the edges curve |
| SNAP (time and pitch) | Snapping per axis, off by default; Ctrl inverts it while dragging |
| Ctrl/Cmd + Z inside the box | Undo one gesture without leaving the transform |
MOVE POINTS warps the existing pitch points; REFIT resamples the curve through the warp with the fewest points that match. Chops and LFOs ride along. It works on a point selection too, warping only those points inside their notes. The ruler stays clickable while the box is up.
Quick Detune
Pull the top or bottom handle of a single note’s selection box to fan the note into detuned unison voices. The pull snaps to half-semitone steps; hold Ctrl/Cmd to free it to any cent value. The wheel or Up/Down sets the voice count, from 2 to 9, while you pull. It only starts on a single selected note whose curve spans one row. On release a depth rail above the group shapes the spread over time. Enter bakes it, Esc restores the note.
Simplify (Ctrl/Cmd + Q)
The pitch Simplify card runs the same pipeline as recorded takes: holds stay flat, turning points survive, glides collapse to a fitted curve. Set the strength in cents, Musical or Geometric, curve fit, a pitch quantize (OFF, 1/4 or 1/2 semitone, SEMI or WHOLE tone; with an EDO grid on, OFF, 1 STEP or 2 STEPS of the grid, landing on the grid’s own pitches), on every point or LEVELS ONLY, time snap, or one of the lean / balanced / detail presets. The card shows the point count before and after and how far the result strays, live. Advanced settings fold away under ADVANCED.
Flip & Transform
| Action | Result |
|---|---|
| Right-click 2 or more selected notes → Flip Horizontal (Reverse) | Mirror the selection in time (retrograde) |
| Right-click 2 or more selected notes → Flip Vertical | Mirror the selection in pitch (inversion) |
| Right-click menu → Free Transform... (Ctrl+T) | Corner-pin the selection with a distort box; the curves warp with it |
| Right-click 2 or more selected notes → Time-Stretch (BPM match)... | Re-time a selection recorded at another tempo: enter its source BPM and it lands on this project's grid |
| Right-click → Adjust Timing... (Ctrl/Cmd+Shift+T) | Move notes by ms, ticks or grid steps, or to an exact position (see Adjust Timing) |
| Right-click → Remove Pitch Points | Flattens the note, or every selected note, at its own pitch: pitch points and pitch LFOs go, pressure / slide / pan stay. One undo step. |
| Right-click 2 or more selected notes → Delete LFOs | Removes the pitch and expression LFOs from every selected note at once; the points they sat between stay. |
| Right-click → Polish Take | The recording’s final cleanup, on one note or every selected note at once (see Record Settings) |
Time Selection
| Action | Result |
|---|---|
| Drag in the ruler with the Select tool, or right-drag (or double-click, then drag) with the Pencil or Point tool | Create a time selection range. When you let go, the notes it touches are selected and the playhead marker moves to its start. |
| Right-drag from a loop flag | Also creates a time selection |
| Click in header | Move playhead marker |
| The small x on the red selection | Clears the time selection in one click. The selection no longer loops playback on its own, see Loop Marker. |
| The arrows on the red selection’s edges | Drag one to lengthen or shorten the selection from that side; the other edge stays put. Works with any tool. |
Repeat a Span and Duplicate
While the selection box shows, a duplicate button sits to its right. Click it for one copy right after the selection, or drag it right for more. Tabs above the box set the span that repeats, so you can leave a gap or an overlap. One undo takes all the copies back. With Time Snap on, the span rounds out to the grid lines around the selection (start down, end up), so the copies stay on the grid even when the last note ends just short of a line. Once you drag a tab, the span is yours and stays as you set it. To copy before the selection instead, drag the button left or press Cmd/Ctrl+Shift+B.
Copies made by paste, duplicate, Shift-drag or Ctrl+B are independent notes. Only the Smart-Linked commands link, and a link shares the shape but not velocity, key or colour.
Stacked Notes
A note hidden under another is hatched, and a short note resting on a longer one shows a groove. A click picks the note drawn on top. Right-click offers Select note underneath and Remove duplicate notes.
Over a note’s edge the cursor is a plain arrow; where two notes touch, the side it will grab lights up. Cmd/Ctrl+D or Cmd/Ctrl+Shift+A deselects everything.
Smart-Linked Copies
A smart-linked copy is a clone that stays tied to its source. A link shares only the shape: length, pitch curve, pressure / slide / pan curves, pitch and expression LFOs, and chop. Each copy keeps its own start, key, fine tuning, velocity, colour, opacity, ghost / solo, channel and thickness. Edit the shape of any member and the rest catch up when the gesture ends.
- Make one with Shift + Right-drag on a note, with Duplicate After (Smart-Linked) in the right-click menu (with a ruler selection it reads Duplicate to Ruler Selection (Smart-Linked) and the copies start at the selection), or by pasting with Ctrl/Cmd + Shift + V.
- A link badge on each member shows the group. In Reveal mode the badges light up as the playhead reaches them.
- To make a member independent again, click its link badge (hover hint Smart copy link | Click: unlink). Unlink Smart Copies opens with an Unlink button; it unlinks every selected linked note, or just that note if it isn't selected. The right-click menu has no Unlink item. A plain Duplicate After never inherits links.
Playback
In the video: Auto and Trigger modes (7:48)MIDISketch supports local playback (independent of DAW) and DAW-synced playback.
| Action | Result |
|---|---|
Space | Play or stop, from the time selection’s start when one is active, else from the playhead marker. In a DAW with Space set to DAW, the key goes to the DAW instead, on Windows and Mac. With PLUGIN while the DAW plays, the first press stops the DAW. |
Space (Perform tool / REC armed) | With the Perform tool, Space always counts in one bar first. With REC armed it counts in only while COUNT-IN is on in Recording Settings (on by default); otherwise recording starts at once. Space again cancels the count-in. |
Escape | Closes an open dialog or modal, cancels a Stamp build, or leaves standalone fullscreen. When none of those applies, it is MIDI Panic: it kills all stuck notes on all channels. |
The playback mode sits in the bar as three segments side by side: AUTO (follows the DAW transport), TRIGGER (cues fire from MIDI notes, from a keyboard or from clips and patterns in the DAW, see Trigger Mode) and OFF (no MIDI out; the choice is remembered). A cog sits after OFF. In AUTO it opens PLAYBACK SETTINGS: Start at bar (fractions work: 1.25, 1.5, 1.75), Loop count (1 plays once, 2 repeats once, 0 loops forever) and APPLY / CANCEL. Whether notes you draw or edit during playback sound is set in User Preferences > SOUND > Previews > During playback: Hear edits (the default) or Silent. In TRIGGER the same cog opens MIDI Trigger Setup. The Space: PLUGIN / DAW pill beside it is a toggle for what the spacebar drives: the in-plugin preview, or the DAW transport, which depends on the host. With PLUGIN and your DAW already playing, Space stops the DAW first (a message says so) and the next Space plays MIDISketch; in TRIGGER, Space plays MIDISketch over the running DAW instead. With DAW, Space starts and stops the DAW on Windows and on a Mac, where the DAW’s own count-in or pre-roll applies instead of MIDISketch’s. It isn’t shown in the standalone.
Playback offset. In MIDI Settings → MIDI OUT → TIMING, it sends the sketch’s playback early (−) or late (+) by up to 250 ms, for gear that sounds late (for example −11 ms).
- It moves notes, curves and CC lanes on every output (the DAW track, the hardware port and MIDISketch’s own synth). Loops stay whole and no latency is added in your DAW.
- − / + step 1 ms (Shift: 10 ms). Click the value to type it; an empty box means Off.
- It is Off by default, saves with the project, and has no effect in TRIGGER.
- While it is on, an amber PLAYBACK +N ms tag sits at the top left of the roll.
- It is separate from Record timing offset, which shifts what you record.
While playing, the piano keys light the notes that sound and follow each note’s bend, gliding from key to key.
Metronome
The click follows the time signature: it counts the notated beat and accents the downbeat in any meter, and the record count-in is one bar of clicks at the same rate.
Built-in click track with bar/beat distinction. Toggle it with the metronome button in the header’s transport pill; the button pulses on the beat. Right-click the button for the METRONOME popup: CLICK / TONE / MIDI, a volume slider (double-click for 100%), and for MIDI the Note and Ch steppers (default note 69, A4, on channel 16, played through your synth). Beat 1 plays a fifth higher and louder. The default sound is CLICK, or MIDI in the MIDI FX build. The sound (Click, Tone or MIDI note) and the volume are also under User Preferences > SOUND > Metronome. The volume saves with the project.
MIDI Recording
| Action | Result |
|---|---|
| REC button in the transport pill | A click arms or disarms recording. The next Space triggers the count-in (if COUNT-IN is on) and the recording. |
| Play MIDI keyboard / controller | Notes are captured in real-time with MPE expression |
| QWERTY keyboard | Play notes via the built-in Computer Keyboard, laid out as two piano octaves (Z and Q are both C, an octave apart), see Computer Keyboard MIDI. - / = shift octave. |
Record Settings
A left-click on REC only arms or disarms. The Recording modal opens from right-click REC → Recording Settings..., a right-click on the in-roll REC ARMED chip, or the settings gear → Recording Settings.... It has two columns: on the left RECORD EXPRESSION, PITCH BEND RANGE and CAPTURE; on the right SIMPLIFY TAKES, LFO CAPTURE, Preserve fine tuning, Record timing offset, COUNT-IN and Record raw and simplified.
- Simplify takes: Musical, Geometric or Off, with separate strength sliders for pitch and expression. The defaults are Musical at 100% pitch and 75% expression. At 100% pitch, Musical also runs the final polish: levels snap to the nearest semitone (the nearest grid step with an EDO grid on), glides become clean curves, and timing is lightly tightened to the grid. Turn it below 100% to keep more of the performed detail.
- Preserve fine tuning: keeps just intonation, EDO and other deliberate detuning through the cleanup, which would otherwise snap anything within 35 cents of a semitone. Off by default.
- LFO Capture: steady vibrato in a take becomes a real, editable LFO instead of a cloud of points.
- Record raw and simplified: keeps a silent ghost of the raw take beside the simplified one, for comparing. Session only.
- Record timing offset (Recording Settings): a -/+ stepper in 5 ms steps, -150 to +150 ms, default 0 (+ shifts recorded notes later). It shifts every recorded event by that fixed amount, because players tend to strike slightly ahead of the click. Notes, bends, pressure and CCs move together.
- Polish Take in the right-click menu runs the same final pass on any existing note, or on every selected note at once (one undo step).
Recording is transport-driven. There is one way in: arm, then roll. Free-running record (capturing with the transport stopped) has been removed, because it was a second lifecycle with its own way of leaving a note open. A note still held when the transport stops is now closed properly rather than being left to run.
Live Recording Visualization
Notes appear and grow in real-time during recording. Both standard MIDI and MPE recording show:
- Semi-transparent note bodies that extend as recording progresses
- Pulsing red recording border with a bright growing edge
- Live pitch curves, pressure, and slide expression drawn from a lock-free audio→UI snapshot
- ~23Hz visual refresh rate for smooth feedback
MPE Expression Fidelity
When recording with MPE controllers (Seaboard, ERAE Touch, Osmose, Push 3), MIDISketch captures pressure, slide and pan alongside pitch, at up to ~4x the usual sample density, and simplifies the take afterwards. How to connect the controller, match its bend range and choose what gets captured is in Recording an MPE Controller.
MIDI Triggers
Up to 16 cues, with up to 8 sounding at once, and MIDI Learn. Fire them from a keyboard or controller, or from notes in your DAW's clips and patterns: the full walkthrough is in Trigger Mode.
- ANY KEY, and All Octaves as the OCT checkbox in each cue row (hidden while the cue is on ANY KEY)
- Loop While Held option
- The AUTO / TRIGGER / OFF segments in the playback bar
- Diamond markers on the ruler
- Make MIDI trigger from the selection in the ruler’s right-click menu turns a red time selection into a cue
- The MIDI Trigger Setup dialog sizes itself to its rows and can pop out into its own window
- Note names use the FL Studio convention, where MIDI note 60 is C5, the same as the keyboard on the roll
- Loop markers work in Trigger mode: spacebar playback honours the region, and cues keep their own loop settings
Silencing MIDISketch
Two switches, both in the header. The speaker just left of Play mutes MIDISketch’s sound, whether it comes from the built-in synth, the Sampler, the SF Loader or a synth loaded inside it, while its MIDI keeps going to anything else it drives. Setting the playback mode to OFF stops it sending notes at all; AUTO or TRIGGER brings them back, and the mode is remembered. With OFF, Space doesn’t start playback and shows Output is disabled, with Click AUTO or TRIGGER to turn it back on under it. In FL Studio the Channel Rack’s mute light does neither, because FL keeps running the plugin and only stops the pattern’s notes: see Muting MIDISketch in FL Studio.
Hear What Is Under the Cursor
Hold Alt and right-click the grid, then drag to scrub: the notes under the cursor play, bends included, and stop when you let go. On a Mac use Option + right-click (a two-finger click) or Option + Ctrl + click, then drag. The cursor turns into a speaker, the keys light as the notes sound, and the glow follows a bent note’s curve. With the Stamp tool active, the stamp’s chord sounds too.
Playlist · Arranging Inside MIDISketch
Early work in progress. The Playlist is new and still being built. It arranges a song from patterns today, and lots of updates are on the way.
The Playlist is a timeline above the roll where you arrange a whole song. Build each section as a pattern, drop patterns onto the timeline as clips, and play the arrangement instead of one loop. Open it with the Playlist button, a clip-blocks icon just left of the mixer button in the header. It shares the roll’s time axis, so the two never drift apart.
The song drives playback only when the Playlist is open, the Playlist’s ruler was the last ruler you used, and the arrangement is more than one plain full-length clip. Dragging the roll’s playhead marker hands playback back to the roll (the open pattern only); clicking the Playlist ruler hands it back to the song.
While the timeline has no clips, or just one clip that plays like the roll (unmuted, not a trigger clip, and not trimmed from the left), MIDISketch plays the roll exactly as it always has. That clip’s length isn’t checked, so trimming its right edge changes nothing: the whole roll still plays. The arrangement takes over once you place more clips or move that one.
Patterns and Clips
| Action | Result |
|---|---|
| + in the pattern list | New Pattern (1 bar long), or New Trigger Pattern (a 4-beat pattern named Triggers) for a clip that fires from a MIDI note. Copies are named “<name> copy”. |
| Click a pattern in the list | Opens it in the roll straight away, so you edit that section |
| Drag a pattern onto the timeline | Places a clip of it, landing on a whole beat |
| Drag a clip | Move it. It snaps to the beat; hold Ctrl/Cmd while dragging to place it freely. |
| Drag a clip’s edges | Trim it. The right edge stops at the end of the pattern (from 0.9.9.8, at the last bar with notes) and the left edge at its start, so a clip is never longer than its pattern. A note the new start cuts into still plays from the cut, and a trimmed clip releases where it ends. Edge trims snap to the beat (Ctrl/Cmd frees them), and the shortest clip is 1/4 beat. |
| Double-click a clip | Opens its pattern in the roll, with the bar numbers counting song bars |
| Shift + drag a clip | Duplicate it: the copy moves, the original stays |
| Right-click a clip | Open in Roll, Duplicate (the copy lands right after it), Make Unique (its own copy of the pattern, offered when another clip uses the same pattern), Mute (Unmute on a muted clip), Rename... and Delete |
| Right-click a pattern in the list | Open in Roll, Duplicate, Rename... and Delete. Delete works once no clip uses the pattern and it is not open in the roll; the pattern holding the sketch’s own notes stays. |
| Double-click a pattern name | Rename it. Every clip still carrying its name follows; a clip you named yourself keeps its own. |
| Red dot on a pattern row | Arms it for recording, without switching the roll |
| Click or drag in the Playlist ruler | Move the transport, so you can start from anywhere in the song. It seeks to whole beats unless Ctrl/Cmd is held. The Playlist ruler and clip lengths are always in 4/4. |
Clip colour says what a clip does. A pattern clip wears the theme accent; trigger clips and recorded clips use the theme’s second accent (blue only on some themes), and recorded clips get a [T] prefix on their name. A clip’s own colour overrides these, and muted clips are desaturated. Each clip shows a small preview of its notes with their bends.
Pattern Length
Every pattern has a fixed length, set when it is made: Pattern 1 is 16 beats (4 bars of 4/4) and a pattern from + → New Pattern is 4 beats (1 bar). Duplicate and Make Unique keep the length of the pattern they copy. The length cannot be changed yet in this version.
- The roll can show more bars than a pattern holds, so a pattern can look 8 bars long in the roll and still be 4. Once you arrange, a clip plays its pattern only up to the pattern’s end: notes past it are left out, and a note that crosses it is cut there.
- That is also why a clip’s right edge stops where it does: at the end of its pattern.
Since 0.9.9.8: a clip runs as far as its pattern’s notes go. Write bars 5 to 8 into a 4-bar pattern and its clip drops onto the timeline 8 bars long, stretches to bar 8 and plays them all. A note that only hangs over the pattern’s end does not lengthen the clip.
For a section longer than its pattern, split it across patterns and place them back to back, for example bars 1 to 4 in one pattern and bars 5 to 8 in the next. To play a section again, place its pattern again: Shift + drag a clip, or right-click it → Duplicate. Copies stay linked to one pattern, so an edit shows up in every copy; Make Unique gives one clip its own.
Navigation
The Playlist navigates like the roll, only while the pointer is over it: Ctrl/Cmd + wheel zooms time around the beat under the pointer, a trackpad pinch zooms around the pointer, the wheel or Shift + wheel scrolls, and a middle-drag pans. The pattern list shows about six patterns at 100% scale and does not scroll yet, so patterns past that can’t be reached from the list.
In a DAW
The Playlist follows the host: it reads the song clock, chases into a clip that is already playing when you start mid-song, and releases cleanly on stop. Trigger clips in the Playlist work with Trigger Mode the same way a cue does.
The whole arrangement, patterns with their notes and CC lanes, the clips and their names, saves with the sketch. Autosave watches every pattern. Audio export and the Song range of MIDI export use the whole song only while the arrangement is driving playback (see above); otherwise they export the sketch’s own pattern. Sketches from earlier versions open unchanged.
Save Points (A / B / C)
Save points keep alternative versions of a pattern, so you can try an idea and compare it with the last one without losing either. Each pattern holds up to eight. They live in the STATES card: the clock button at the bottom right of the roll opens and closes it.
| Action | Result |
|---|---|
| + LOG (in the STATES card’s title row) | Saves the live notes and CC lanes as a new state, A, B, C and on, and makes it current. Each state carries a thumbnail of its notes. |
| Click a state | Switch to it. While the roll plays the switch waits for the next loop and rides in at the seam; stopped, it happens at once. |
| Double-click a state | Rename it |
| Right-click a state | Switch now, Rename, Keep this one (drop the others) or Delete |
Edits belong to the state that is lit and are stored into it when you switch away. A switch with nothing lit logs your live notes first, so no edit is ever lost. Switching, renaming, keeping and deleting are each one undo step, and undo cancels a switch that is still waiting for the loop. Logging sits outside the undo history, so undo can never remove a save point you made on purpose.
Save points are refused, with the reason on screen, while Free Transform or the LFO dialog is open, while recording, and while another instance’s MIDI is swapped in through Link (States are paused / Switch back from the Link edit first - states are per instance). With all eight used, + LOG greys out and a log attempt shows States are full / 8 per pattern - delete one first. While the Playlist drives playback a switch is immediate. States save with the sketch; an older build opens the sketch and plays the state you last heard.
Switching states from your DAW (Automatable State)
MIDISketch has a DAW parameter called State. Automate it and your DAW switches states mid-song. Its value picks a row by the number on the left of the STATES card: Off leaves switching to you, and 1 to 8 pick the states. The parameter moves in steps, so the automation never sweeps through the states in between.
- DAW switch in the card sets when a change lands: Instant (the default, saved with the project; notes already sounding are picked up), Next bar or Next loop.
- The rail beside the rows shows where the automation sits, with ticks where it switches, so you can draw the curve to land well inside a state. The card’s ? explains the setup.
- While the parameter is on a state, the card reads DAW automation: State 2 (the numbers below) (or whichever). While a switch waits it reads, in amber, Switching to B at the next loop (or at the next bar, now, when playback starts). Clicking a state yourself still waits for the loop.
- With no states the card reads No states yet - + LOG saves this sketch as A. The live state is marked (editing), and each row shows its note count.
Arranging Sketches from Your DAW (Trigger Mode)
MIDISketch has its own Playlist for arranging inside the plugin, but you do not need it to arrange a sketch. In Trigger mode a MIDI note from the DAW plays the sketch, so an Ableton clip, an FL Studio pattern, a Logic region or a REAPER item is the thing you arrange, and your session view, playlist or timeline does the rest. Play the same notes from a keyboard and the sketch is a live instrument.
The whole thing, for one idea
- Click TRIGGER in the playback bar. The mode sits there as three segments side by side, AUTO, TRIGGER and OFF.
- Put any MIDI note in a clip or pattern on the MIDISketch track, as long as you want the sketch to play.
That is it. When the DAW reaches the note the sketch plays from the start, loops for as long as the note is held, and stops when the note ends. Out of the box any note does this, so there is nothing to map.
Several sections, each on its own note
For more than one idea, click the cog after OFF, at the end of AUTO | TRIGGER | OFF (in TRIGGER mode it opens the trigger setup; in AUTO it opens PLAYBACK SETTINGS), to open MIDI Trigger Setup. Popped out, its window is MIDI Triggers - MIDISketch. Give each section of the roll a cue: a name (double-click it to open Rename Trigger), a trigger note in the KEY field, and a start and end beat. To learn a note, right-click the KEY field, or click it and choose LEARN (play a key): it reads LISTENING... and the row WAITING until you play, then Learned. Each cue’s colour is assigned automatically and shows on its enable dot and in the ruler. The selected cue shows as a coloured band in the ruler, drag its edges to set the region, and every cue leaves a diamond marker there. Then write each cue's note into its own clip or pattern, bars 1 to 8 on one note and 9 to 16 on another, and the DAW arranges them. Note names follow the FL Studio convention, where MIDI note 60 is C5, the same as the keyboard on the roll.
A quicker way for one section: drag a red time selection over it, right-click the ruler and choose Make MIDI trigger from the selection. The item names the key, the next free one from C4 up. The cue is added on that key, and if you were in AUTO or OFF, playback switches to TRIGGER; a message says how to switch back. With all 16 cues in use the item reads Make MIDI trigger (all 16 in use) and is greyed.
How the cues behave
- Loop While Held is on by default: the region loops for as long as the note lasts, so a two-bar hook under an eight-bar note plays four times. Off, the cue plays its region once through and stops on its own.
- Up to 16 cues, and up to eight can sound at once. In Mono mode one cue plays at a time and a new trigger note takes over at once, jumping to its own start. In Poly mode cues stack, each on its own clock.
- Trigger notes never reach the synth, so nothing sounds but the sketch. Other MIDI on the track passes through and plays as normal.
- The KEY field can read ANY KEY (its menu item is ALL KEYS (any note)). An ANY KEY cue fires only for notes that no specific cue claims. All Octaves is the OCT checkbox in a cue row, hidden while the cue is on ANY KEY; it lets any octave of the cue’s note fire it. New cues from + Add Trigger get their own note (48 upward) with ANY KEY off, and take their range from the selection.
- Live modulation lives in the collapsible MOD MATRIX section (collapsed by default, tagged All Triggers). + Add Route adds up to 16 routes. Sources: Velocity (trigger key) (the default), Note Bend, Pressure (Aftertouch), Slide (CC74), Pitch Wheel, Mod Wheel (CC1), Expression (CC11) and More CCs.... Targets: Pitch, Pressure, Slide (CC74), Velocity and CC. A mode pill switches Ovr (override) and Add (with an anchor slider), and the binding is Global (all voices), Follow Trigger (per-cue) or Cue-Bound.
- Each cue row also has an enable/mute dot; LOOP BACK (default Auto: Auto (start), 1 Beat from End, 1 Bar from End, 2 Bars from End, Bar 2/3/5/9 or Custom (beat)..., shown as a dashed marker in the ruler); SYNC (Off, 2 beat, 1 bar, 2 bar, 4 bar, 8 bar, 16 bar or 32 bar; a click cycles it and a right-click opens a menu); END (default Loop End, following the loop marker); and a delete x. The dialog has a pop-out / dock button, and its footer reads Note-On = Start | Note-Off = Stop | Drag markers to set range.
- Loop markers still work: the spacebar honours the loop region, and each cue keeps its own loop settings.
Several sketches at once
Regions on one roll with a cue each is the quickest way. For ideas that need their own synth or scale, load one MIDISketch per track and give each its own trigger notes; every instance keeps its own cues. The other route is the DRAG MIDI button at the bottom right of the roll, or FILE → Export... and its Drag to your DAW zone: export a section as MIDI and drop it straight into the DAW's clip slots or playlist, where it plays without MIDISketch at all. Inside MIDISketch, the Playlist holds sections as patterns, and the Stamp tool is for chords.
Tie At Loop, a chip beside Loop While Held in Trigger Setup, sustains a note across the loop seam when the pass starts on the same note number that is still sounding, instead of retriggering it. It only acts while Loop While Held is also on. A pad held across the whole loop never retriggers while the key is down. Trigger mode only; a loop-marker wrap in AUTO still retriggers.
The Playlist is the other way to arrange: patterns and clips on a timeline inside MIDISketch, including trigger clips that fire a pattern from a note. Trigger mode stays the way to play a sketch live.
In Poly MIDI Trigger, lane automation follows the cue being played.
Recording an MPE Controller
A ROLI Seaboard, Osmose, ERAE Touch, Push 3, LinnStrument or any other MPE controller can be recorded straight into the roll, with every bend, pressure and slide movement landing on the note as editable points. There are two ways to get its MIDI into MIDISketch, and which one you need depends on your DAW.
An ordinary MIDI keyboard, or a controller with its MPE mode off, goes in the same way and records the notes with their velocity. The bends and expression are then drawn onto the notes.
Way one: through the DAW
The controller is set up as an input in the DAW and the DAW routes it to the track MIDISketch sits on. This is the normal route in Ableton Live, Bitwig, Logic Pro and REAPER, which pass per-note MPE through to a plugin. The top of the Recording modal then reads DAW MIDI: on (keys / piano roll pass through).
Way two: directly, for FL Studio and any DAW without MPE pass-through
FL Studio flattens MPE before it reaches a plugin, and some other hosts do the same, so a controller routed through them arrives with its expression stripped. The fix is to let MIDISketch open the controller itself:
- Open the settings gear → MIDI Settings... and its MIDI IN tab. MIDI Settings has three tabs, MPE & PITCH, MIDI IN and MIDI OUT, and reopens on the last one you used. The Recording modal’s MIDI Settings chip opens MIDI IN directly.
- Under MIDI INPUT, click the row for your controller to enable it. Each row shows a lamp and its state: receiving while notes arrive, Ns since last note, connected, idle when the device is alive but untouched, on - nothing yet, off, or in use elsewhere when another program holds the port. The lamp is lit in the accent colour when on, grey when off and red when it failed, and it pulses while receiving. Controllers that expose several ports (an ERAE 2 does) need every port switched on.
- If the DAW is also feeding the same controller into MIDISketch, turn off DAW input (host MIDI) in the HOST section of the same tab (it then reads Muted until reopen - notes from the DAW are ignored). Otherwise every note arrives twice on different MPE channels and each becomes two half-voices with separate bend. This lasts for the session only: it is back on every time MIDISketch opens.
- Play something. The controller’s row reads receiving and its lamp pulses. The line under the list only appears when no port is enabled: No ports enabled - host MIDI only.
This works in every format, plugin and standalone. Hot-plugged devices appear in the list within a few seconds. In the standalone the same list is the only way in, and there is no host to ignore, so that toggle is hidden. On its first run the standalone switches on every controller it finds and says so (MIDI input enabled: <name> or N MIDI inputs enabled); the plugins enable nothing on their own. Turning ports off afterwards keeps them off.
Match the bend range
The controller's pitch bend range and the PITCH BEND RANGE in the Recording modal have to agree, or every recorded bend lands at the wrong size. It offers Auto (N), 24st, 48st and 96st. The default is Auto, which follows the MPE bend range in MIDI Settings (48 unless you changed it), so it reads Auto (48); the hint says Match your controller - Seaboard, Osmose and Push 3 use 48st. If your controller is set to another range, either change it on the controller or pick the same value in the modal.
Choose what the take captures
A left-click on REC arms or disarms. The Recording modal is under right-click REC → Recording Settings..., a right-click on the REC ARMED chip in the roll, or the gear → Recording Settings.... At the top, a green dot lights when MIDI arrived in the last two seconds, and the source is named: in a plugin DAW MIDI: on (keys / piano roll pass through) or DAW MIDI: ignored, then Receiving MIDI, Waiting for MIDI or Also direct: <devices>; in the standalone Inputs: <devices> or No MIDI inputs enabled. A MIDI Settings chip opens the MIDI IN tab. Below that the modal has two columns.
Left column:
- RECORD EXPRESSION: Pitch (always on, not clickable), Pressure (on), Slide (on) and Pan (off by default). Disarm a dimension you do not want printed onto the notes.
- PITCH BEND RANGE: see above.
- CAPTURE: Standard or High sample. High sample records about three times as many events with a much finer value threshold, keeps every one of them, and bypasses simplification: SIMPLIFY TAKES is replaced by Bypassed - High sample keeps every event (~0.2 cent tolerance).
Right column:
- SIMPLIFY TAKES: Musical, Geometric or Off, with separate Pitch and Expression strength sliders (hidden when Off). Musical at full pitch strength also snaps levels to the nearest semitone (the nearest grid step with an EDO grid on), cleans glides into curves and lightly tightens timing; lower it to keep more of the performance.
- LFO CAPTURE: Replace performed vibrato with editable LFOs: steady vibrato in the take becomes a real, editable LFO instead of a cloud of points.
- Preserve fine tuning (JI / EDO / microtonal) protects deliberate detuning through the cleanup.
- Record timing offset: a -/+ stepper in 5 ms steps, ±150 ms, which shifts the whole take (+ shifts recorded notes later).
- COUNT-IN: 4 beats of click before the take.
- Record raw and simplified: keeps a silent ghost of the raw, high-density take next to the simplified one, so you can compare the two and decide which to keep. Session only.
Done closes the modal.
Then record
- Press REC to arm. An in-roll REC ARMED chip appears, with an Armed for recording panel listing Notes, the per-note dimensions (Pitch bend, Pressure, Slide (CC74), Pan (CC10)), CC LANES, and ADD + ARM A LANE (Mod Wheel, Pitch Bend, Aftertouch, Expression, Breath, Sustain). Pitch bend can be switched off here, unlike in the modal.
- Press
Space. With COUNT-IN on (the default), one bar of count-in clicks plays, then recording starts with the transport. - Play. Notes appear and grow in real time with their pitch, pressure and slide curves.
- Each note starts at the pressure, slide and pan your controller sent just before it (within 100 ms of the note-on), instead of jumping in from a default value.
- Stop the transport. Any note still held is closed cleanly.
Escapeis MIDI panic if something sticks.
If nothing arrives
- on - nothing yet: the port is on and silent. Play something, and check the controller is sending on that port.
- In use elsewhere: another program, often the DAW itself, holds the port. On Windows a MIDI input belongs to one program at a time. Remove it from the DAW's MIDI inputs, or use the DAW route instead.
- Host suspended: FL Studio's Smart Disable and similar features stop calling a plugin that is not audible, so MIDI piles up and nothing plays. The MIDI IN tab says so when it happens: Host has suspended MIDISketch - turn off Smart Disable for this plugin. Turn Smart Disable off for MIDISketch.
- Wrong notes flickering, or every note doubled: the DAW is routing MIDISketch's own output port back in. The MIDI OUT tab shows, under Passthrough: Your DAW is routing this port back into MIDISketch - echo blocked. Remove it from the DAW's MIDI inputs. Remove the port from the DAW's MIDI inputs.
- One bend moves every held note: the controller is sending all voices on a single channel. Check its layout or mode is set to MPE.
Loop Marker
There is one loop, between a start flag and an end flag. The flags hang just below the ruler, so the bar numbers stay readable. Playback before the start runs once as a lead-in, then the region loops. Loop settings save with the sketch and survive closing the plugin window, and the loop works in Trigger mode too.
| Action | Result |
|---|---|
| Click the waiting end flag | On a fresh sketch the end flag waits beside bar 1. A click makes a loop to the last bar (4 bars on an empty roll); a drag sets the end where you drop it. |
| Click the end flag | Turn the loop off or back on. A left-click on the start flag starts a drag instead, and a right-click on either flag also toggles the loop (no menu). With the loop off, the start flag is hidden and only the end flag shows, dimmed; the start flag can only be dragged while the loop is on. |
| Drag the start or end flag | Move where the loop begins or ends. Bar 1 is the default start. |
| Loop button (a loop glyph in the transport pill, right of the metronome, lit in the accent colour while the loop is on) | Makes a loop from nothing, toggles an existing one, or commits a waiting selection. Its tooltip says what the next click will do, and an amber dot means a selection is waiting. |
| Red time selection | Does not loop by itself. Outlined amber flags show where the loop would go until LOOP or the ruler’s right-click menu commits it. |
| Right-click the ruler | The loop commands: Set loop markers to the selection (x - y b) (only with a selection), Set loop markers on bar N, Loop from bar N to the end, Enable loop / Disable loop, and Clear loop markers (back to the waiting flag). With a selection, it also has Make MIDI trigger from the selection (see Trigger Mode). |
| Right-drag from a flag | Make a time selection instead |
| In a DAW with its transport playing | The DAW’s own loop is in charge. The flags stay as they are; a grey HOST label appears in the ruler right of the end flag (once a loop exists). The loop button greys, hides its amber dot, and its tooltip becomes Loop: your DAW's loop is in charge while it plays. |
| Playback Start Line (User Preferences > Display > Playback, off by default) | A dashed line marking where this playback began, the spot Space returns to. A second option, Stopped Playhead Line (also off), marks where playback stopped (in a DAW, where its cursor sits while stopped). |
| View Before Bar 1 (User Preferences > Editing) | Lets the view scroll a little before the song starts so bar 1 can sit mid-screen. On for new installs. Manual panning only. |
| FILE → New Workspace | Resets the loop to the fresh state: no loop, the end flag waiting beside bar 1. |
AI and OTONIC
MIDISketch uses no AI. No model runs inside the app, and nothing you draw, play, record or scan is sent to one. Pitch detection, the audio extractors and Voice to MIDI are signal processing on your machine.
OTONIC is the MIDISketch assistant on this website: an AI that has read this documentation and the setup guides, so you can ask it how to do things in MIDISketch. It lives at eliotonic.com/otonic and in the Ask box at the top of this page, not in the app, and the app sends it nothing.
Keyboard Shortcuts · Full Reference
In the video: Customize shortcuts (6:40, v0.9.7)Every default key, with the Windows and Mac keys side by side. On a Mac, Ctrl in a Windows shortcut is Cmd and Alt is Option.
Customizing Shortcuts
Open the shortcut editor from ? → CUSTOMIZE SHORTCUTS, the settings gear → Customize Shortcuts, or User Preferences > INPUT → EDIT KEYS. It has two tabs, Keys and Modifiers.
- Only the keys listed in the editor can be rebound: the seven tools,
J,L,R,G,K,U,T,Y,Z,F,O,W,`,/(?) andX, plus Repeat Timing Adjust, which has no default key: give it one and it repeats your last Adjust Timing move on the selection (Move by only).N(Align Note-On) andQ(repeat the last quantize) are fixed. - Click an action, then press the new key. A + slot adds an alternate key. Rebinding a key that is already in use takes it from the other action and says so (Unbound "Name" (was K)).
- Reset Defaults puts every key back, and Done closes the editor. Your keys are kept between sessions.
- The Ctrl/Cmd versions of J, L, R, G, K and T, and Shift+O, follow the base key: rebind Strum and Ctrl/Cmd plus the new key opens the Strum dialog.
The Modifiers tab sets Highlight Select (default Ctrl, Cmd on a Mac: “Click+drag to box-select notes”) and Add Pitch Points (default Alt, Option on a Mac: “Click on note to place pitch point”). Clicking a key badge cycles Ctrl (Cmd), Alt (Option), Shift and, on a Mac, the physical Ctrl key. If both use the same modifier the tab shows Conflicts with ... and Done is blocked.
Tools
| Action | Windows | Mac |
|---|---|---|
| Pencil (Draw) tool | V or M | V or M |
| Point tool | P | P |
| Select (Highlight) tool | E or H | E or H |
| Cut (Razor) tool | C | C |
| Brush tool | B | B |
| Stamp tool | S | S |
The Perform tool has no default key; it is on the toolbar, and you can give it one in the shortcut editor.
Editing
| Action | Windows | Mac |
|---|---|---|
| Join the selected notes (2+); in the Point tool with 2+ points, merge them | J | J |
| Join settings | Ctrl+J | Cmd+J |
| Quick LFO (last settings; the dialog if there are none yet) | L | L |
| LFO dialog | Ctrl+L | Cmd+L |
| Quick Ramp (last or default settings) | R | R |
| Ramp dialog | Ctrl+R | Cmd+R |
| Quick Strum (the dialog if there are no settings yet) | G | G |
| Strum dialog | Ctrl+G | Cmd+G |
| Quick Chop (the dialog if there are no settings yet) | K | K |
| Chop dialog | Ctrl+K | Cmd+K |
| Detuned Unison dialog | U | U |
| Quick Tune (last settings; the dialog if there are none yet) | T | T |
| Free Transform (with its preference on, the default); otherwise the Tune dialog | Ctrl+T | Cmd+T |
| Equation to MIDI window (rebindable as Equation; also FILE → Equation to MIDI...) | Y | Y |
| Hold to erase: hold, then click a note or drag across notes (does nothing while Computer Keyboard MIDI is on) | X | X |
| Align Note-On (fixed) | N | N |
| Repeat the last quantize, or apply the open Quantize dialog (fixed) | Q | Q |
| Quantize dialog (needs a selection) | Shift+Q | Shift+Q |
| Groove dialog | Shift+G | Shift+G |
| Adjust Timing (needs a selection; with points lit it moves the points) | Ctrl+Shift+T | Cmd+Shift+T |
| Repeat the last Adjust Timing (no default key; set one in the shortcut editor) | none | none |
| Show / hide pitch points | Shift+P | Shift+P |
| Simplify points (on a CC lane with no note selected: the lane) | Ctrl+Q | Cmd+Q |
| Delete the selected notes, points or lane points | Delete or Backspace | Delete or Backspace |
View
| Action | Windows | Mac |
|---|---|---|
| Zoom to fit (the selection, or all notes) | Z | Z |
| Follow: Off / Playhead | F | F |
| Open another Visualizer (bound to the selected note when one is selected) | O | O |
| Close all Visualizers | Shift+O | Shift+O |
| Reveal mode (in the Perform tool, W cycles the wheel axis) | W | W |
| Compare the top two visible scan layers | ` | ` |
| Help overlay | / or ? | / or ? |
Playback
| Action | Windows | Mac |
|---|---|---|
| Play / Stop. Counts in one bar with REC armed and COUNT-IN on, or in the Perform tool (Space again cancels the count-in) | Space | Space |
| MIDI Panic, once no dialog, modal or Stamp build is open to close first | Esc | Esc |
| Performance overlay; while it shows, C copies a performance report | F10 | F10 |
| Leave / toggle fullscreen (standalone) | Esc / F11 | Esc / F11 |
Undo, Clipboard and Selection
| Action | Windows | Mac |
|---|---|---|
| Undo (100 steps) | Ctrl+Z | Cmd+Z |
| Redo | Ctrl+Shift+Z or Ctrl+Y | Cmd+Shift+Z or Cmd+Y |
| Select all notes (Point tool: all points) | Ctrl+A | Cmd+A |
| Deselect all, including the ruler and lane time selections | Ctrl+D or Ctrl+Shift+A | Cmd+D or Cmd+Shift+A |
| Copy notes (lane points when a lane time selection is active) | Ctrl+C | Cmd+C |
| Cut notes | Ctrl+X | Cmd+X |
| Paste at the playhead (lane points into the active lane) | Ctrl+V | Cmd+V |
| Paste as smart-linked copies | Ctrl+Shift+V | Cmd+Shift+V |
| Save the sketch (Save As the first time) | Ctrl+S | Cmd+S |
| Duplicate the selection after it | Ctrl+B | Cmd+B |
| Duplicate the selection before it (refused with “No room before the song start for a copy” if it would start before beat 0) | Ctrl+Shift+B | Cmd+Shift+B |
Moving and Transposing
| Action | Windows | Mac |
|---|---|---|
| Nudge the selection one grid step (Shift: 1 beat); with nothing selected, pan the view 1 beat (Shift: 1 bar) | Left / Right | Left / Right |
| Nudge the selection a quarter grid step | Ctrl+Left / Ctrl+Right | Cmd+Left / Cmd+Right |
| Move selected pitch points or a segment 10 cents | Alt+Up / Alt+Down | Option+Up / Option+Down |
| Scroll the view vertically | Up / Down | Up / Down |
| Transpose ±1 semitone: lit points first; nothing selected: every note; with scale lock: the next in-scale note; on an EDO grid: one degree | Shift+Up / Shift+Down | Shift+Up / Shift+Down |
| Transpose ±1 octave (lit points first; nothing selected: every note) | Ctrl+Up / Ctrl+Down | Cmd+Up / Cmd+Down |
| Duplicate a semitone away (one degree on an EDO grid); keep pressing to move the copy | Ctrl+Shift+Up / Ctrl+Shift+Down | Cmd+Shift+Up / Cmd+Shift+Down |
Alt+Left / Right does nothing in the roll. With nothing selected, Ctrl/Cmd+Left / Right is left to the host.
Stamp Tool
| Action | Windows | Mac |
|---|---|---|
| Confirm the chord build (the same as Add chord) | Enter | Return |
| Cancel the chord build | Esc | Esc |
| Arm the chord preview and play (with CHORD PREVIEW on; with it off, Space just plays the song) | Space | Space |
| Hold to audition the stamp, with its bends, LFOs and arp steps, looping until you let go (the default key; pick another in the Chords tab) | Shift+Space | Shift+Space |
Perform Tool
| Action | Windows | Mac |
|---|---|---|
| Cycle the wheel axis: None / Pressure / Slide / Pan | W | W |
Computer Keyboard MIDI
Only while Computer Keyboard MIDI is on: the letter rows play notes, and - / = (or +) shift the octave, on Windows and Mac. The rows follow the QWERTY, AZERTY or QWERTZ layout you pick; see Computer Keyboard MIDI.
Keys Inside a Mode
| Where | Action | Windows | Mac |
|---|---|---|---|
| Equation window | Place the notes | Ctrl+Enter | Cmd+Return |
| Equation window | Cancel | Esc | Esc |
| Free Transform | Apply | Enter or Ctrl+T | Return or Cmd+T |
| Free Transform | Cancel | Esc | Esc |
| Free Transform | Switch MOVE POINTS / REFIT | Tab | Tab |
| Free Transform | Mesh undo / redo | Ctrl+Z / Ctrl+Y or Ctrl+Shift+Z | Cmd+Z / Cmd+Y or Cmd+Shift+Z |
| Free Transform | Remove the slices through the last grabbed node | Delete or Backspace | Delete or Backspace |
| Adjust Timing | Apply / cancel | Enter / Esc | Return / Esc |
| Adjust Timing | Step the value | Up / Down | Up / Down |
| Ramp window | Step back / forward through its own settings | Ctrl+Z / Ctrl+Shift+Z or Ctrl+Y | Cmd+Z / Cmd+Shift+Z or Cmd+Y |
| Other windows that preview into the notes (LFO, Strum, Chop, Arpeggiate, Detuned Unison, Quantize, Groove, Tune, Simplify, Adjust Timing) | Undo / redo pause until you Apply or Cancel | Ctrl+Z | Cmd+Z |
| Quick Detune | Apply / cancel | Enter / Esc | Return / Esc |
| Quick Detune | Voices +1 / -1 (2 to 9) | Up / Down | Up / Down |
| Help overlay | Search / delete a character / close | type / Backspace / ? or / or Esc | same |
| Shortcut editor | Cancel the capture / remove the alternate key | Esc / Delete or Backspace | same |
Mouse and Modifier Gestures
| Gesture | Windows | Mac |
|---|---|---|
| Box-select pitch points in any tool (add Shift to extend) | Ctrl+right-drag | Cmd+right-drag |
| Box-select notes in the drawing tools (the Highlight Select modifier) | Ctrl+drag | Cmd+drag |
| Add a pitch point on a note (the Add Pitch Points modifier) | Alt+click | Option+click |
| Smart-linked copy of a note | Shift+right-drag | Shift+right-drag |
| Duplicate notes | Shift+drag a note | Shift+drag a note |
| Erase sweep | right-drag | right-drag, or Ctrl+drag |
| Hear the notes at a moment, bends and pitch LFOs included | Alt+right-drag | Option+right-drag |
| Bend a note with no pitch points | Alt+drag the note | Option+drag the note |
| Bend a curve (bezier) | Alt+drag or middle-drag on a segment | Option+drag or middle-drag on a segment |
| Point drag: XY snap / free vertical / free time | Shift / Ctrl / Alt while dragging | Shift / Cmd / Option while dragging |
| Create / remove bezier handles on a point | Alt+drag / Alt+click (or the middle button) | Option+drag / Option+click |
| Reset a segment to straight | Alt+double-click the segment | Option+double-click the segment |
Group point drag with several notes selected (Shift stretches) | drag a pitch point | drag a pitch point |
| Scale the selection by its box handles (Ctrl/Cmd frees it) | drag a box handle | drag a box handle |
| Ghost / unghost paint | double-right-click and drag | double-right-click and drag |
| Cut tool: slice and delete the part after / before | Ctrl / Shift at release | Cmd / Shift at release |
| Pan vertically / horizontally | wheel / Shift+wheel | wheel / Shift+wheel |
| Zoom time / pitch at the cursor | Ctrl+wheel / Alt+wheel | Cmd+wheel / Option+wheel |
| Grab and pan | middle-drag | middle-drag |
| Lengthen or shorten the red ruler selection (any tool) | drag the arrow on either edge | drag the arrow on either edge |
| Stamp: chord type / inversion / family | wheel / Shift+wheel / Ctrl+wheel | wheel / Shift+wheel / Cmd+wheel |
| Perform: lock to the note while recording | hold the right button | hold the right button |
| Brush: lock to the note while painting | right-click while painting | right-click while painting |
| BPM box in the standalone: fine step of 0.1 on − / + | Shift+click | Shift+click |
Ghost Notes
Ghost notes are dimmed and play silently: a part you can see but not hear, for reference while you write around it.
Double right-click and swipe through the notes to ghost them. Hold the second click and drag across the notes, with any tool. The first note you cross decides the stroke: a normal note makes it ghost, a ghosted note makes it unghost. One undo takes the whole stroke back.
The other way: right-click a note or a selection and choose Ghost, or Unghost on ghosted notes.
Ghost notes stay out of MIDI export and drag-out. Unghost All Notes and Delete All Ghost Notes are in the grid dropdown, and User Preferences can hide ghosts while the transport is playing.
Arpeggiator
In the video: Arpeggiate tool (16:01, v0.9.7)Accessed via right-click → Arpeggiate N notes on selected notes, or the Arp button in the side tool bar. The Arpeggiate window has:
- Pattern: Up, Down, U/D, D/U, Conv (converging from both ends), Rand
- Rate: a note value: 1 Bar, 1/2, 1/4, 1/8 (the default), 1/16, 1/32 or 1/64
- TYPE: Note, Dot (dotted) or Trip (triplet)
- Gate: note length as a share of the step, 5 to 100% (default 80%)
- OCT: pills 1 to 4, the chord repeated an octave up per extra
- VEL: Source, Fixed or Accent
- EXPR: Off, Slice (the default), Hold or Glide, with a Glide knob (0 to 100%, default 35%)
- Swing: 0 to 66%
Apply writes the arpeggio; Cancel closes the window.
Scale Lock & Key Detection
In the video: Scale highlight (14:55, v0.9.7)Scale Lock
Constrain note placement and pitch points to in-scale pitches. Turn it on from the key icon in the playback bar, just right of Groove. It opens the Scale Highlight panel: switch Scale on, pick the ROOT NOTE and SCALE, then switch on Lock to Scale and click Done. The icon turns into a gold lock while Scale Lock is on. When active:
- New notes snap to scale rows
- Pitch points: with Pitch Snap on, a dragged point lands on scale notes; with Pitch Snap off, it moves freely by cents inside an in-scale row and stops at out-of-scale rows
- Ctrl/Cmd bypasses scale lock for microtonal adjustments
The first time you open the Scale window in a project it guesses the key from your notes, and Lock to Scale sits beside the Scale switch. A guessed key shows guessed from your notes under ROOT NOTE. The window also has Predictor, which colours rows by their interval from the selected note, and Name rows 1-7, which shows degree numbers instead of letters. The OUT-OF-SCALE NOTES block counts them (N in pattern or N of selection) and has Snap to scale and Delete buttons, and Fold to Scale hides the empty rows outside the key. The Bass / Scale Key root saves with the project.
Live Chord & Key Analysis
- Status bar shows the current detected chord in real-time (MPE pitch-curve-aware, 24 chord patterns)
- Rolling key prediction shows top 3 most likely keys with confidence percentages
- The key analysis window takes 1, 4, 8, 16 or 32 bars
- Enharmonic deduplication merges equivalent keys (e.g. F# major / Gb major)
The readout also shows what you hold on a MIDI keyboard or the computer keyboard: the chord, a slash bass and the notes, with the likely keys under it. Turn it off with Chord / Key Readout in User Preferences → DISPLAY. While the song plays, the snap and tuning pills at the bottom of the roll step aside so the readout has the room.
Scale Highlight Brightness
The Scale Highlight window has a Brightness slider for the in-scale row wash, from 0% (no wash) to 300%, default 100%, applied live and shown as a percent.
Pitch Division (EDO)
In the video: Microtonality (18:40)MIDISketch can work in equal divisions of the octave other than twelve: 19-EDO, 31-EDO, quarter tones (24-EDO), 5-EDO, or anything from 2 to 128 steps per octave. To change it:
- Click the small down-arrow button at the far left of the playback bar, under the logo, and open Pitch Division. Or click the tuning fork just right of it and use the PITCH DIVISION (EDO) row in Tuning Snap. The 12-TET pill at the right of the bar under the roll (shown while the expression panel is closed and the song is stopped) opens Tuning Snap too.
- Pick 17-EDO, 19-EDO, 22-EDO, 24-EDO (Quarter-tone), 31-EDO, 41-EDO or 53-EDO. For any other division, such as 5-EDO, pick Custom... (CUSTOM in Tuning Snap) and type the number of steps per octave, from 2 to 128.
- To go back to normal, pick 12-TET (Standard), or 12 TET in Tuning Snap.
The pill and the menu item then show the division, for example 31-EDO and Pitch Division (31-EDO).
- The roll draws the real lattice: one band per degree with the octave marked, and
k\Nlabels once the bands are tall enough. Degree labels carry the nearest note name, for example 3·C5. - Placing, dragging and snapping all target degrees. Ctrl/Cmd keeps free pitch, as in 12-TET.
- Changing the division with notes on the roll asks whether to Keep as it sounds (the grid changes, nothing is rewritten) or Conform notes (one undoable move of every note to its nearest degree).
- Scale highlight, Scale Lock and Fold to Scale are off on a non-12 grid. Tuning Snap still tunes an N-EDO grid when the loaded scale has N notes; with any other scale it stands down and shows N-EDO grid: load a N-note scale to tune its rows. Stamped patterns keep their EDO tuning, and take polish snaps to degrees, never back to semitones.
- The keyboard column still shows twelve physical keys.
Working on an EDO grid. Chords and selections move by grid steps: drag, Shift+Up/Down, or Ctrl+Shift+Up/Down (Cmd+Shift+Up/Down on a Mac). Notes are named by their step in ups and downs (in 31-EDO, vE rather than D#), and step numbers count from your Scale root (in D, D is 0\31). A scale with as many notes as the grid tunes that grid, for example a 31-note just scale on 31-EDO. Set Pitch shows the exact pitch of EDO and JI notes and accepts the grid’s own note names, such as vE6 +5.
Tuning Snap (Just Intonation and Scala)
Open Tuning Snap with the tuning fork button just left of the magnet in the playback bar, or, while the song is stopped, click the tuning name at the bottom right of the roll. It tunes notes to pure ratios against a root. The root source is your choice: Bass, the default, tunes each note against the lowest note sounding at its start so chords ring pure, or Scale key tunes against the key root for drones and modal playing. The Tune dialog preview makes the same call as Apply. The window scales with the UI size.
Scala scales work with any note count and any period, snap to the nearest pitch, and import from your own .scl files in the same window. With a Scala or JI scale on, dragging a pitch point steps through every degree, including those between the 12-tone rows. With points or a segment selected, Tuning Snap applies to that selection only.
- MTS-ESP: Tuning Snap can follow a running MTS-ESP master. Turn MTS-ESP off in your synth while you use it, or the tuning applies twice.
- The footer’s IMPORT .SCL/.KBM button takes Scala keyboard maps (.kbm) as well as .scl files.
- Reference pitch: click the A = 440.0 Hz plate under REFERENCE for A = 415 (Baroque), 430 (Classical), 432, 435 (French, 1859), 440 (standard), 442 (orchestras), 443 or 444 Hz, or Type a value.... A typed value is held between 380 and 480 Hz. Changing the reference lights RETUNE.
- The built-in tunings come from exact ratios. The PITCH DIVISION (EDO) row offers 12 TET, 17, 19, 22, 24, 31, 41, 53 and CUSTOM. It is the same setting as Pitch Division in the grid dropdown and changes the grid (“equal steps per octave - changes the grid”); CUSTOM opens the 2 to 128 dialog.
- After you change a tuning setting, the notes placed before it get a one-click, undoable RETUNE N NOTES, lit when notes are tuned to an earlier setting. With snap off, or on a grid the scale cannot tune, it becomes RESET N TO 12-TET (or RESET N TO N-EDO), returning those notes to the grid in one undo step; a line above it says which case applies.
Shift+Up/Downmoves lit points by a semitone or one grid degree and re-snaps them (a moved segment takes the chord under it).Ctrl+Shift+Up/Down(Cmd+Shift+Up/Downon a Mac) duplicates the selected notes one semitone away (one degree on an EDO grid), and Tuning Snap retunes the copy; pressing it again within 1.5 seconds keeps moving the copy. It needs a note selection: with only points or segments lit, Ctrl/Cmd+Up/Down moves them an octave instead.
How precise the pitch is
MIDISketch keeps every note and pitch point at full precision, far finer than a cent, and Tuning Snap puts them on the scale’s exact values. The readout that appears while you drag a point is rounded for display; the stored pitch is not.
The limit is MIDI. A synth hears each note’s pitch as pitch bend, and pitch bend has 16,384 steps across the bend range, so the finest step depends on the range you set. The same goes for Pitch Wheel mode and for exported MIDI files.
| Bend range | One pitch step |
|---|---|
| ±48 (the MPE default) | 0.59 cents |
| ±24 | 0.29 cents |
| ±12 | 0.15 cents |
| ±2 | 0.02 cents |
For just intonation and EDO work, set the smallest range your bends need, in MIDISketch and in the synth, since the two have to agree (see Set the Bend Range). ±12 covers most glides with steps of 0.15 cents.
For exact pitches with no steps at all, let the synth tune itself: a synth that follows an MTS-ESP master retunes each note directly, at the master’s full precision. Tune in one place only. If the synth follows MTS-ESP, leave Tuning Snap off in MIDISketch, or the tuning is applied twice.
Spectral Analyzer (SCAN)
In the video: Import audio spectrogram (4:38)FILE → Import → Scan Audio (Spectrogram)... opens a chooser: render what MIDISketch is playing (the synth, its effects and the master), load an audio file, or drop one on the roll. The result is a spectrogram behind your notes, for transcribing a melody or checking a part against a recording.
Before a file is analysed, the confirm window shows its waveform with two handles. Drag an end, drag the middle to slide the span, or double-click for the whole file; only that section is decoded. A tempo in the file name, such as Bass_128bpm, fills the BPM box and turns Match tempo on.
The Scan Card
One row of tabs, LAYERS, LOOK, NOTES, ALIGN and EXTRACT, with a Monitor bar fixed underneath. x CLEAR in the card’s header removes every layer.
| Tab | What is in it |
|---|---|
| LAYERS | Up to eight scans, each with its own settings, visibility, solo, opacity, stack order and colour theme. The ` key compares the top two visible layers. |
| LOOK | Level reference (each frame or the whole layer), the level curve (Simple, with Threshold and Brightness, or Custom points), a colour strip with movable stops, the visible range, Fine view (sharp at any zoom), and Advanced detail: line width, noise suppression and ridge smoothing. |
| NOTES | The scan behind or above your notes, Dim unselected notes, and Trace smoothing and quantize |
| ALIGN | Line the scan up with the roll: Stretch to BPM (the audio really time-stretches, pitch kept), the snap anchor and octave |
| EXTRACT | Audio to MIDI, see below |
| Monitor bar | AUDIO, SYNTH or BOTH (the default) to hear the scan, MIDISketch or both; the reference level; and TRACE |
| FFT pill | The analysis size, 1024 by default. Larger sizes resolve close, steady pitches; BLEND merges sizes as Sharp, Bright or Bands. |
The spectrogram keeps peak records and ridges, and a time-zoom detail scan sharpens a close-up. A grab tab hangs on the scan’s highest pitch. Finishing a new scan jumps the view to the pitch body of the audio once; changing the FFT size or the levels leaves the view where it is. Right-click the card header to hide the settings (the picture stays) or lock the card so clicks pass through to the roll.
Extract (Audio to MIDI)
The EXTRACT tab turns the active layer into notes. It runs on a pitch tracker with its own note segmenter, much more accurate on vibrato and note boundaries than earlier versions. Press Analyze (again to cancel) and a ghost preview shows exactly what you would get, drawn above your notes. Accept adds them in one undo step, selected; Discard drops the preview.
| Setting | What it does |
|---|---|
| Range | The time selection when one is active, otherwise the whole layer |
| Output | STRAIGHT notes, or BENT notes that keep the performed pitch curve. Keep tuning keeps each note’s measured tuning instead of rounding it to the nearest key. |
| Engine | NATIVE, the new tracker, or CLASSIC, the older grid extractor, which inserts straight away |
Extraction is monophonic, one line at a time, which is what a vocal or a lead needs. For live audio, or anything playing on a DAW track through the Audio Send, see Voice to MIDI. Slides stay slides: a slow pitch move is kept as a bend inside one note, and only a fast jump splits into two notes.
Trace
Turn TRACE on in the Monitor bar and draw over the spectrogram with the Pencil or the Brush. The stroke snaps to the ridge under your cursor, so you can follow a vocal or a lead by hand and get its real pitch line, bends included. The Pencil commits the strongest snapped segment; the Brush commits everything you traced.
FILE → Import → Clear All Scans removes every layer.
Audio Recording
Recording keeps the audio as a WAV take. To turn audio into notes, that is Voice to MIDI, which tracks the mic, the Audio Send or a file.
Standalone: MIDISketch captures the audio input (microphone or line) straight to a WAV file, anchored to the transport. The first audio callback latches the transport beat, so a take lines up with the sample the capture actually began on rather than the moment the interface got around to starting it.
Capture runs as an additional device callback and hands each block to a background writer, so recording never touches the synth and playback path.
Getting Audio In as a Plugin
An instrument plugin has no audio input of its own in most hosts. MIDISketch ships a companion send plugin, MIDISketch Audio Send, for exactly this: put it on the channel carrying the audio and it passes that audio to the MIDISketch instrument over a voice bus. Setup, host notes and every bus message are in Audio Send and the Voice Bus.
Audio Send and the Voice Bus
An instrument plugin gets no audio input of its own in most hosts, so MIDISketch ships a second plugin, MIDISketch Audio Send. It sits on the track that carries your mic, or any other audio, and passes that audio to the MIDISketch instrument over a voice bus. In your host's plugin list it is MIDISketch Audio Send. Builds before 0.9.9.7 called it MIDISketch FX: same plugin, old name. Same plugin.
It is installed with the instrument by default: VST3 and AU on macOS, VST3 on Windows and Linux. In Logic load the AU; everywhere else the VST3.
Setting Up the Send
- Put MIDISketch Audio Send in an effect slot on the track carrying the audio, usually the mic track. It passes the audio through untouched, so it can sit anywhere in the chain.
- In the send pick a bus letter, Bus A to Bus H. Leave the send switched on and the SEND knob at 0 dB unless the signal is very quiet or very hot.
- In MIDISketch click MIC in the header to turn voice mode on, open the voice panel's INPUT tab and choose the same letter in the Bus box.
- Make sure the host passes live input through the mic track: record-enable it or turn on input monitoring. A track that is not monitoring hands the send silence.
- Both plugins now say where you stand. The send shows Connected - 48000 Hz in green and its meter moves when you sing. MIDISketch's header reads Audio in: MIDISketch Audio Send bus A in green and the MIC level responds.
What the Bus Messages Mean
| Message | Shown by | Meaning and fix |
|---|---|---|
| No MIDISketch on bus A | The send, amber | Nothing is reading bus A. Open MIDISketch, turn MIC on and set its Bus box to A. If MIDISketch already says it is receiving and you are in Logic, update both plugins to 0.9.9.5 or later: earlier builds fed Logic's empty instrument input to the tracker instead of the bus. |
| Connected - 48000 Hz | The send, green | MIDISketch is draining the bus. The number is the sample rate the send runs at. |
| Send paused | The send | The send's on switch is off. Click it. |
| Another MIDISketch Audio Send is sending on bus A | The send, red | Two sends on one letter interleave into garbage. Give each send its own bus. |
| No audio - and the route for your host | MIDISketch header and MIC button, red | No send is publishing on the letter MIDISketch listens to. The hint names the route for your host: FL Studio Add MIDISketch Audio Send on bus A to your mic's mixer track; GarageBand ... to your mic track; Logic Side Chain menu (top of this window) -> your mic track, or MIDISketch Audio Send on bus A; Live Audio From on this device (if shown) -> ...; Reaper Send your mic track here (input pins 1/2), or ...; other hosts a side-chain suggestion. With a DAW input connected and no signal yet it starts DAW input connected, no signal yet - instead. Add the send to the mic track, or match the letters. |
| Audio in: MIDISketch Audio Send bus A, or Receiving from MIDISketch Audio Send | MIDISketch, green | A send is live on the bus. If the level still sits at nothing, the mic track is not monitoring or the SEND knob is turned down. |
| Two MIDISketchs reading bus A | MIDISketch, red | Two instances on one letter each get half the audio at half speed. Use one bus per instance. |
| FX at 44.1k, host at 48k | MIDISketch, amber | The send runs at a different sample rate than the instrument, usually two projects or two hosts open at once. Pitch and timing will be wrong until they match. |
| Reinstall MIDISketch - Audio Send version mismatch, or on the send Reinstall MIDISketch - version mismatch | Both, red | One plugin comes from an older build. Run the latest installer, which updates both. |
| Feedback suppressed - pause singing to reset | MIDISketch, red | The audio reaching MIDISketch is its own output, usually because the send sits on the master bus. Move it to the mic track only. |
Host Notes
MIDISketch tells you where your audio comes from in the host you are in: Audio Send in FL Studio and GarageBand, the Side Chain menu in Logic, Audio From in Live, the input pin in Reaper. When two sources could feed a take, the one with actual signal wins.
- FL Studio: the send is the only route, since a generator gets no audio input. Put the send on the mixer track your mic is routed to. It keeps working with Make bridged.
- Logic Pro: load the AU of both plugins. Turn on input monitoring for the mic track (the I button) so the send hears the mic, and select the MIDISketch track while you sing: Logic runs the selected software instrument in live mode with its smallest buffer, so notes land sooner. MIDISketch's Side Chain menu in Logic's plugin header can stay at No Side Chain; the bus does the routing.
- Ableton Live: put the send on the audio track with the mic and set that track's Monitor to In.
- Reaper, Bitwig, Cubase, Studio One: the send works the same way, and these hosts can also route audio straight into MIDISketch's Voice Sidechain input. When a send is live on the chosen bus it takes priority over that input.
The bus is shared memory on your computer, not a network connection, so firewalls and antivirus network rules play no part. Both plugins have to run under the same user account on the same machine.
Voice to MIDI
Sing, hum or play into the audio input and MIDISketch tracks it live into MPE and CC. This is a control surface, not a transcription pass: what your voice does arrives as expression you can then edit like any other curve.
It is not only for voice. A guitar, a bass, a sax, a whistle, any source that plays one note at a time tracks the same way: live from the mic, from a DAW track through the Audio Send, or from an audio file, with FILE as the source on the INPUT tab. That is how you convert audio to MIDI in MIDISketch, a recording or a live signal: the tracker prints notes with their pitch curves and expression into the roll, ready to edit like anything drawn by hand. It follows one line at a time, so chords and polyphonic audio are not separated into parts. A file can also go through Scan Audio: drop it on the roll and its EXTRACT tab turns it into notes in one click, see Spectral Analyzer.
How It Tracks
Pitch detection uses the McLeod Pitch Method (normalised square difference function with parabolic interpolation), chosen over YIN for making fewer octave errors on vocals at a fraction of the cost of pYIN or CREPE.
- 1024-sample window, roughly 21 to 23 ms of lookback at 44.1 or 48 kHz.
- 256-sample hop, a 5 to 6 ms control rate.
- The NSDF peak doubles as a 0 to 1 clarity value. That is the gate that makes the control signal feel intentional instead of jittery.
- Analysis runs on its own thread, never the device callback, and everything is preallocated.
Panel Controls
The MIC button in the header turns voice mode on; right-click it for the settings. The panel is tabbed: CAL (calibration, the first tab) · INPUT (MIC or FILE as the source, MONITOR to hear yourself through the synth) · TRACK · TUNE · ROUTES · TRIG · OUT.
TRIG turns percussive hits into trigger pads. Each pad learns from a few takes, as a kick, snare, hi-hat or click (or Auto, which reads it from the takes), and plays the note you give it; the takes' loudness spread can become velocity.
Routes
Eleven things are measured from your voice. Each has its own on/off switch and its own destination, and you mix and match freely: noise to Slide, mouth to Pressure, anything.
| Source | What it reads |
|---|---|
| LOUD | Loudness |
| OPEN | Mouth shape, from spectral brightness (oo is dark, ee is bright) |
| JAW | First formant |
| TONGUE | Second formant |
| NOISE | Sibilance, the 5 to 9 kHz energy ratio (s and sh texture) |
| PITCH | The tracked fundamental |
| GROWL | Period-doubling depth (false-fold growl) |
| RESO | Formant prominence, pressed through to breathy |
| BEND | How far the raw pitch sits from the sounding note. Base note is dead centre, up is up, down is down, and the same sung gesture reads the same whatever the tune amount is set to. |
| CLIP | How hard the input is being driven into the ceiling |
| PUNCH | Plosive bursts, as events rather than a level |
Destinations. Per-note (MPE): Pressure (Z), Slide CC74 (Y). Global CC: CC1 Mod, CC2 Breath, CC3, CC11 Expr, CC16, CC10 Pan, CC75, CC76.
Calibrate Voice
Every formant threshold is otherwise a population average, and a vocal tract varies by roughly ±20% between people. A given singer may occupy only half the textbook range, which under-travels the tongue axis and mis-aims every gate.
Calibration, on the CAL tab, runs a short guided capture: room silence for the noise floor, a loud note for headroom, then a few sustained vowels with several repetitions each. The median makes the result robust, and the spread across repetitions becomes a confidence figure. The measurements are taken in the same space they are used, by the same estimator the live path runs.
A calibration profile describes the singer, not a sound. It outlives presets and takes effect before the first note.
Voice Presets
Route setups save as .mvp voice presets, and Default.mvp loads on first open. Reopening the editor rebuilds one row per route that is actually on, so audible modulation always has a visible row you can reach.
Polish Printed Notes
On the OUT tab, under CAPTURE, Polish printed notes runs every note printed from a voice take through the same cleanup an MPE controller take gets: LFO Capture, then Simplify at the Record modal's settings, then the final polish. Off by default. The Perform tool commits through the same chain, and the gear chip beside its status pill opens the same settings.
Image Overlay
FILE → Import → Image... loads a PNG, JPG, BMP or GIF as a semi-transparent overlay on the piano roll. Useful for tracing patterns from screenshots or notation. Includes opacity, position, scale, and lock/free aspect ratio controls.
FILE → Import → Clear Image removes it.
Video
FILE → Import → Video... opens a clip in its own floating window, locked to the playhead, for writing to picture or timing a part against footage. The frame rate is read from the file, and the clip saves with the sketch. Video Window brings the window back if you closed it; Close Video removes the clip.
One anchor ties the video to the roll, and frame nudges line it up exactly. The timeline strip under the picture carries a waveform, a ruler, the anchor, markers, the playhead and click-to-scrub, with a Mute toggle for the clip’s own sound.
When Windows cannot decode a file you get the reason instead of a black box. iPhone clips are often HEVC, which needs Microsoft’s free HEVC Video Extensions. If a saved clip has moved, LOCATE finds it again.
Video works on Windows and macOS: FILE → Import → Video... opens .mp4, .mov and .m4v. A Mac plays MP4 / MOV with H.264 or HEVC; Windows plays H.264, with HEVC needing Microsoft’s extension, and ProRes doesn’t decode there. On Linux the window opens and says video isn’t supported. Two known limits in this build: marker edits cannot be undone yet, and FIT jumps the clip back to its anchor while playing.
Design / Themes
Settings gear → Change Design opens the Design window.
The Design window has four tabs: THEMES, LAYOUT, GRID and OPTIONS.
Themes: Midnight, Verdant, Krypt, Deep Ocean, FoodWoops, 8BIT, Notebook, Crimson, Blueprint, Aero, Trooper, Sakura, Phosphor, Synthwave and Custom. Notebook was Paper, and Blueprint took Cloudscape’s place: a project saved on Paper opens on Notebook, and one saved on Cloudscape opens on Blueprint. Ember, Slate and Neon are retired: they stay if you are on one, but cannot be picked again. Saved Themes keeps the ones you make in a dropdown, with + Save beside it, and a saved theme keeps its gradients.
Custom Colors
- It sits under the themes and has fourteen chips: Roll, Grid, Lanes, Notes, Accent, Acc 2, On, Playhead, Top Bar, Toolbar, Ruler, Ruler Alt, Button and Nav.
- Click a chip and edit its colour below with the H, S and B strips, the hex field or the eyedropper.
- Roll and Notes can be Solid or Gradient. A gradient shows a bar from top to bottom: click it to add a colour stop, drag a stop to move it, right-click a stop to remove it. Add as many stops as you like.
- A roll gradient spans the View (it stays put while you scroll) or the Full range of pitches (it scrolls with the roll).
- Changing any colour switches you to Custom, starting from the theme you were on.
- On is the colour that lights every active control: the selected tool, the playback mode, Follow and Reveal, the mic while listening, and the Playlist and mixer buttons.
Light themes (Verdant, Notebook, Aero, Trooper and Sakura) adapt text and borders. All of them except Aero keep their buttons dark.
Grid opacity is set per theme on the GRID tab. Dark themes ship at 25% (8BIT at 19%), and each light theme ships its own value. Any per-theme value you set yourself still wins, and grid opacity is a preference of yours, never overwritten by a loaded project.
Grid. Design > GRID sets how the grid looks.
- Opacity (per theme) sets the bar lines.
- Beats, Subdivisions and Rows set how strong those lines are, each as a share of a bar line.
- Detail (0.5x to 2x) sets how soon finer lines appear as you zoom in.
- ADVANCED gives each division, from 1/8 to 1/128, its own strength and the zoom it appears at, with a Reset button.
- Everything except Opacity applies to every theme.
- Auto snapping uses the same table, so the lines and the snapping arrive together.
- Every grid line is drawn in the theme’s Grid colour; Grid Tone is gone.
As you zoom out, the row colours alternate by bar groups (every 4, 8, 16, 32 or 64 bars depending on zoom), the Ableton way. There is no switch for it.
The OPTIONS tab has Clean UI (hides labels and baselines), Flat Background (its subtitle reads “Uniform row colors”) and Realistic Keys (a white and black piano keyboard), then Custom Playhead. Point Size is on LAYOUT, beside Note Thickness. A plain point drag moves a point in time.
Note Design is what new notes look like. Set as Default in the Note Design modal defines it, Use Default stamps it on the selection, and Change Design on a selection recolours only that selection. Switching theme retints every note that still wears the Default. Note labels turn white on dark notes.
A pitch gradient colours notes by how high they sit. The global one takes a MIN / MAX range by note name, MIDI number or Hz, shown as dashed lines across the grid that you can drag.
UI Scale
75% to 200% in 25% steps, as pills in the Design window, under User Preferences and in the Quick Start window (FILE → Help → Help...). All UI elements, fonts, hit-test areas, and layouts scale proportionally. To change the window itself, drag its bottom-right corner, see Window Size & UI Scale. On first launch the window fits the space the host gives it, 4K at 250% included.
Note shading. Design → Layout sets how notes are shaded: Crisp (the default), Edges, Outline or Soft, with a Shading Depth slider and a separate style for bent notes. The top bar has its own colour in Design.
Hex Color Input
The color picker includes a hex text field (#RRGGBB) below the HSB strips. Click to edit, type hex values, Ctrl+V to paste from clipboard, Enter to apply. The eyedropper button next to the field samples any colour on screen, inside MIDISketch or outside it: while it is armed every click samples, with a swatch and hex readout, and Esc or right-click cancels.
Note Line Thickness
Note thickness goes down to 2% of a row height, globally and per note, for dense pitch work where a thick line hides the detail you are drawing. The slider response is squared rather than linear, so the fine 2 to 10% range occupies about a fifth of the travel instead of a couple of pixels, and the readout shows a decimal below 10% (3.5%, not 3%).
Playhead Customization
- Playhead Color: full color picker for the playhead line
- Playhead Opacity: 0-100% transparency
- Playhead Size: 0-100% thickness scale (affects the playhead line, glow, top triangle, and start marker)
Custom Playhead
Design > CUSTOM PLAYHEAD replaces the playhead’s triangle with a picture: one of eight starter shapes, or your own PNG, JPG, GIF or SVG. Click the preview to set where the line meets the picture, set its size from 8 to 128 px, and either tint it with the playhead colour or keep the picture’s own colours. Trigger cue heads use it too.
Notes That Look Like They Sound
Two switches let a note show its expression, so you can see the shape of a phrase before you hear it: Expression Color changes a note’s colour with its velocity, pitch or MPE expression, and Assign Width draws pressure, slide or pan as the note’s thickness, so a louder note is wider. They are separate from the pitch gradient, which colours notes by how high they sit, and from note thickness, which is a fixed width.
Expression Color (per note)
- Right-click a note, or a selection, and choose Change Design... (Change Design (N notes)... for a selection).
- Open the Expression tab and set Expression Color to On.
- Pick what drives the colour: Vel (velocity), Pitch, Press (pressure), Slide, Pan or CC (a CC lane). Velocity colours the whole note one colour; the others colour along the note, following the curve as it moves.
- Choose a gradient preset, or edit the gradient’s colours yourself. With Pitch, Relative or Global sets what the gradient spans.
Set it back to Off on the same tab to return to the note’s own colour.
Assign Width (the whole roll)
Settings gear → User Preferences... → Assign Width: Off, Pressure, Slide or Pan. Since 0.9.9.8 it sits on the EDITING tab. With Pressure, each note gets thicker where its pressure rises and almost vanishes where it falls to zero.
- A note only changes width where it has that expression: a curve with at least two points, or an expression LFO on it. A note with none keeps its normal thickness.
- Assign Width is saved with the project, and is Off each time MIDISketch opens.
Use both together for the full effect: Assign Width set to Pressure, and Expression Color on with Slide, shows loudness as width and brightness as colour.
Synth Tab (Hosted Plugin)
Click Synth in the header to open the hosted plugin view.
Loading a Synth
Click the New Synth button (red, top-right of the synth panel). Browse and load any VST3 synth (or AU on macOS).
Any VST3 or AU instrument loads here and plays what you draw. Whether every note bends on its own depends on the synth having MPE: with an MPE synth (MPE on, its bend range matching MIDISketch's, 48 by default) each note carries its own bend; with a synth that has no MPE, switch to Pitch Wheel mode and the same drawings play through the synth's one pitch wheel, one bend at a time, with every editing tool unchanged. The list of synths and their modes is in Which Synths Work.
The plugin list appears instantly: a cached scan is shown straight away and refreshed behind it, so you are never staring at an empty browser while a rescan runs.
Keeping your synth. A sketch saved with Save Sketch keeps the synth and its patch. To have every new instance of MIDISketch open with your synth already loaded, load it, then pick FILE → Templates → Save as Template... and name it Default: a Default.mst in Documents/MIDISketch Templates loads into every new instance.
A synth that didn’t come back. If a hosted synth crashed MIDISketch while it was loading, MIDISketch skips it the next time the project opens, so the project can’t crash on every open. Load it again from the synth slot to retry. A synth that can’t be found (moved or uninstalled) isn’t loaded either: reinstall it, then load it from the synth slot.
A project made on another computer, even on another operating system, finds its synth by the plugin’s file name in this computer’s standard plugin folders, and the synth’s patch comes back with it.
Quick Scan and Deep Scan
A plugin you own is missing from the list? Quick Scan and Deep Scan are the two buttons at the top left of the synth browser, beside the search box. The browser shows while no synth is loaded; with one loaded, click New Synth first to get back to it.
- Quick Scan refreshes the list.
- Deep Scan searches every VST3 folder for installed plugins and sorts effects from synths, which the effect slots in the Mixer rely on. On a large collection it takes a few minutes, so it asks first.
- The gear at the right end of the same row manages the folders that are scanned, and Browse... beside it loads a plugin file directly.
Synth Hosting Reliability
MIDISketch includes several safeguards for stable plugin hosting:
- Thread-safe graph access prevents crashes when loading/unloading synths during playback
- Warmup grace period (~2 seconds of silence after plugin load) prevents initial audio glitches
- SEH crash protection (Windows) catches access violations from misbehaving plugins without crashing the host
- Multi-bus support: plugins with auxiliary outputs (Omnisphere, Kontakt) have all channels folded into stereo automatically
- Hosted MPE synths: each new note takes the channel that has been free the longest, so release tails ring out and voices are not stolen early. When the synth finishes warming up, everything sounding is sent again, so a bend, pressure or slide at a note’s start is not lost.
Built-In Engines
MIDISketch includes three built-in instruments. In the synth browser they share one row, tagged BASIC SYNTH, SAMPLER, .SF2 LOADER. Load it, then pick the engine with the switch at the top of its panel: SYNTH, SAMPLER or SF LOADER.
- MIDISketch Synth (early beta): MPE-native wavetable synthesizer with 5 waveforms (Sine, Saw, Triangle, Square, Pulse), unison up to 7 voices, full ADSR, stereo filter with 5 modes (12 and 24 dB low-pass, high-pass, band-pass, notch), per-note ±48st pitch bend.
- MIDISketch Sampler (early beta): Load a sample (WAV, AIFF, FLAC, OGG or MP3) and play it across the keys as an MPE instrument, each note with its own bends. Drag-and-drop, auto pitch detection, root note override, trim/loop markers, Hermite interpolation.
- SF Loader (early beta): Load any
.sf2SoundFont and play it with per-note pitch bend: a piano, strings, a choir. Presets keep their own envelopes and filter. The panel has the preset list, level, pressure depth and bend range. To load a SoundFont, switch the built-in panel to SF LOADER, then drag the.sf2onto the panel or click LOAD. Compressed.sf3files do not load.
- SF Loader has two ways to bend a note: Resample, or Crossfade, which moves to the font’s own recording nearest the pitch. Bends can be Smooth, Glissando or Fretted.
- Sampler: Crossfade smooths the loop point (it needs some audio before the loop start). The Sampler plays in Pitch Wheel mode and with multi-channel output.
- The computer keyboard plays notes on the Synth tab too.
The Synth tab puts a hosted synth’s own controls on its frame, with parameter mapping in the AUTOMATION panel on the left. Check MPE tests a hidden copy of the synth, not the one you are playing. The synth guides behind the ? update from our server without a new release, and the latest ones are kept for offline use.
MPE Setup for Third-Party Synths
| Synth | Setup |
|---|---|
| Serum 2 | Auto-detects MPE, no setup needed |
| Serum v1 | Menu → MPE Enabled → checkmark, then Global → BEND → 48 |
| Vital | ADVANCED tab → MPE on (bottom left), bend range 48 (bottom right) |
| Surge XT | Menu → MPE Settings → Pitch Bend Range → 48 |
| Pigments | Settings → MPE → Pitch Bend → 48 |
| Phase Plant | Settings → Pitch Bend → 48 |
| Diva | Options → MPE → Pitch Bend Range → 48 |
| Other | Find "Pitch Bend Range" or "PB Range" → set it to MIDISketch's MPE Bend Range, 48 unless you changed it |
MIDISketch's synth browser includes a compatibility database of over 200 synths with per-synth setup notes and tier badges (Verified, Compatible, Not a synth, Unknown). See the compatibility list.
Right-click a synth in the browser to move it between MPE COMPATIBLE and BASIC MIDI ONLY, or back to the database’s rating. Loading a synth with no MPE says so once, beside the MPE/PW pill.
Docked or Floating
- Detach in the parameter strip opens the synth in its own window; RE-DOCK brings it back.
- Each synth remembers whether you keep it docked or floating. A synth you have not chosen for yet follows your last choice.
- Docked, the synth fits the synth panel instead of growing MIDISketch’s window. A synth that can be resized is sized to fit, never above its own size; one that cannot shrink that far is left as it is.
- When a synth really does not fit, its title bar says Cropped, with Float (opens it in its own window) and Fit window (makes MIDISketch’s window fit it).
- A detached window centres on the monitor the plugin is on and is capped to that display, so its title bar is always reachable. It follows the editor when you move it, and re-docking restores its size.
Effects & Mixer
Click the Mixer button (a three-fader icon) in the header, between FILE and the Synth / Piano Roll button. The mixer is a panel inside MIDISketch that stays with you on the Piano Roll as well as the Synth tab: draggable, and its position and open state persist with the project. It opens by default on a fresh install and costs nothing while closed.
The GEN row at the top names the synth feeding the chain, with a GAIN knob (-24 to +6 dB, double-click resets) applied before the effects. Click the name to jump to the Synth tab.
Available in standalone and as a plugin. Plugin-in-plugin hosting is the same path the synth already uses.
FX Chain
Up to four serial effect slots sit after the synth (hosted or built-in). Click a slot to load an effect: the picker is search-first, so type into Search effects... rather than hunting a tree. If a plugin you own does not appear, run a Deep Scan from the Synth tab.
| Control | Function |
|---|---|
| BYP | Bypass this slot. The chain keeps running around it. |
| MIX knob | Dry to wet for this slot. Vertical drag; double-click resets. |
| GAIN bar | Post-slot level, with a notch at 0 dB. |
| MIDI | Feed this slot the same MIDI the synth receives: the notes you wrote, with their bends and the rest of the MPE expression. Off by default, because most effects neither want nor expect it. See Effects that listen to MIDI below. |
| Slot menu | Open Editor, Replace..., Remove, Move Up, Move Down. |
| Reorder | Roll the wheel over an effect to move it up or down the chain, or drag the bars left of its MIX knob, without opening anything. |
Effects that listen to MIDI
Every effect slot has a MIDI toggle. With it on, the effect plugin receives the MIDI you wrote for the synth, not just the audio coming out of it. That is what a vocoder, a harmoniser or a MIDI-gated effect needs to work at all, and it opens up things a normal effect chain cannot do: a filter that tracks the note you drew, a gate or ducker that fires from the notes rather than the audio, a pitch effect tuned to the melody instead of a fixed key.
Most effects do not handle MPE well. They expect plain notes on one channel, so per-note bends and pressure can confuse them, and a few will ignore notes on the higher channels entirely. If an effect misbehaves with MIDI on, that is usually why. Keep the toggle off for effects that only process audio, and try it on the ones built to react to notes. The setting is per slot and saves with the project.
Master
The master row carries the overall output gain plus the synth's own level into the chain, so you can balance the instrument against the effects without touching either plugin.
Behaviour
- Slots are serial, in order. Reported latency is the sum of the chain, so your DAW compensates correctly.
- Missing plugins do not delete your chain. If an effect's file is not found when a project loads, its slot goes offline and keeps the path, name, opaque state and mixer values, and writes them back out on the next save. Opening a project on a second machine, or moving a plugin folder, no longer erases the effect silently.
- An effect editor you detach gets a bar with RE-DOCK, MIDI and a PINNED / AUTO pill. PINNED keeps that effect window above all windows, which is what you want when the DAW likes to bury floating windows; AUTO is normal stacking.
MIDI Generators
One hosted MIDI-generator plugin sits upstream of everything. Load it from the MIDI GEN row in the mixer: click it to load or open the generator, BYP bypasses it and X unloads it. Its editor opens in its own floating window, titled with the plugin’s name and MIDI GEN.
Drop in a chord generator, an arpeggiator or a Scaler-style plugin and it transforms the incoming controller stream before the recorder, the trigger scanner and the monitoring synth ever see it. Its output is the controller as far as MIDISketch is concerned.
That is what lets you play an MPE surface into a chord generator and have the result land as recorded MPE curves you can edit point by point, rather than a frozen part you have to re-perform.
- One slot, not a chain.
- BYP (bypass) passes the controller through untouched.
- An activity lamp shows when the generator is producing.
- The recorder already accepts arbitrary MPE channel layouts from hardware, so a generator is treated exactly like any other controller. No re-channelising, no special case.
Equation to MIDI
Press Y, or pick FILE → Equation to MIDI... (Y), to open EQUATION. Type a function after y = and MIDISketch turns its graph into notes: x runs across the bars, y is the pitch. The curve shows on the grid as you type. Y again brings an open window to the front, and Esc closes it.
Writing an Equation
The formula box takes a whole program, one statement per line (a ; or a top-level comma also separates statements). Enter starts a new line, and the box grows from 2 to 7 lines. A statement can be:
- the output:
y = ..., also writtenf(x) =,y(x) =,pitch =or as a bare expression - a value:
u = x mod 4 - a function with 1 to 4 inputs:
K(d) = 4.7e^(-12d) - 2.2 - a list:
c = (0, 3, 7, 12)or[0, 3, 7, 12], read asc[i],c(i),c_iorc_{i}; the index wraps around - a condition after
defined for,for,whereorwhen: the curve is silent wherever it is false
Definitions can come before or after the y line. A value, function or list can’t use its own name, directly or through other definitions (u = u + 1, K(d) = K(d - 1)): the window says ‘u’ refers to itself instead of generating, so recursive functions aren’t supported.
Conditions and pieces. Write a condition as cond ? a : b or a if cond else b, or use piecewise braces: { a if cond, b if cond2, c otherwise }, or the Desmos form { cond: a, cond2: b, c }, with the cases separated by commas, semicolons or new lines. Leave out otherwise and the curve is silent where no case matches. Conditions take < <= > >= = == !=, and / or / not, and && || !.
Writing it naturally. Multiplication can be implied: 3x, 2(x+1), 14 pi x, 4.7e^(-12d). Symbols pasted from elsewhere are read as written: π and τ, the middle dot and ×, ÷, a real minus sign, ≤ ≥ ≠, floor and ceiling brackets, √, superscript ² and ³, and subscript digits (m₂ is m_2).
Functions and names.
- One input: sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, abs, sqrt, cbrt, exp, log (or ln), log10, log2, floor, ceil, round, frac and sign. A one-input function works without brackets:
sin x. - Two inputs: min, max, pow, mod and atan2. Three inputs: clamp and if.
- Names: x (t means the same), a, b, c, d, pi, tau and e. |x| is the absolute value. x, t, pi, e and tau can’t be redefined.
The same list is printed as help under More.
Shapes
The chip row under the formula box holds 14 starting points: Sine, Tan storm, Broken saw, Staircase, Spiral, 808 Kicks, Jersey Club, Hardtekk, Phonk 808, Psy Bass, Acid Line, Trance Arp, Build-Up and Phonk Melody. A click always fills the formula box. The nine genre presets turn on Beats · octaves and set their own length (808 Kicks 2 bars, the rest 4 bars in 4/4) and mode (Notes for Phonk Melody, Glide for the others).
Sliders and Placement
- a, b, c, d: use any of these letters in the equation and each becomes a slider, from -10 to 10 in steps of 0.01, shown only while the formula uses that letter. Defining a, b, c or d yourself (as a list, say) replaces its slider.
- Glide makes one bending MPE note per piece of the curve; Notes makes one note per step.
- Beats · octaves, right of Glide / Notes: x counts beats from the start and 1 y is one octave, so
x mod 4is one bar in 4/4. Turning it on sets Mapping to 1 y = N st with N = 12, sets x from to 0 and raises Clip past span to at least 60; x to is ignored while it is on. The Pitch span field then reads 1 y = (st). - Start bar starts at the time selection (taking its length too), or else at the playhead marker snapped to the grid. Length (bars) is 4 on first use, Pitch span (st) 12, and Centre the row in the middle of the view. Centre takes a note name (C4, or an EDO name such as vE6 +5) or a MIDI number.
- The window opens with your last settings. The line under the formula box shows the note count, or what is wrong with the equation.
More
- x from / x to: the x range, -2π to 2π by default.
- Mapping: Span (fit) fits the curve’s height into the span; 1 y = N st makes each unit of y N semitones (N is 1 by default).
- Step (Notes): 1/4, 1/8 (the default), 1/16 or 1/32.
- Snap: Off, Semitone or Scale / grid. Until you pick one it follows the mode: Off for Glide, Semitone for Notes. Scale / grid snaps to the EDO grid when one is on, else to the scale when Scale is on, else to semitones.
- Break at jumps over (st): 1 by default; 0 never breaks. A steep but continuous drop, like an 808 kick, stays one note; only a real jump starts a new one.
- Clip past span (st): 12 by default.
One equation places at most 4096 notes, over at most 4096 beats.
Hearing and Placing
While the window is open the new notes play in your song however playback starts (Space, the play button, the loop or the DAW’s own play), and every edit is heard live. They show on the grid as green dashed ghosts. Play (it reads Stop while the transport runs) does exactly what Space does in the roll: local playback, or the DAW’s in DAW mode, with count-in and loop. Place adds the notes as one undo step and leaves them selected, and the status line says how many were placed; Cancel leaves the roll as it was.
Keys in the Window
- When the window opens the keys stay with the roll, so
Spaceplays. Space types a space only in the formula box and the Centre field; in every other field it plays. - A click on a chip, pill, slider or the panel hands the keys back to the roll.
Enterin a number field confirms the value without placing; in the formula box it starts a new line.Ctrl+Enter(Cmd+Returnon a Mac) places.Escor the x cancels. Drag the title to move the window.
Plugin Parameters (Learn)
In the video: Expression mapping (25:11)The strip above the hosted synth carries the parameter tools alongside New Synth, Mixer, Detach / Re-dock and Reset Size.
Learning a Parameter
- Pick a slot from the dropdown. It lists Param 1 to Param 128 until one is learned, and reads Select Parameter when empty. There are 128 slots, created when the plugin is constructed, so your DAW sees the full list in its automation menu from the moment you load MIDISketch.
- Click Learn. While armed it reads Move a knob 12s and counts down to 0.
- Move a knob on the hosted synth, or on any effect in the FX chain. The slot binds on the first move, no second click needed, and flashes Bound: name.
- × unmaps the slot again.
If nothing is loaded you get Load a synth first; if Learn times out without seeing movement, No knob move seen.
What a Learned Parameter Can Do
- Host automation. The slot appears in your DAW's automation list under the parameter's own name, not as
Param 47. - A drawn lane. Right-click a lane header, choose what the lane drives, and pick Plugin Parameters. The parameter now takes the same points, bezier handles and one-click LFOs you use for pitch.
A lane remembers the parameter name it was bound to. If the slot is later re-learned to something else, the mismatch is shown rather than left for you to discover by ear.
MIDISketch Link
In the video: MIDISketch Link (13:45)MIDISketch Link enables real-time collaboration between multiple MIDISketch instances running in the same DAW session. It works only in a plugin host: the standalone has no Link button. Open the panel with the Link button in the corner stack above ?; its header reads MIDISketch Link, and with no other instance open it says “No other instances open.”
Ghost Notes
See notes from other open MIDISketch instances rendered as tinted ghost overlays in real-time. Each instance gets a distinct color (indigo, pink, teal, orange, violet, cyan, lime, amber). Per-instance eye toggles show/hide linked instances.
Cross-Instance Hotswap
From the Link panel, you can clone another instance's synth or MIDI data:
| Feature | Description |
|---|---|
| Synth Swap | Clone another instance's synth (built-in or hosted VST3) including all parameter mappings, with the ♫ SYNTH button on its row. It asks before cloning, or before restoring when you already use that instance’s synth. |
| Edit another instance’s notes | The ♪ EDIT button on a row (♪ MIDI before 0.9.10.1) brings that instance’s notes into your roll, and while you edit them they play through this instance; your own notes are kept to restore. Your edits are written back to the source automatically, and again when you press EDIT to switch back. Saving the project mid-edit keeps this instance’s own notes in its save. Nothing pulls the source’s later edits into your copy, and there is no separate push button. |
| Auto-Restore | When a source instance closes, swapped instances automatically restore their original state. |
| Circular Guard | A→B→A swap loops are detected and blocked with a toast under the panel (“<name> is already using your synth” or “<name> is already editing your notes”). |
| Instance Naming | Only your own row, marked YOU with a pencil, can be renamed: double-click its name. Names persist in the project state. Clicking another instance’s name area toggles its ghost visibility. |
| Merge | Drag an instance’s mini thumbnail onto the roll to merge its notes into yours (“+ MERGE N notes”). |
Export
FILE → Export... opens the Export window. It has three tabs.
| Tab | What you get |
|---|---|
| MIDI | A .mid file in one of five formats, see MIDI Export below. |
| Audio | Renders the full chain: synth, effects and master level. The render settings are in the tab itself: pick them and click RENDER, see Audio Export. Needs a synth, built-in or hosted. |
| Sketch | SAVE SKETCH writes an .ms with every note, curve, lane, LFO, colour, chop and CC automation, plus the synth state and the Playlist. Backups, sharing a sketch, or moving it between DAWs without losing anything. |
MIDI Export
Pick the format by who the file is for. Each row says what it is for, the chosen one also says what it does, and MPE is marked RECOMMENDED. The window shows only the settings the chosen format uses.
| Format | What it writes, and who it is for |
|---|---|
| Notes only | The note rows, no bends. Notation and sharing. |
| Note steps | Bends as runs of semitone notes on channel 1. FL Studio’s piano roll, any synth. |
| Bend lane | Notes on channel 1 plus one shared pitch wheel, at the bend range you choose. Most synths, including those without MPE. |
| MPE | Per-note bends and expression on channels 2 to 16. Ableton Live, Bitwig, Cubase, Reaper. |
| Multi-channel | Each note keeps its own channel. Hardware, and FL Studio’s per-channel import. Notes on Auto rotate over the Multi-channel range; pinned notes keep theirs. See Output Channels. |
| Setting | What it does |
|---|---|
| Range | ALL, LOOP, SELECTION or SONG (the whole Playlist arrangement). Loop and Song start the file at their first beat and cut a note that crosses their end. Selection writes exactly the notes you selected, not every note in their time span, starting the file at the first of them. A greyed choice says why when you click it. |
| Pitch bend range | Bend lane, MPE and Multi-channel: a − / + stepper. Written into the file as RPN 0, so the DAW decodes the bends at the right size. Match your synth (MPE synths: usually 48). |
| Expression | MPE and Multi-channel: PRESSURE, SLIDE and PAN chips (aftertouch, CC74 and CC10). Turn one off and that stream is skipped. |
| One track per channel | MPE and Multi-channel: a multitrack file that FL Studio, Logic and REAPER split into one track per channel on import. |
Then drag the Drag to your DAW plate at the bottom straight into your DAW, or click EXPORT TO FILE. The plate shows what it will drop: the note count, the format and the range. Your choices are remembered, and the DRAG MIDI button uses the same settings. CC lanes are written once, on the channel that fits the format, never copied to all sixteen.
Exported bends reach the exact pitch you drew at a note’s end. A note’s release keeps its last pitch in your DAW, as it does in MIDISketch. Pressure, slide and pan values match what MIDISketch plays. A Song export ends each note where its clip ends.
DRAG MIDI
- DRAG MIDI is the button with a down arrow at the top of the corner stack at the bottom right of the roll, above the ?. It is lit in the theme’s On colour while there is something to export.
- Drag it into your DAW for a MIDI clip with your last Export window settings.
- With 2 or more notes selected it drops just those. Otherwise it drops the Export window’s range: the loop or the song if you picked one, else the whole sketch.
- With no format chosen yet, it uses the one that fits the output mode: MPE, Bend lane in Pitch Wheel mode, or Multi-channel when that is on.
- Hover it to see what it will drop; click it for the Export window.
- It hides while the Perform tool is active.
Older .mpe files still open through FILE → Import → MIDI / MPE..., but new exports are .ms or .mid.
FOLLOW Button
Controls how the view tracks during playback.
| Mode | Behavior |
|---|---|
| Off | View stays fixed |
| Playhead | View follows the playhead |
Keyboard shortcut: F toggles between Off and Playhead.
Follow Note: right-click a note → Follow Note makes the view track that note during playback, and Stop Following Note ends it. Pressing F switches between Off and Playhead and turns Follow Note off.
Audio Export
FILE → Export..., then the AUDIO tab. The render settings are in the tab: pick them and click RENDER. It needs a synth (built-in, sampler, SoundFont or hosted).
- Format: WAV, or FLAC (lossless, about half the size, 16 or 24-bit only)
- Bit depth: 16-bit, 24-bit, or 32 float (WAV only)
- Sample rate: 44.1k, 48k or 96k
- Range: All (bar 1 to the last note, rounded up to a bar), Loop or Selection. A greyed choice says why when clicked.
- Tail: a − / + stepper in 0.5 s steps, 0 to 10 seconds after the last note so reverb and delay ring out. 2 seconds by default.
- Normalize peak to -1 dB, and Include effects and master level (off for a dry stem at the synth's own level)
Beside RENDER the tab shows the length and an estimate of the file size.
Exported audio matches what you hear: automation lanes, the mod wheel and the pitch wheel render exactly as they play live. The dialog shows a moving playhead while it works.
The render runs offline, faster than real time when the synth allows it, and the result dialog offers Drag to DAW, SAVE AS... and SHOW IN FOLDER. File dialogs remember their last-visited folder.
Licensing
MIDISketch has a 7-day free trial (no credit card required), after which a license key is required.
When the trial ends, the roll locks until you buy MIDISketch or enter a license key, and drawing, recording and exporting stop. Nothing is deleted: everything you sketched stays, and projects still open, show and save as before. Activating unlocks the same projects where you left them.
- The trial doesn’t start by itself: the first screen reads Start your free 7-day trial with Start My Free Trial, and starting needs an internet connection. It can take an optional email, which is prefilled into activation later.
- The trial banner at the top reads Early Access trial - N days remaining. with an Activate button. When one day remains (the last 24 hours, day 7) it reads Your trial ends tomorrow. Buy once: every update, two machines. with Buy Now; a small x hides it until the next day.
- Activate from FILE → Activate License..., the banner’s Activate, or Enter License Key on the trial-ended screen (Your 7-day trial has ended, with Buy MIDISketch and Enter License Key). The Activate MIDISketch dialog has Activate License, Get a License and, before a trial, Start my free 7-day trial instead. Once licensed, FILE shows ✓ Licensed: e***@domain (greyed).
- License is a one-time purchase covering all future updates, activated on up to two machines you own. There is no Deactivate item in the app: to move an activation to another machine, contact support.
- Pay by card (Visa, Mastercard, Amex, Apple Pay, Google Pay, Link, and SEPA in Europe) or with PayPal, which also takes a card without a PayPal account. Same price either way. The key is emailed to the checkout email, or to the PayPal account email for a PayPal purchase, and is tied to that address. Countries where the card networks and PayPal are suspended, Russia and Belarus among them, cannot be served at the moment.
- Card and PayPal are two buttons because each company runs its own checkout: card payments on Stripe's secure page, PayPal payments in PayPal's own window. Your card number or PayPal login goes to them and never reaches ELIOTONIC.
- An activated license keeps working offline: no internet is needed after activation.
- A license from an older version needs one internet connection to upgrade. Until then the banner reads Connect once to upgrade your license - your projects are safe. with Upgrade, FILE shows Upgrade License..., and User Preferences shows License upgrade pending until you connect.
The trial reminder and the trial-ended screen show no price. Your email goes to us only when you start the trial, and starting it after an offline launch works as soon as you are connected, without a restart. The installers show the End User License Agreement and the third-party notices before installing.
Browser Demo
There is a free demo you can play in your browser, with no download and no sign-up: the piano roll on the MIDISketch page. Click it and a guided tutorial walks you through placing notes, pitch points, bends, bezier handles, LFOs, duplicating, erasing, extending a note and moving around the roll. Chord stamps and Scale Lock are in it too.
It is the real MIDISketch way of drawing, ported to the browser, playing simple sine voices. MPE output, your own sounds, Voice to MIDI, the arpeggiator, Trigger mode and export are only in MIDISketch itself.
The demo runs on a computer. On a phone the page shows a walkthrough video of it instead, so open the page on a computer to play it. To try everything, MIDISketch has a 7-day free trial on the same page.
Which Synths Work
Any synth. MIDISketch sends notes, velocity and sustain like any piano roll, so every instrument plugin plays what you draw, hosted inside MIDISketch through the Synth tab or sitting on another track fed by MIDI OUT. What changes from synth to synth is how the bends arrive. There are two output modes, and the header pill shows which one is on.
MPE synths: every note bends on its own
In MPE mode each note plays on its own MIDI channel with its own pitch bend, pressure and slide, so two notes can bend in opposite directions at the same time. The synth has to be in MPE mode with its pitch bend range matching MIDISketch's, 48 by default; any value works as long as both sides agree. The most compatible synths are Serum 2 and Vital: they are the ones tested hardest, Serum 2 comes with MPE on and the range already at 48, and Vital needs one switch. Any MPE synth works the same way once MPE is on and the range matches, and the built-in MIDISketch Synth is MPE from the start.
Synths we have notes on
Serum 2, Vital, Serum 1, Phase Plant, Pigments, Diva, Surge XT and Omnisphere 3 are tested in MPE mode, and ZENOLOGY, Kontakt, Omnisphere 2 and the other plain-wheel synths in Pitch Wheel mode. Setup steps for every one, plus notes on more synths from their makers' docs, are under Synth Setup Notes.
Everything else: Pitch Wheel mode
A synth without MPE has one pitch wheel for all of its notes, the same as a keyboard. Pitch Wheel mode works with that. You draw exactly as you would in MPE mode; MIDISketch plays every note on channel 1 and drives the single wheel from the note that owns the bend. The one thing it cannot do is bend polyphonically. In practice:
- One bend at a time. Every note sounding while a bend plays moves with it, from where the bent note starts until it lets go, so a chord bends as one.
- The newest bend wins. A newer note with its own bend takes the wheel over; a flat note started while a bend is playing does not reset it.
- No further than the bend range. The synth's bend range has to match the one in MIDI Settings (±2, 12, 24 or 48), and that range is as far as a drawn bend goes: drag a pitch point past it and it stops, with Max pitch bend range reached in the status bar.
- The editor does not change. Every editing tool works as it does in MPE mode: pitch points, segments, Bezier handles, LFOs and the expression lanes.
You see this before you hear it. The roll draws a faint ghost on every note the wheel drags along, tracing the pitch that note will actually play. Move the notes apart or shorten the overlap and the ghosts go away.
MIDISketch sends the range as RPN 0 when playback starts, which most synths honor; if a bend comes out small, set the range on the synth by hand. That covers ZENOLOGY, Sylenth1, Nexus, Spire, the original Massive, Kontakt libraries (Kontakt tops out at 12 semitones, so pick 12), hardware synths on MIDI OUT, and anything else with a plain pitch wheel. Pitch Wheel mode is the natural fit for leads, basses and mono lines, and it is what lets an old favorite that never heard of MPE play a MIDISketch part. For chords whose notes bend different ways, use an MPE synth; Vital is free.
Hardware synths: MIDI OUT to a port
Yes, hardware too. A synth at the end of a cable is a synth on another track as far as MIDISketch is concerned; the difference is where the MIDI leaves the computer. There are two ways to get it there.
- Straight to the port. Settings gear → MIDI Settings... → MIDI OUT, and under HARDWARE PORT click the row that reads None - host only (“click to choose”) and pick the port. MIDISketch then sends to that port itself, in the plugin as well as the standalone, so the DAW never touches the stream: MPE arrives whole even in a host that flattens it, and a synth can stay hosted in the Synth tab at the same time. One port at a time. A USB synth that needs no driver shows up as its own port, a synth with DIN sockets is reached through the MIDI OUT of an audio or MIDI interface, and a virtual port (loopMIDI on Windows, the IAC bus on macOS) reaches another program.
- Through the DAW. Leave the port at None, keep MIDI Output on, and route MIDISketch's output in the DAW to a track whose output is the hardware port, the same routing as for a synth on another track (per DAW). Some hosts flatten MPE on the way, which is what the direct port is for.
The bends work as for any synth. Hardware with MPE plays in MPE mode with its MPE zone on and the bend range at 48; MIDISketch sends the range when playback starts, but many hardware synths only take it from their own menu, so set it there if a bend comes out small. Hardware without MPE plays in Pitch Wheel mode with its bend range matched, one bend at a time. Two more settings under HARDWARE PORT matter for hardware: the rate pills Off / 32 / 64 / 128 / 256 (“Thin dense MPE - bend rate”) for instruments that choke on dense MPE, and Passthrough (“Send the DAW's MIDI out this port too”), off by default. Passthrough passes on MIDI arriving from the DAW; while it is off, MIDI echoed back from the same port is blocked. The same port cannot be both MIDI IN and MIDI OUT; that is a loop, and MIDISketch refuses it.
Switching modes, ranges and routing per DAW: MPE & Pitch Bend Setup.
Synth Setup Notes
Looking for one synth? Synth Setup lists every synth MIDISketch knows, with the steps the app shows for it.
What each synth needs to bend the way MIDISketch draws. Verified and Confirmed mean tested with MIDISketch. Not tested here means the maker's own docs or release notes say so and nobody has reported on it with MIDISketch yet. Menus move between versions, so when a step does not match, the synth's manual wins. The Synth tab shows its own tag and steps next to many of these, and step-by-step setup for the verified ones is on the compatibility page. A synth missing here is not known to fail; report how it went on the forum and it gets added.
Synths with MPE
Every note bends on its own. Turn MPE on in the synth and match its bend range to MIDISketch's, 48 by default.
| Synth | Status | What to set |
|---|---|---|
| Serum 2 | Verified, on by default | Nothing to set. Bend range ships at 48. One quirk in 2.1.4: Pressure routed through a Macro into a fast target can click at note-on; update to 2.1.5 or map Expr Z directly in the Matrix. |
| Vital | Verified, one switch | ADVANCED tab, bottom left, MPE ENABLED, then bend range 48. Presets can switch MPE off again; MIDISketch applies an MPE-on init preset the first time it loads Vital, but a saved project restores Vital's own state. In MPE mode MIDISketch checks for you. If Vital's MPE is off or its BEND doesn't match MIDISketch's range, a card titled Vital doesn't match MIDISketch says so; Fix it turns MPE on and sets the BEND. If a sketch plays more notes at once than Vital's voice count, Vital needs more voices offers Fix it, which raises the voices to 14. It never asks for a 1-voice mono patch. Each card asks once per setting. Flipping Vital's own MPE switch while notes play resyncs them. |
| Serum 1 | Verified, manual | MENU, tick MPE enabled, and set the MPE pitch bend range to 48 at the bottom of the same menu. |
| Phase Plant, Pigments, Diva | Confirmed | Enable MPE in the synth and set its bend range to 48. Pigments hosts as an embedded editor with no fuss. |
| Surge XT | Confirmed | Enable MPE in Surge XT's menu and set its bend range to 48; it hosts as an embedded editor. Surge XT could fault while processing audio in 0.9.9.6, and its floating window jittered when moved. Both are fixed in 0.9.9.7, so update if you are on an older build. |
| Omnisphere 3 | Confirmed, has MPE | Omnisphere 3 has MPE, so it runs in MPE mode like any MPE synth, no Pitch Wheel mode needed: in Omnisphere, System, MPE: On, MPE Pitch Bend Range 48. The Synth tab shows the same steps next to it. Only Omnisphere 2 and older lack MPE. |
| Hive 2, ACE, Bazille (u-he) | Has MPE, not tested here | MPE arrived in u-he's August 2024 updates (Hive 2.1.2, ACE 1.4.3, Bazille 1.1.3, with Diva 1.4.8). Turn MPE on in the synth and set its bend range to 48. |
| Repro-5 (u-he) | Has MPE, not tested here | MPE since Repro 1.1.3 (December 2024). Repro-1 is a mono synth and plays well in Pitch Wheel mode. |
| Zebra 3 (u-he) | Has MPE, not tested here | Its 3.0.1 update added a per-voice pitch bend setting, which is what bends drawn per note need. Zebra 2 has no MPE, see below. |
| Arturia V Collection | Has MPE, not tested here | On Arturia's MPE list: CS-80 V4, Jup-8 V4, Jup-8000 V, Mini V4, MiniBrute V, Prophet-5 V, Prophet-VS V, OP-Xa V, SEM V3, Jun-6 V, MS-20 V, SQ80 V, CZ V, Emulator V, Synthx V, Vocoder V, Pure LoFi and Pigments. Turn MPE on in the instrument's settings and set its bend range to 48. Analog Lab itself has no MPE, so load the instrument on its own; DX7 V and Modular V are not on the list. |
| Equator 2 (ROLI) | Has MPE, not tested here | Built for MPE. The per-note bend range is in its MIDI and MPE settings (Note Configuration), 12 to 96, default 48. |
| Dune 3 (Synapse Audio) | Has MPE, not tested here | Turn MPE on in its settings and set the pitch bend range to 48 up and 48 down. A preset change can put the range back to 2, so check it after switching presets. |
| TAL-U-NO-LX | Has MPE, not tested here | Turn MPE on in the plugin. It bends ±48 with channel 1 as the master, which is what MIDISketch sends. |
| SynthMaster One, SynthMaster 3 | Has MPE, not tested here | MPE mode with channel 1 as the global channel. Set its MIDI input to Omni and its pitch bend range to 48 in the settings. Map CC74 to CC1 lets presets built on the mod wheel follow Slide. |
| Synplant 2 | Basic MPE, not tested here | Per-note pitch bend and pressure. Set its pitch wheel range in its MIDI settings to match MIDISketch's. |
| Falcon (UVI) | Has MPE through a script, not tested here | Add the MPE script to the program or a layer (Event Processors, Script Processor, Utilities, MPE). Its X axis Range is the bend range: set it to 48. |
| Cherry Audio (Dreamsynth, Memorymode, Mercury-4 and more) | Most have MPE, not tested here | Settings (gear), Interface, tick Enable MPE mode, then open the MPE button in the toolbar. Some newer Cherry Audio synths have no MPE; the maker keeps a list. |
| Pianoteq | Per-note bend only, not tested here | Bends each note on its own, up to ±24 semitones: set MIDISketch's MPE bend range to 24 and Pianoteq's Pitch Bend range (Options, MIDI) to -2400 and +2400 cents. |
Synths without MPE: Pitch Wheel mode
One pitch wheel for every note, so these play in Pitch Wheel mode: one bend at a time, with the synth's bend range matching MIDISketch's.
| Synth | Status | What to know |
|---|---|---|
| ZENOLOGY, ZENOLOGY Pro | No MPE | Roland's ZEN-Core synth plays in Pitch Wheel mode. In ZENOLOGY, Edit, Pro Edit, Common: set Bend Range Up and Bend Range Down to the Pitch Wheel range in MIDISketch's MIDI Settings. The Synth tab shows the same steps next to it. |
| Massive X | No MPE | Still no MPE through version 1.7, though users keep asking for it. Opens in its own window inside MIDISketch. |
| Massive, Kontakt, Reaktor, FM8, Absynth | Basic MIDI | Open in their own window and play notes, velocity and sustain. Kontakt has no MPE mode and bends one octave at most, so pick 12. |
| Omnisphere 2, Keyscape, Trilian | Basic MIDI | No MPE in these (it arrived with Omnisphere 3), so use Pitch Wheel mode for bends. They are the heaviest plugins to host and the app carries the most protection for them; they play notes fine, and the app lists them as basic MIDI. |
| Sylenth1, Nexus, Spire | No MPE | They have a plain pitch wheel and nothing per note. |
| Avenger (Vengeance) | No MPE | None in its manual or updates through version 2.4. |
| Zebra 2 (u-he) | No MPE | Its voice engine predates MPE and u-he says it cannot be made to fit. Zebra 3 has MPE. |
| Dexed | Partial MPE | It has an MPE switch, but its pitch bend has been reported to stay shared by every note in MPE mode, so bends drawn per note come out together. Pitch Wheel mode is the safe choice. |
Hosting notes
ShortCircuit XT needed special handling inside MIDISketch and got it; notes and sample playback are solid.
Which DAWs Work
MIDISketch ships as a VST3, a CLAP, an AU on macOS, an AAX for Pro Tools on Windows and macOS, and a standalone app. Any DAW or plugin host that loads one of those formats should run it, whether or not the host knows what MPE is. Your synth loads inside MIDISketch, so the DAW only has to open an instrument and take audio back from it. A host missing from the confirmed list below has not been reported on yet; it has not failed.
| Platform | What the installer puts in |
|---|---|
| Windows 10 or later, 64-bit | VST3, CLAP, Standalone |
| macOS 10.15 or later, Intel and Apple Silicon | AU, VST3, CLAP, Standalone |
| Linux x86_64 | VST3, CLAP, Standalone |
The AAX build for Pro Tools is its own download for Windows and macOS, with install steps, at eliotonic.com/aax.
Confirmed
Tested here or reported working by users, with the format to load. Step-by-step setup lives in the DAW guides and on the compatibility page.
- FL Studio 20 and later (VST3). FL has no native MPE, which is exactly the gap MIDISketch fills.
- Ableton Live 11 and later (VST3)
- Logic Pro (AU)
- Reaper (VST3)
- Bitwig Studio (CLAP. Turn on Bitwig devices: per-note for per-note bends in Polymer and Bitwig's own devices. The VST3 hosts synths inside MIDISketch only.)
- Studio One 5 and later (VST3)
- Cubase and Nuendo 12 and later (VST3)
- Reason 12 and later (VST3)
- GarageBand for Mac, on a desktop or laptop (AU). Not GarageBand for iPhone or iPad, which cannot load desktop plugins (see below). Load it as the track’s instrument: Plug-ins → instrument slot → AU Instruments → Eliotonic → MIDISketch. GarageBand has no MPE of its own, so play a VST3 or AU synth hosted inside MIDISketch, or the built-in MIDISketch Synth or a SoundFont.
- Pro Tools (AAX, Windows and macOS). The AAX build is its own download, see eliotonic.com/aax. A VST3 wrapper such as Blue Cat PatchWork, loaded as an AAX with MIDISketch inside it, works too.
On Windows with display scaling at 125% or 150%, use 0.9.10.3 or later for the CLAP. Earlier builds could show it cropped to its top-left corner in Bitwig and FL Studio, and REAPER could shrink its window by itself.
Should work, not confirmed yet
Each of these loads VST3, CLAP or AU, so MIDISketch is expected to run in them. If you use one, a line on the forum moves it to the confirmed list.
- Cakewalk Sonar and Cakewalk by BandLab (VST3, Windows)
- Waveform by Tracktion (VST3)
- Ardour (VST3, all three platforms)
- Mixcraft 9 and later (VST3, Windows)
- Renoise 3.4 and later (VST3)
- Digital Performer 10 and later (VST3 or AU)
- Samplitude (VST3, Windows)
- Zrythm (CLAP or VST3)
- Cantabile, Gig Performer, Element and other live plugin hosts (VST3)
Will not load
- LMMS. The 1.2 releases and the 1.3 alphas load VST2 and LV2 plugins only, so MIDISketch never appears in the LMMS plugin list. CLAP support for LMMS exists as an unfinished pull request, not in any release. Run the standalone next to LMMS instead (it installs with the plugin, and on Linux it is the main download): write the part with the built-in synth, a SoundFont or your synth hosted inside it, then export from FILE → Export...: the AUDIO tab’s RENDER for a WAV with every bend and expression baked in, or the MIDI tab’s EXPORT TO FILE for the notes, and bring the file into the LMMS song. The audio route is the one that keeps the per-note bends.
- Browser and mobile DAWs: BandLab, Soundtrap, GarageBand for iPhone and iPad, FL Studio Mobile. None of them load desktop plugins, and MIDISketch is a desktop app for Windows, macOS and Linux.
- Anything VST2-only. There is no VST2 build. Steinberg closed VST2 licensing to new developers in 2018, so there cannot be one.
No DAW at all
The standalone needs no host. It opens its own audio device, takes MIDI from any controller in the settings gear → MIDI Settings... list, hosts the same VST3 or AU synth inside, and exports the result as audio, Standard MIDI or MPE MIDI. MIDI Settings also lists hardware MIDI OUT ports, so the standalone can play an outboard synth or a virtual MIDI port that another program listens to. Recording a controller in the standalone is covered under MPE Controllers.
MIDI FX
MIDISketch MIDI FX is MIDISketch as a MIDI effect: a separate plugin that installs next to the main one. It sits in front of a track's instrument and plays it, so you can draw straight into the DAW's own synths, like Alchemy in Logic or Polymer in Bitwig, with no second track and no MIDI routing. It only sends MIDI, so it doesn't host a synth and the parts that need audio are hidden.
Where It Works
- Logic Pro (AU): the recommended way in Logic. In your synth track's MIDI FX slot, choose Audio Units → Eliotonic → MIDISketch MIDI FX. Turn on MPE in the synth and set its bend range to 48; in Alchemy and Logic's other MPE instruments that is MIDI Mono Mode set to On (Base Channel 1) and Mono Mode Bend Range 48. See the Logic guide.
- Bitwig Studio (CLAP): under Note FX, in front of the instrument. Use the CLAP, which keeps MPE, and turn on Bitwig devices: per-note for Polymer and Bitwig's own devices. See the Bitwig guide.
- Ableton Live doesn't load MIDI effect plugins. Use the main MIDISketch there.
- FL Studio and Pro Tools: use the main MIDISketch. There is no AAX version of MIDI FX.
- Other hosts that take VST3 or CLAP MIDI effects should run it. If yours does, a line on the forum adds it here.
Download
| Platform | Formats |
|---|---|
| macOS | AU, VST3, CLAP |
| Windows | VST3, CLAP |
MIDI FX comes with the main installers on the download page. On a Mac, in the installer’s Custom Install list, MIDI FX for Logic (AU) is ticked by default and MIDI FX for other DAWs (the VST3 and CLAP) is a box you tick. On Windows, choose Custom installation and tick MIDISketch MIDI FX, which installs the VST3 and the CLAP. Up to 0.9.10.0 it was a download of its own. There is no Linux version.
MIDI from the DAW always passes through the MIDI FX, also in a project saved with a hosted synth. Note previews always go out to the instrument, since the MIDI FX has no sound of its own. That is why Preferences > SOUND has no To MIDI out choice there.
If the track isn’t playing, the playhead waits and a hint says This track isn’t playing: Select its track in your DAW, or add an instrument after MIDISketch. Logic stops running a track that isn’t selected while the transport is stopped, so the hint can show with an instrument in place too.
MPE & Pitch Bend Setup
In the video: Convert MPE to standard MIDI (22:32, v0.9.7)MIDISketch defaults to ±48 semitones pitch bend range. If your pitch curves sound like tiny bends, your synth's range is wrong.
MPE Mode
- Each note plays on its own MIDI channel: channels 2 to 15, fourteen voices at once. Channel 16 carries the notes you audition while editing.
- Pitch bend, pressure, and slide sent per-channel
- Synth must be in MPE mode with its pitch bend range matching MIDISketch's, 48 by default
- MIDISketch models both ranges an MPE synth declares: the per-note range on channels 2 to 15, and the separate range on the manager channel that the global pitch wheel uses. A wheel move and a drawn per-note bend no longer fight over one number.
Pitch Wheel Mode (Mono Bend)
In the video: Pitch wheel mode and standard MIDI (1:01)- All notes play on channel 1 with pitch wheel messages
- Every note editing tool works exactly as it does in MPE mode: pitch points, segments, Bezier handles, LFOs and lanes. Only the output changes, so the one limit is that bends are not polyphonic
- One wheel for every note: a bend drawn on one note moves every note sounding at the same time, and the roll draws a ghost on the notes it drags along. The full picture is under Which Synths Work
- The wheel follows the newest note that has a bend; a flat note started later does not reset it. Sub-block interpolation keeps it smooth (no zipper noise)
- Configurable bend range: ±2, ±12, ±24, ±48 semitones (must match synth setting). A custom value is typed into a MIDISketch dialog, not a stock OS prompt.
- RPN 0 (pitch bend range) automatically sent at playback start
- DRAG MIDI and the Export window default to Bend lane: pitch wheel events, not MPE channel splits, until you pick another format
- The header pill reads
PWwith the range while it is active - Works with any synth, no MPE configuration needed
- Best for monophonic lines and lead bends
How to Switch
Open the settings gear → MIDI Settings..., or click the output pill in the header, which opens the MPE & PITCH tab. Select MPE (Polyphonic) or Pitch Wheel under MODE. The bend ranges are under PITCH BEND on the same tab: MPE mode shows MPE Bend Range and Global Wheel, Pitch Wheel mode shows Bend Range, each ±2, ±12, ±24, ±48 or Custom (1 to 96). On the MIDI OUT tab, under WHERE NOTES GO, MIDI Output and Internal Audio can both be on at once.
Every fresh instance asks which mode you want before you start. A bend range changed in the routing dialog applies to that session only; new instances always start at the MPE standard of 48.
MIDI OUT Routing by DAW
When using MIDI Output to route to an external synth in your DAW:
| DAW | Plugin Format | Notes |
|---|---|---|
| FL Studio | VST3 | Set MIDISketch's wrapper Output port and the synth's wrapper Input port to the same number. VST, AU and CLAP synths only: FL's own instruments (Slicex, Sytrus, Harmor, FLEX) have no Input port, so for those host a VST3 inside MIDISketch instead. |
| Ableton Live | VST3 | Set MIDISketch's MIDI output as the input source on your synth track. |
| Logic Pro | AU | Put MIDISketch MIDI FX in your synth track's MIDI FX slot, the recommended way. Or load MIDISketch as the instrument and host your synth inside it. See the Logic guide. |
| Bitwig Studio | CLAP required | For MPE output routing to external synths, you must use the CLAP version of MIDISketch. VST3 in Bitwig does not pass MPE data between plugins. For Polymer and Bitwig's own devices, also turn on Per-note bends under BITWIG on the MIDI OUT tab of MIDI Settings (shown only in the CLAP inside Bitwig). In User Preferences > GENERAL the same switch is Bitwig devices: per-note. |
| Reaper | VST3 | Reaper's flexible routing handles MPE MIDI output natively. |
Important: Hosting a synth inside MIDISketch (via the Synth tab) works in all DAWs with all formats. The CLAP requirement for Bitwig only applies when routing MIDI OUT to a separate synth on another track.
Straight to a Hardware Port
The DAW does not have to be in the middle. Under HARDWARE PORT on the MIDI OUT tab of MIDI Settings, pick a port and MIDISketch sends to it directly, in every plugin format and in the standalone: a hardware synth on USB, an interface's MIDI OUT for a DIN synth, or a virtual port another program listens to. MPE reaches the instrument whole whatever the host does with MPE, and a synth hosted in the Synth tab keeps playing alongside. Details under Which Synths Work.
Step-by-step setup for your DAW lives in the DAW guides.
Output Channels (Experimental)
For synths and hardware that are not MPE but take one part per MIDI channel, such as a multitimbral instrument, MIDISketch can send each note on a channel you choose. This is experimental and off by default.
| Action | Result |
|---|---|
| Click the MPE pill in the header | MIDI Settings opens on MPE & PITCH. Under SYNTH COMPATIBILITY, shown only while MPE (Polyphonic) is selected, turn on Multi-channel and set Ch [n] to [n]. The pill then reads MULTI lo-hi: 48st. |
| Right-click a note → Channel | Pin the note to a specific MIDI channel. It gets a coloured outline and a number chip. |
| New notes | Take the channel of the last note you selected |
| Notes left on Auto | Rotate over the Multi-channel range |
Note channels save with the sketch, survive chopping, joining, splitting and duplicating, and export with the Multi-channel MIDI format, see Export. CC lanes stay on their own channels, and a synth loaded while Multi-channel is on is not switched into MPE.
Two limits: changing the channel range while notes are held cuts them, and FL Studio cannot filter a plugin’s MIDI by channel, so inside FL this is mainly for export and hardware.
File Formats
| Format | Extension | Contents |
|---|---|---|
| MIDISketch Session | .ms | Everything: notes, synth state, CC lanes, expression curves, bezier handles, LFO metadata, UI state. Save Sketch and Open Sketch... start in Documents/MIDISketch/Sketches (made on first use), then in whatever folder a sketch was last saved to or opened from. That folder is kept apart from the MIDI and audio dialogs’ folder, so importing a MIDI file doesn’t change where sketches go. FILE → Open Recent lists the last 8 sketches you opened or saved, with Clear Recent. |
| MPE File | .mpe | The older MIDISketch format: notes with pitch curves, expression, velocity, ghost states and loop settings. Still opens through FILE → Import → MIDI / MPE... and Merge MIDI / MPE into the roll...; Export no longer writes it. |
| MIDI | .mid | Five formats from the Export window: Notes only, Note steps, Bend lane, MPE and Multi-channel, see MIDI Export. |
| SoundFont | .sf2 | Played by the SF Loader instrument |
| Template | .mst | FILE → Templates → Save as Template... / Open Template..., kept in Documents/MIDISketch Templates. A Default.mst there loads into new instances. |
| Scala scale / keyboard map | .scl / .kbm | Imported in Tuning Snap |
| Video | .mp4 / .mov / .m4v | FILE → Import → Video..., on Windows and macOS; on Linux the window says video isn’t supported |
| Image overlay | .png / .jpg / .bmp / .gif | FILE → Import → Image... |
| Scanned audio | .wav / .mp3 / .ogg / .flac / .aiff | FILE → Import → Scan Audio (Spectrogram)... |
| Playhead picture | .png / .jpg / .jpeg / .gif / .svg | Design > Custom Playhead |
| Audio | .wav / .flac | Rendered through the loaded synth: 16 or 24-bit, or 32-bit float for WAV, at 44.1, 48 or 96 kHz. |
A MIDISketch file opens in the standalone app by double-click and carries its icon. Sketches reopen at their saved tempo, and Import MIDI takes the file’s tempo in the standalone.
Keyboard MIDI (QWERTY)
Play notes on your computer keyboard, laid out as two piano octaves:
- Lower octave: white keys Z X C V B N M , . /, black keys S D G H J L ; (Z is C)
- Upper octave: white keys Q W E R T Y U I O P, black keys 2 3 5 6 7 9 0 (Q is the C an octave up)
- AZERTY and QWERTZ move the letters to match. The window labels the rows UPPER (1-0 / Q-P) and LOWER (S-; / Z-/).
-/=(or+) = shift octave down/up- Polyphonic with per-note MPE channels
- Works with recording (REC armed)
Computer Keyboard in the grid dropdown opens the Computer Keyboard window (the item reads Computer Keyboard (On) while it is active), and its big Keyboard MIDI: ON / OFF button switches it. The window also has the layout pills and Octave: C3 with - and + (C0 to C8, default C3). Notes play at velocity 100. Combinations with Ctrl (Cmd on a Mac) are left to the app’s shortcuts. The keys also play the synth while the Synth page is showing.
Keyboard Layout
The keyboard window has a layout switch for international keyboards:
- QWERTY (default): English
- AZERTY: French
- QWERTZ: German
Window Size & UI Scale
“Make the plugin smaller” can mean two things: the MIDISketch window itself, or the size of everything drawn inside it.
| You want | Do this |
|---|---|
| A smaller or bigger window | Drag the grip in the bottom-right corner of the MIDISketch window. It works in every DAW and in the standalone app, and the size saves with the project. In Logic (the AU) the right and bottom edges resize it too, and with a synth docked, so does the grip in the synth panel’s title bar. Loading a synth never grows the window: a docked synth is fitted to the synth panel instead, see Docked or Floating. Reset Size in the synth strip, or Fit window on a synth marked Cropped, fits the window to the synth. The smallest window is 600 by 400 at 100% UI Scale, and bigger at higher scales. |
| Everything inside smaller or bigger | UI Scale, 75% to 200% in 25% steps. Settings gear → User Preferences... → GENERAL, the UI Scale footer row at the bottom of Change Design (on every tab), or the footer of Quick Start // Help, which opens at startup while Show on Startup is ticked (on by default). FILE → Help → Help... or the ? button at the bottom of the roll’s right-hand corner stack brings it back. Text, buttons and click areas all scale together. |
| The whole screen | Standalone only: Fullscreen from the Settings gear, or F11. F11 or Esc leaves it. On a Mac, fullscreen hides the menu bar and the Dock, and the header makes room for the notch. |
Laptops and small screens. MIDISketch fits its window to the space your DAW gives it, so the tools on the right and the bar along the bottom always stay on screen. Until you pick a UI Scale yourself, MIDISketch picks one for the screen it opens on, from the screen’s size, pixel density and usual viewing distance (a desk monitor usually gets 100%, a laptop or a 27-inch screen 125%), then lowers it if it doesn’t fit. The plugin and the standalone keep separate UI Scale choices, and a plugin with no choice of its own never opens bigger than what fits. The 75% scale is there for small laptop screens: the smallest window size follows the scale, so the corner also drags in further. In FL Studio on Windows the fit also uses FL’s own window area, so the CLAP on a laptop fits like the VST3, and the window keeps its size when you close and reopen it. In other hosts the host sets the window size. With Windows display scaling (125% or 150%), the CLAP shows its whole window in Bitwig, REAPER and FL Studio.
If the window still doesn’t fit. FILE → Help → Copy Window Report copies a text report of the window, its parents, the screens and the scales to the clipboard (Window report copied - paste it to us (Discord or email)); paste it into a message on the support page. A plugin also writes the same report to window-report.txt in its app data folder 4 seconds after it opens (on Windows %APPDATA%\MIDISketch\window-report.txt), for a window cut off so far that FILE is out of reach.
A synth hosted inside MIDISketch has its own editor, sized by that synth. If it is floating in its own window, RE-DOCK in the Synth tab’s parameter strip puts it back inside MIDISketch.
Preferences
In the video: Preferences tab (19:40, v0.9.7)Settings gear → User Preferences... opens a card with six tabs: GENERAL, INPUT, EDITING, SOUND, DISPLAY and FILES. The tab you used last is remembered.
| Tab | What is in it |
|---|---|
| GENERAL | UI Scale (75% to 200%). Window: Navigation Bar (the mini-map strip under the transport), Status Hints (on by default: “The tool tips on the bottom line, right of the EXPRESSION tab.”), Fullscreen (F11) (standalone only; F11 or Esc leaves it), the Compatibility renderer (GDI) (Windows only; leave it off unless you see stutter) and Bitwig devices: per-note (CLAP, experimental) (shown only in the CLAP inside Bitwig; see MIDI FX and the Bitwig guide). Privacy: Share Basic Usage Data, optional and anonymous. |
| INPUT | Right-Click, a small matrix with a row for Points and one for Notes, each MENU or QUICK DELETE. Quick delete removes on a tap and opens the menu on a hold; points default to it. A right-drag erases notes in either mode. Three speed sliders: Trackpad Scroll Speed (1.0x to 5.0x), Mouse Wheel Speed (0.25x to 4.0x, default 1.00x) and Ctrl + Middle-Drag Zoom Speed (Cmd + Middle-Drag Zoom Speed on a Mac; 0.25x to 4.0x, default 1.00x), which sets how fast Ctrl/Cmd or Alt/Option + middle-drag zooms. Mouse Wheel Speed applies only to a notched mouse wheel and sets both its scrolling and its zooming (plain scroll, Shift + scroll pan, Ctrl/Cmd + scroll time zoom, Alt/Option + scroll pitch zoom). Trackpad Scroll Speed applies only to trackpad panning; trackpad zoom is affected by neither. Keys & Controllers: Hold-to-erase: erase on hover (with the erase key held, every note the cursor passes over goes, no drag needed), Game Controller (a gamepad moves a crosshair and places notes) and Shortcuts, with two pills: VIEW ALL and EDIT KEYS. |
| EDITING | Auto-Expand Timeline, the Free Transform (Cmd/Ctrl+T) shortcut, LFO Pull-up Rail (the amber rail above a selected note or segment: pull it up to make an LFO), View Before Bar 1 (on for new installs), Camera follows Shift / Ctrl + Up/Down transposes (Never, Leaves view or Always), and Assign Width (draw Pressure, Slide or Pan as the note’s thickness; per project, and Off each time MIDISketch opens). |
| SOUND | Hear Notes When You: five chips (Draw, Grab or move, Drag points, Arrow transpose and Piano keys). A lit chip means that action plays a preview. All are on by default, and hovering a chip says what it covers. Previews: During playback: Hear edits (the default) or Silent. Loudness: Fixed (velocity 80, the default) or Note’s velocity. Moving a note: Glide or Replay each key. Glide (the default) bends the note to the exact pitch as you drag and needs an MPE synth; Replay each key plays the note again at each new key, for samplers, drum kits and synths such as Reason Rack devices. Pitch Wheel output always replays. To MIDI out: Auto, Always or Never. Auto (the default) sends previews out of MIDISketch only while its own synth is off. Always also sends them to your DAW track and MIDI hardware, so a recording DAW records them. Never keeps them inside MIDISketch. Metronome: Sound (Click, Tone or MIDI note) and Volume (0 to 200%), saved with the project. The MIDI note’s channel and pitch are on a right-click of the metronome button. |
| DISPLAY | Playback: Hide Ghosts During Playback, Stopped Playhead Line (a dashed line where playback stopped), Playback Start Line (a dashed line where the last playback started) and Note strike animation (a note’s name pops up as the playhead hits it). Roll & Header: Chord / Key Readout, Delete Animation (a deleted note lifts, flashes and fades), Header Waveform (where it is switched on and off; not in the MIDI FX build), and Pitch labels: Cents or Semitones, for how a pitch point’s move reads. |
| FILES | Autosave: on by default; Every 1, 2, 5 or 10 min (default 2), Keep 5 / Keep 10 / Keep 20 per sketch (default 10), Where: MIDISketch folder or Next to the sketch, and a link, Open the autosave folder. |
The bottom of every tab shows the license state: ✓ Licensed to: e***@domain (an eye button shows the full email), the trial days remaining, Trial expired, or License upgrade pending. Under it is a version line with the format, for example MIDISketch v0.9.10.4 · VST3 (VST3, AU, AAX, CLAP or Standalone, plus MIDI FX in that build).
The Status Hint sits on the bottom strip, in the expression header row right of the EXPRESSION tab, centred on the window. It hides when there is no room or a dialog is open, and can be switched off here. The ? button at the bottom of the roll’s right-hand corner stack opens Quick Start // Help. The shortcut list opens from Quick Start’s ALL SHORTCUTS, the / or ? key, or INPUT → VIEW ALL, and Customize Shortcuts rebinds them.
The gear menu, in order: User Preferences..., MIDI Settings... (three tabs: MPE & PITCH for the mode, both bend ranges and Multi-channel output; MIDI IN for MIDI input ports and the DAW input toggle for host MIDI, which lasts for the session only so a saved project can never come back silent; MIDI OUT for where notes go, the hardware port, thinning of dense MPE and, under TIMING, the Playback offset (see Playback)), Audio Settings... (standalone), Recording Settings... (count-in, capture density, take simplification, LFO capture, the record timing offset), Change Design, Customize Shortcuts, Camera Settings... (Right-Click Follow, Follow Smoothness, Camera Shake, which starts Off every launch) and Fullscreen (F11) (standalone). The standalone remembers its tempo. Playhead colour, opacity, size and picture are in the Design window, the keyboard layout is in the keyboard window, the PLUGIN / DAW spacebar switch is in the playback bar, and file dialogs remember their last folder on their own (sketches keep their own, starting in Documents/MIDISketch/Sketches). Time and pitch snapping, custom note names, groove and tuning snap all survive closing and reopening the plugin window.
Oscilloscope
Press O, or pick Visualizer from the FILE menu, to open a Visualizer: a phase-locked oscilloscope of the audio output in its own window. Several can be open at once; the FILE item then reads New Visualizer with a count.
Sync modes (in the Wave view only):
- Follow: locks to the lowest or highest sounding note, with Low and High pills, so a bend reads as a steady wave
- MIDI: locks to a note you pick: press LEARN, then play the note
- Snap: locks to the DAW beat, at 1/16, 1/8, 1/4, 1/2 or 1 bar
- Free: no sync
Useful for verifying synth output and checking pitch accuracy. The waveform in the header’s status pill is a small version of the same scope; click it to open a Visualizer, see Header Waveform.
Views. The mode dropdown lists exactly Wave, XY, Groove and Chord. XY is a stereo Lissajous view with Offset, Persist and Glow sliders. Groove plots each note-on as a point on a clock face, placed by where it lands in the beat and by its velocity, with FADE (0.15 to 4.0 s) and SUSTAIN (a held note’s point stays and sweeps). The Chord view draws the notes you play or select as one 3D figure: a pure (just) chord closes into a still knot, a tempered one keeps re-tying. It reads the MIDI, not the audio. Drag to orbit: dragging up or down tilts it the full 90 degrees to a true top-down view, snapping to top-down within 3 degrees, and a double-click resets the view. SPIN sets its turn speed, from Off to 5x. SYNC, next to the SPIN readout, locks the turn to the tempo, on the beat while the song plays; the SPIN slider then steps through 4 bars, 2 bars, 1 bar (the default), 1/2 bar and 1 beat per turn. The Chord view follows the Stamp tool: it shows the chord being built or about to be placed, tuned as it will be placed. With nothing playing or selected it reads Play or select notes. The footer with the controls shows on hover, and the window can be dragged past the roll’s edges, where it turns see-through with a faint grip to move it.
The colour swatch in the header opens a picker with Reset and a By volume box that colours the waveform green to yellow to red with loudness (a custom colour overrides it). Right-click the Visualizer for Lock / Unlock (locked, clicks pass through to the roll), Hide Controls / Show Controls and Close. The eye button also hides the controls, leaving a see-through scope over the roll.
Camera & Content Creation
Follow / Reveal Mode
Wtoggles Reveal mode: notes appear as the playhead reaches them (great for content creation)- Settings gear → Camera Settings...: Right-Click Follow (saved, on by default, though Follow Note is always in a note’s right-click menu whatever it is set to), Follow Smoothness eases the camera, and Camera Shake is session only and starts Off every launch
Reference Image Overlay
Import a PNG, JPG, BMP or GIF (FILE → Import → Image...) as background behind the piano roll with opacity, position, scale, and aspect ratio controls. Useful for tracing notation or screenshots.
Known Issues in 0.9.10.4
A few places where 0.9.10.4 says one thing and does another. What is written here is how it really behaves.
- The ? help overlay is out of date in places. It lists
Alt+1toAlt+4lane keys that no longer exist. It has the wheel the wrong way round: the wheel pans vertically andShift+wheel pans horizontally. It callsFOff/Play/Cam, but F only switches between Off and Playhead. The full list is under Keyboard Shortcuts. - Tune N notes (T / Ctrl+T) in the multi-note menu and Tune Points (T / Ctrl+T) in the grid dropdown name Ctrl+T, but by default
Ctrl+T(Cmd+Ton a Mac) opens Free Transform.Truns Quick Tune. - The Playlist’s pattern list shows about six patterns and does not scroll.
- Right-Click Follow in Camera Settings has no effect. Follow Note is always in a note’s right-click menu.
- In the standalone on a Mac, Ctrl+click on the BPM box doesn’t open its menu. Use a two-finger click.
Written from the MIDISketch v0.9.10.4 source code
Ready to create?
Download the plugin or get your license to unlock full access.