MIDI Recording, Playback and Editing
The biggest single change in Ardour 3.0 over previous versions of the program is its ability to function as a fully-featured MIDI sequencer. Over the last several years, a variety of developers have worked hard to create a model for handling MIDI that is as integrated with Ardour's existing audio handling facilities and uses the same general workflow as much as possible.
The screenshot shows 2 MIDI tracks in Ardour. The upper one contains one of Bach's lovely inventions, the lower one is a short percussive-mode rhythmic loop. Between them is some CC/automation data for CC #35 (Breath control).
Key features of Ardour 3.0 MIDI handling
- All editing is done in-place, in-window. There is no separate piano roll window or pane. Edit notes right where you see them.
- All MIDI I/O is done via JACK for sample accurate timing and maximal efficiency when communicating with external software synthesizers
- Every MIDI track has its own JACK MIDI port for input; it may have an arbitrary combination of audio and MIDI outputs, depending on the signal processing in the track; the full flexibility of JACK connectivity is present for MIDI just as it is for audio.
- Full automation for MIDI tracks, integrated with the handling of all MIDI CC data for each track
- Controllers (CC data) can be set to discrete or continuous modes (the latter will interpolate between control points and send additional data)
- Normal or Percussive mode for note data editing
- The "scroomer" (a combination scroll/zoom tool) for altering the zoom level and range of visible MIDI data
- As mentioned above, all editing is done in-place
- Fader (volume) control currently operates on transmitted MIDI data, not by sending CC #7
- All note/data editing is per-region. There are no cross-region operations at this time
- By default, copying a MIDI region creates a "deep link" or "cloned copy" - both regions share the same data source, and edits to the contents of one will affect the other. To break this link, right click on the region and select "Fork" from the context menu, after which the selected region(s) will have their own copies of only the data that they visually display on screen. You will not be able to trim the region back its "original" length after a Fork operation, and the operation cannot be undone.
There is a separate document available that summarizes MIDI editing operations. Suffice it to say that you can select and navigate between notes, and then move notes and/or change any of their properties: start time, end time, duration, pitch, velocity or channel. All of these operations can be carried out with the keyboard as well as the mouse.
Every MIDI editor loves a good quantize dialog, and Ardour 3.0 aims to be a best-of-breed:
Accessed via the "q" key, the dialog includes:
- Options for grid, legato amd groove quantize
- Snap note start, or end
- Snap to current grid, or many beat subdivisions
- Quantize threshold (how far away from a chosen position a note must be in order to be quantized)
- Strength (how close to move a note to its new position, as a percentage of the nominal distance)
Step Entry Dialog
Sometimes you'll want to edit MIDI data directly from a connected MIDI device like a music keyboard or pad controller. Sometimes you'll want to use the mouse. Sometimes you'll want the fine-grain control, precision and speed of entry that comes from using a custom note entry dialog. Ardour 3.0 attempts to provide a best of breed example of this common tool, as shown below:
The dialog (quite closely modelled on Logic's) contains:
- Chord entry switch (successive notes are stacked in a chord until it is released
- Note length selectors
- Triplet toggle
- Normal, single, double and triple dotted note selectors
- Sustain button
- Buttons to:
- Insert a rest of the current selected note duration
- Insert a rest of the current grid step size
- Move back to the last inserted note
- Move forward to the next beat, or bar
- Move forward to the edit point
- Dynamics controls from pianississimo to fortississimo
- Channel selector
- Explicit numerical velocity selector, for more precise control than the dynamics selectors
- Octave selector
- Buttons to add bank or program change events
- a full 10 octave virtual keyboard
More or less all actions in the step entry dialog can be driven directly from the keyboard, so you do not need to keep moving back and forth from keyboard to mouse to do complex data insertion.
The step entry dialog is accessed via a right click context menu on the rec-enable button (its there because step entry is related to recording MIDI data. You cannot simultaneously step edit and record MIDI via the track's MIDI port.
A closing thought
One thing to stress here: this is the first release of Ardour with MIDI sequencing facilities. We don't expect that in a single step we will get to the same level as applications that have been providing this functionality for years, although we have tried to learn from them and take the best features from a variety of sources. We have tried to concentrate on what appears to be the most important MIDI editing functionality, and we plan to improve and extend on that in future releases. People were very critical of ProTools' initial MIDI editing functionality, and we hope we have at least done better than that!