MIDI editing sneak preview

Ardour 3 is still not ready for testing by non-developing users, but I wanted to provide a preview of the way the "inline" MIDI editing system is taking shape, and to provide a record of key- and mouse-bindings for future manual writers.

This document is subject to updates and corrections at any time

Ardour's MIDI editing is based on a few basic principles:

  1. Editing should be done without having to enter a new window
  2. Editing should be driven by the keyboard as much as possible
  3. Mouse-driven operations should be available where they are obvious and link into new user expectations

Currently, and in the initial 3.0 release, MIDI editing will be primarily restricted to note data. Other kinds of data (controller events, sysex data) are present and can be added and deleted, but not actually edited. Probably ...

Ardour 3 has two basic modes of operation: region-level editing (the default, and substantially the same as in 2.x), and "internal" or "note-level" or "MIDI-level" editing. The "m" key toggles between these two modes. In region-level mode, operations are carried out on regions, and the data inside the regions (audio or MIDI) is not affected. In note-level mode, there isn't a way to move regions around and they generally stay the same size, but you can modify the note data inside MIDI regions.

When you enter note-level mode, the icons on the mouse mode tool buttons will change a little to reflect their new operations.

Selecting/Navigating note-by-note

Tab selects the next note. Ctrl-Tab (or Cmd-Tab on OS X) selects the previous note. Shift-Tab or Shift-Ctrl-Tab adds the next/previous note to the selection.

Selecting notes with the mouse

You can click on a note to select it. Once you've selected one note, shift-click on another to select all notes between them. To add a note to the selection, use ctrl-click (cmd-click on OS X). You can also click and drag outside of a note to "rubberband select" a series of notes.

Moving notes

Right arrow and Left arrow move the selected note(s) early and later in time.

Changing pitch values

The up arrow key increases the pitch of the selected notes. The down arrow key reduces the pitch of the selected notes. If any of the selected notes are already at the maximum or minumum value, no changes will be made to any of the notes, to preserve relative pitches. You can override this with the Alt/Option key. The default shift distance is one octave. Use the Shift modifier to alter this to semitones.

Changing velocity values

Ctrl-Up arrow (Cmd-Up arrow on OS X) increases the velocity of the selected notes. The Ctrl-Down arrow (Cmd-Down arrow on OS X) reduces the velocity of the selected notes. If any of the selected notes are already at the maximum or minumum value, no changes will be made to any of the notes, to preserve relative velocities. You can override this with the Alt/Option key.

Changing start/end/duration

Comma (',') will alter the start time of the note. Period ('.') will alter the end time of the note. Both keys will by default make the note longer (either by moving the start earlier or the end later). For the opposite effect, use Ctrl-comma/Ctrl-period (or Cmd-command/Cmd-period on OS X). The note will be altered by the current grid setting. To change the start/end positions by 1/128th of a beat, use the Alt/Option key along with either Comma, Ctrl-Comma, etc.


The q key will quantize the selected notes using the current quantize settings. If the quantize settings have not been set for this session yet, the quantize dialog will appear. Alt/Option-q will display the quantize dialog to allow you to reset the quantize settings and then quantizes the selected notes. The default quantize settings are: quantize note starts to the current grid setting, no swing, no threshold, full strength.