Chapter 13: Manipulating and Editing MIDI Items

From Reaper Accessibility Wiki
Jump to: navigation, search


13 Manipulating and Editing MIDI Items[edit]

13.1 Introduction[edit]

REAPER has a number of techniques for manipulating and editing your MIDI items. In brief these are:

  • Many of the commands on the arrange view right-click media item context menu can be used with MIDI items as much as they can with audio items - for example you can create and manipulate multiple takes, add MIDI FX to a take's FX chain, cut, copy and move items, and so on.
  • In addition, there are commands on the arrange view right-click item context menu that are specific to MIDI items and only MIDI items. We�ll get to these soon enough.
  • You can open any MIDI items or selection of MIDI items in REAPER�s MIDI Editor for detailed editing. You can choose either to open a single item, several items together in the same single MIDI Editor window, or to use a separate window for each item.
  • For quick MIDI editing, you can edit the track in-line. This makes the item�s content available for editing without needing to open a separate MIDI editing window. This is covered near the end of this chapter.

Before looking at editing, however, we'll resolve a couple of other issues of importance to MIDI users.

13.2 Monitoring an External Synthesizer[edit]

An external synthesizer can be monitored using MIDI or audio input. Just do this:

Activity Procedures Monitor using MIDI Input Monitor using MIDI Input. Insert a track and name it. Arm it for recording and turn record monitoring on. Set record mode to Disable (input monitoring only). Select Input: MIDI, then the device, then the channel(s). Open the track's routing (I/O) window, select your MIDI Hardware Output.
Monitor using Audio Input Monitor using Audio Input. Insert a track and name it. Arm it for recording. Turn record monitoring on. Set record mode to Disable (input monitoring only). Select the necessary mono or stereo audio input from the synth's audio interface.

13.3 Using Track Controls with MIDI[edit]

As mentioned in Chapter 5, REAPER's track volume and pan controls by default control a track's audio signals. If you wish to use these for MIDI instead, you can do so. Right click on the track number in the TCP or MCP and choose MIDI Track Controls then select one of the Link track volume/pan to MIDI options from the menu. You can choose all channels or any individual channel.

You can also use the plug-in ReaControl MIDI with any track. This is explained in detail later in this chapter.

13.4 Controlling MIDI Data Sends[edit]

REAPER's sends and receives can be used with audio items, MIDI items, or both. You have already been introduced to this topic (Chapter 5), and it is covered in more depth in Chapter 17. Meanwhile, note that the button indicated on the right can be used to ensure that a send's fader controls are used to control the MIDI data.

With this button enabled, CC messages CC07 for Volume (127, max) and CC10 Pan (64, center) are sent on the selected channels (by default, all channels). If there are any MIDI items (even empty ones) on the sending track, they are sent when transport starts or stops, or play position changes. However be aware that not all synths and plug-ins recognize this feature.

13.5 Configuring and Accessing the MIDI Editor[edit]

Note: Many of the illustrations used in this chapter use the REAPER 4 default color theme. The instructions and actions are nevertheless accurate for REAPER 5.

The MIDI Editor needs to be opened from an existing item. If you wish to open it with a �clean sheet� then you must first create a new empty MIDI item. To do this, select the required track and (optionally) make your time selection to define the length of the item. Then choose Insert, New MIDI Item from the main menu.

By default, MIDI items created in this way are loop enabled. You can change this for an individual items within its Media Item Properties dialog box, or globally on the Project, Media Item Defaults page of your Preferences settings.

The MIDI Editor can be opened by any of these methods, using a single MIDI item (either recorded or empty):

Unless you have changed your default mouse modifier preferences, double-click on the MIDI item, or

Select the MIDI item and press Ctrl Alt E

Right-click on the item and choose Open in built-in MIDI editor from the menu.

However, exactly how the MIDI Editor will behave when opened will depend on your Preferences settings. Before delving into the MIDI Editor, therefore, we really need to explore these preferences. Use the Options, Preferences command, the choose MIDI Editor from the list to access the MIDI Editor preferences.

The wider range of MIDI Editor preferences is explored in Chapter 22. For now, we just need to focus on those shown on the right.

First, you can specify what by default will be opened with the MIDI editor. This can be clicked MIDI item only, all selected MIDI items, all MIDI on the same track, or all MIDI in the project. The default is All selected MIDI items.

You can override the default settings at any time by opening the MIDI Editor by right-clicking on an item (or a selection of items) and choosing Open items in editor, then, from the sub-menu, choosing either Open items in built in MIDI editor, Open MIDI item in editor or Open item copies in built-in MIDI editor.

You can also determine what is to happen when more than one MIDI item is open: you can choose to have a separate MIDI editor instance per media item, per track or just one editor for the whole project.

13.6 The MIDI Editor Window[edit]

The next part of this User Guide focuses on how to work in the MIDI Editor with a single item. Later in this chapter we will look at working in the MIDI Editor with multiple items, and with items on multiple tracks.

When you open an item in the MIDI Editor you will see a display similar to that shown below. It includes:

The Main Menu.

We�ll take a detailed look at the main menu, its various commands and actions shortly: for now, note that if your MIDI Editor is docked, this menu is accessed by right-clicking on the windows docker tab. Meanwhile, you need to understand some more about the interface and how to navigate it.

The Toolbar(below Main Menu)

Hover your mouse over any button for a tooltip. You can customize this toolbar to meet your own requirements (see Chapter 15). The default toolbar icons are described below (left to right).

Select View Buttons

The first four buttons select which view will be displayed in the MIDI Editor. From left to right, these are Piano roll (the default), Named note, Event list and Musical notation. The first three of these are explained in detail throughout this chapter. Musical notation view is dealt with in the chapter following this one.

Filter Button

This is the third button on the toolbar. It opens the Filter Events window to allow you to decide what you want displayed in the MIDI Editor. The Show only events that pass filter box toggles your filter settings on and off. Invert causes all notes to be displayed except those defined by the filter settings. You can choose to display all Channels, or any combination or permutation of channels.

Enabling Solo will cause only events that pass through the filter to be played.

Use the Event Type drop down to select any type of event as a filter. The default is All, but you can choose Note, Poly Aftertouch, Control Change (CC), Program Change (PC), Channel Aftertouch, Pitch, or Sysex/Meta.

The content of the Parameter drop down lists depend on the event type selected. For example, for Note (as shown below), it will display a list of notes, with options to filter on note (optionally using the keys in piano roll) or note range, velocity, position in measure and/or length. However, choosing Program Change (PC) as event type will allow filtering only on program number and/or position in measure. Pitch can be filtered on low/high values or position in measure.

Position in measure behavior will vary with the event type. For example, if the event type is Note, position in measure allows you to restrict display to a range you define anywhere between 0 and 127. For PC, CC or Pitch, low and high position in measure values are set to any range within 1/32 and 1.

Set selection causes current filter settings to be applied, and Add to selection lets you add to the existing filter selection. For example, you can create a filter on Note then add to it one based on Pitch. You can also specify settings to Remove from (current) Selection. Set filter from selection will automatically create a new filter based on the current MIDI Editor note selection.

The Filter Button includes a right-click context menu which can be used to toggle on/.off the options Show only events that pass filter, Invert filter and/or Solo.

Track List

This button opens (on) and closes (off) the Track List panel. This is explained in this chapter, in the section Working with Multiple Tracks and/or Items. For the time being, leave this set to off.

To the right of the track list button are six toggle icons, Quantize (on/off), CC selection follows note selection, Show grid, Snap to grid, Step Sequencing (use MIDI inputs for step recording, on/off) and Dock editor. Right-click over the Snap to Grid button to set behavior for when snap is enabled � Always snap notes to the left, Snap notes to end of grid (the default), or Snap relative to grid. The final icon Dock editor can be used to dock and undock the MIDI Editor window.

Note: If both Media, MIDI preferences to Create new items as .MID files and Import existing MIDI files as .MID file reference are enabled, the MIDI Editor toolbar will on the left display two further buttons - File, Save MIDI file and File, Revert to saved MIDI file.

Tip: The View, Piano Roll Timebase command includes the options source beats, project beats and project time. MIDI data is always defined in beat-based terms, but in the time view mode the grid is adjusted to reflect any tempo changes in the project. If there are no tempo changes, the beat and time views will be identical. You also have the option to select Project synced. This synchronizes the timeline of the project and MIDI item together. It also ensures that both windows are synchronized during such actions as zooming and scrolling.

The Ruler

The MIDI Editor follows your Arrange view settings. For example, if the option Loop points linked to time selection is enabled, click and drag along the MIDI Editor ruler will define both loop and time selection.

The Transport Bar

This is found at the bottom of the MIDI Editor window. It contains the transport buttons and a number of drop down lists. The six buttons (not shown) are self explanatory � left to right they are rewind, start, pause playback, stop playback, jump to end, and toggle repeat loop mode on/off. The loop area can be set on the timeline in either the MIDI Editor or the Arrange window. The drop down lists (shown above) from L to R are:

Grid: The grid division box is used to set the grid division unit, in notes. Select a values between 1/128 and 4.

Grid spacing type: Options here are straight, triplet, dotted or swing. If you choose swing, several other parameters will also be displayed on this bar. These are discussed later in the context of quantizing.

Notes: This is used to select the default note length (expressed as a fraction of a note) that is used when new notes are added. In the example above, this has been set to be the same as the grid setting. It can be overwritten using the main menu command Options, Drawing or selecting a note sets note length.

Scale and Chord: Enabling the key snap option allows you to select a scale and a chord from the two drop down lists. You can also use the chords button (here labelled �Major�) to load a REAPER .reascale file.

Color: Uses color to display differences in Velocity, Channel, Pitch, Source, Track or Media Item.

Track List: Where more than one track contains MIDI item, this selects which track is to be made active in the MIDI editor. This can also be used to show or hide the track list panel.

Channel: Use this to select a channel from 1 to 16 for current editing (or All). The Filter box modifies selected channel behavior: when off, all channels are displayed, but the selected channel is still used for note entry.

The Main Window

The main window by default consists of two panels. The larger (top) panel displays your MIDI notes. Here you do your editing. The default view is Piano Roll View. Click on any piano key to play that note. The smaller (bottom) panel is the CC lane, used to display various information, such as note velocity or pitch.

Move your mouse over the main window area (where the notes are displayed) and you can see your mouse cursor displayed as a pencil. This indicates the current edit position, for example for inserting notes. Both the position on the timeline and that on the piano roll are shown in the top left corner, just beneath the toolbar.

The Scroll Bars

The MIDI Editor window includes vertical and horizontal scroll bars which can be used to navigate and zoom in and out of the contents of the MIDI item(s).

The CC Lane(s)

By default, Velocity information is shown in the CC lanes. To change this, either:

Click on the drop down arrow (right) to see a menu of items (including standard MIDI control messages) that you can choose to display in the CC Lane instead of velocity. A small selection of the available choices are shown on the right, or

Click on the small + button next to the drop down list arrow to add extra CC lanes. Select any item from the list to display in the selected lane.

Right-clicking over the shaded area at the edge of the top border of a CC lane will produce a menu that can be used to hide a CC lane, clear it, change its contents (Set lane), or add an extra lane.

To remove a lane from view, click on the small minus sign that appears to the immediate right of its drop down arrow.

Provided the lane height is tall enough, the existence of CC messages can also be seen on the MIDI item in the main window (see right).

13.7 Control Change Messages[edit]

Control change messages are used to change the status of a MIDI parameter. If using an actual MIDI device, these messages can be used to physically control the foot pedals, volume sliders, modulation wheels, and other controls on electronic instruments. Within REAPER, control change messages can simulate this effect when playing back your MIDI data thru a software synthesizer.

Controller data is used for various purposes. The different controller data streams are numbered from 0 to 127. Some of these controller numbers are industry standard. For example, controller 7 is generally used to control volume and controller 10 for panning. A control change message has two parts. The first is the control change number, which determines which parameter is to be set. The second is the desired value for that parameter. For example, first, you might send a CC #7 message to specify that you want to adjust volume. Next, you send a value that sets the actual volume level required.

A control change message can act as either an override (setting the parameter to the exact value specified), or an offset (adjusting the parameter up or down by the amount specified).


MSB and LSB stand for Most Significant Byte and Least Significant Byte respectively. MSB control change messages typically act as coarse controls, while LSB messages generally allow fine adjustments. Some control change messages have both MSB and LSB versions. Most MIDI devices that contain sounds/patches respond to both Bank Select MSB and LSB control change messages.

Some of the more commonly used cc parameters are listed below. Don�t worry if you don�t understand them all. You should consult your MIDI device�s documentation for more details.

Parameter Description Bank Select MSB
Bank Select LSB
Many MIDI devices offer a total of more than 128 instruments, in which case these instruments are grouped into banks. Thus, depending on the device, a full program change message might consist of five parts � cc #0 (Bank Select), followed by the Sound Bank MSB value, then cc #32 (Bank Select LSB) followed by the Sound Bank LSB value, then finally the Program Change number. Program change numbers are discussed in more detail in the sub sections that follow after this one.
Velocity The measure of the speed with which a key on a keyboard is pressed. A lane is also available for Note Off Velocity.
Mod Wheel This can add vibrato or other changes to a sound.
Breath Varies from 0 (no force) up to 127 (high force).
Portamento Determines the smoothness of the glide from note to note
Balance Typically used to adjust the volume of stereo parts without affecting the panning.
Expression Used to create relative volume changes.
Sound Timbre The property of a sound that gives it its unique �color�.
Sound Release Determines how long it takes for a sound to fade out.
Sound Attack Controls how long it takes for a sound to fade in.
Sound Brightness This adjusts a sound�s filter cutoff, allowing you to create filter �sweeps�.

13.8 Control Channel Basics[edit]

MIDI Data Control Channel (CC) messages can be recorded during live performance, and edited or manually entered using the CC lane in the MIDI Editor. The CC Lane appears at the bottom of the MIDI Editor. Data is displayed horizontally according to its position on the Timeline, and vertically according to the value of the data.

Most CC data has a value of 0 at the bottom of the CC Lane, and 127 at the top of the CC Lane. The example (right) shows Velocity. Exceptions to this rule include Pitch, Pan and Pan Position, which are displayed as positive or negative variations from a centre line.

The information displayed in the CC Lane is selected from the drop-down list at the left of the window. CC Data is entered or edited by dragging the mouse to the required value. To delete an event, select it, then press Delete.

The Mouse Modifiers page of REAPER's Preferences includes the ability to customize left drag and double-click behavior when working with MIDI CC events.

13.9 Working with MIDI Editor Lanes[edit]

There are a few especially interesting items that you can display in your lane or lanes that are not included in the above table. These are worth a special mention, because they might otherwise slip under your radar. They are System Exclusive messages, Text Events, and Bank/Program Select.

13.9.1 Sysex Events[edit]

System exclusive (Sysex) messages are MIDI data that can only be understood by the particular make and model of the device that created them. For example, all synthesizers should respond to CC messages like Volume or Pan control, but system exclusive messages created by a Roland synthesizer would not be understood by, say, a Yamaha synthesizer.

You can add a lane which can be used to manage system exclusive (Sysex) messages, as shown above. In this example, a Sysex lane is displayed in addition to a Velocity lane.

Some MIDI hardware, especially older devices, accept sysex messages as a way to initialize or change settings on the device. Sysex messages are raw MIDI data, represented as a list of hexadecimal bytes.

Sysex events may be added, edited, moved, or deleted in the same way as text events (see below). Double click in the lane to open the Add Sysex Event dialog box, enter the message and click on OK. Click, hold and drag on any sysex event to move it. Double click on any existing sysex event to edit it, or right click to delete it.

13.9.2 Text Events[edit]

The Text Events option lets you display a CC Lane which can be used to display text in a lane below your MIDI notes. These could be, for example, lyrics, or marker information or any of the other available text types.

Just double click at any point in the lane to open the Edit Text Event dialog box, type your text, specify its type, and click on OK. As with system exclusive events, double click on any existing text event to edit it, drag it to move it, right click to delete it.

13.9.3 Bank/Program Select[edit]

When you choose the Bank/Program Select option for a CC lane, you can double click at any point to open the Bank Program Select dialog box.

Here you can select any bank/program combination, and assign it to any channel. The bank/program combinations available to you will depend on what instruments you are using (see example, right).

If using a synthesizer which has its own instrument definition files, you can load a file into the MIDI Editor by clicking on the Load File button, then navigating to its directory, then selecting it.

An example of the use of program changes is shown here. To edit any program change message, just double click on its CC Lane bar. This will open the Bank/Program Select window for you to make your changes. Also, click and drag to move a program change message, double-click to edit it. To delete it, simply right click over its CC Lane bar.

13.10 MIDI CC Lanes: Tips & Tricks[edit]

REAPER's MIDI CC lanes include a number of additional features. Here are some that you might find useful.

13.10.1 General CC Lane Editing Techniques[edit]

Many of the CC message types � such as Mod Wheel, Breath, Portamento, Pan, Volume etc. � can be expressed as a continuous range of values, rather than as discrete items (in the way that text events, for example, are). For messages of this type there are a number of standard techniques you can use to enter, edit or delete them.

To enter a single message, click and move (gently push) the mouse in the appropriate CC lane at the required point. The nearer the top of the lane, the higher the value of the message.

To change the value of an existing message, click and drag it up or down.

To delete a message, right click over it. Alt right click sweep will delete a series of messages.

You can click-hold-drag-sweep to insert a continuous sequence of messages. The example shown (right) causes the notes to be panned in increments first to the left, then to the center, then to the right, then back to the center again.

13.10.2 Right Click Marquee Selection[edit]

You can right-click and drag within any CC lane to make a selection of multiple events. Having made your selection, you can work with them in the CC lane, as well as (if appropriate) in the piano view window. For example, if the CC lane displays Velocity, then there will be one event shown in the CC lane for each note in the piano view. Selecting the events in the CC lane will also select the corresponding notes in the piano roll view.

You could then work with those selected events in the MIDI Editor or work with them in the CC lane itself. For example you can:

Delete them.

Adjust their values (up or down).

Right click over the CC lane for a context menu (see right). This can be used to nudge or move the selected events.

Click and drag to move the selection left or right, control click and drag to copy.

The exact behavior here will be determined by whether the individual CC events are directly linked to individual note events. In the example shown here, this would be the case with the velocity events but not the pitch change events. Thus, in the former case (velocity) you would need to move the events in the piano view window itself and the velocity events would move with them. In the latter case (pitch changes), you would move the events in the CC lane itself.

13.10.3 Intelligent CC Lane Dropdown List[edit]

The CC Lane dropdown menu uses markers to show which other lanes already exist and contain data, whether they are currently displayed or not. In the example shown here, this applies to Velocity, Pitch, Program, Bank/Program Select, Text Events and Breath.

13.10.4 14-bit CC Lanes and Actions[edit]

The CC Lane drop down menu includes a complete range of options for 14-bit CC messages. These can be found at the end of the drop down list. There are also actions that can be used to select any message type for any lane. Use of the Actions List Editor is explained in detail in Chapter 15, but in brief:

  1. From the MIDI Editor Actions menu choose Show action list �
  2. In the Action List, select one of the actions CC: Set CC lane to ... (e.g. Set CC lane to 007 Volume 14-bit or Set CC lane to 007 Volume MSB). You can now assign a shortcut key to that action (see Chapter 15). Close the Action List Editor.
  3. Now you can at any time select a MIDI Editor CC lane and use the shortcut key to use that CC lane for the chosen message type: existing data will be displayed and new data can be inserted and/or edited.

13.10.5 Resizing CC Lane Height[edit]

You have three options for changing the height of CC lanes. All involve clicking on the dotted �handle� (shown here) on the �ceiling� boundary above the CC lane in question. The mouse cursor becomes a vertical double-headed black arrow. You can then drag the mouse up or down. When you have only one CC lane displayed all three actions do exactly the same thing. However, when there are two or more CC lanes shown, these three actions will behave differently.

Click and Drag: Simply click and drag up/down to increase/decrease the portion of the MIDI Editor window used to show the selected CC lane. Increasing this portion will decrease the height of the piano roll window and vice versa. Other CC lane heights remains unaffected.

Shift Click and Drag: Shift click and drag up/down will increase/decrease the height of all CC lanes and adjust the height of the piano roll window accordingly.

Control Click and Drag: Control click and drag will adjust the height of just the one CC lane, leaving other CC lane heights unchanged.

In addition, you can double-click on the dotted handle (also known as �grippy area�) of any open CC lane to toggle between viewing and minimising it.

13.11 Navigating the MIDI Editor Main Window[edit]

The MIDI Editor�s menus and action list contain any number of techniques that you can use for precision navigation: we�ll get to these shortly. First, you should familiarise yourself with the tools that you have available for �broad brush� navigation. The horizontal and vertical scroll bars in the MIDI Editor window are used for scrolling, and their respective plus and minus buttons can be used for vertical and horizontal zooming. You can also use your mousewheel. This can be customized in the Actions List Editor (see Chapter 15), but by default the settings are:

Mousewheel: Horizontal Zoom Ctrl Mousewheel: Vertical Zoom

Alt Mousewheel: Horizontal Scroll Ctrl Alt Mousewheel: Vertical Scroll

The keyboard shortcuts PageUp and PageDown can be used to zoom in/out vertically, and + and � to zoom in and out horizontally. These too can be changed in the Actions List Editor if you wish.

13.12 Basic Note Selection and Manipulation[edit]

The MIDI Editor�s menus and action list contain any number of techniques that you can use for precision editing and manipulation of your notes: we�ll get to these shortly. First, you should familiarise yourself with the most basic tools that you have available for quick and basic editing.

To do this � You need to do this � Add a note Click and drag in the MIDI editing area.
Delete a note Double-click on the note.
Select a note for editing Click once on the note.
Select a range of notes Right click and drag around the selection.
Select all notes in a range Right click and drag keys in piano roll.
Add to an existing selection Hold Alt and Ctrl while right clicking and dragging around notes.
Change a note�s length Hover mouse over the start or end of the note - the mouse cursor is now a double headed black arrow. Click and drag left or right , as required.
Move a note Click and drag note to new position then release.

13.13 Loop/Time Selections and Smart Editing[edit]

To move the position of the cursor, click on the timeline (ruler) in the MIDI Editor window.

Loop and time selection within the MIDI Editor will behave in accordance with whether or not you have enabled the option Loop points linked to time selection on REAPER's main menu. These notes assume that you have this disabled.

You can select an area to be looped, as in the main REAPER window, by clicking and dragging along the MIDI Editor timeline. You can also use the REAPER arrange view timeline to define and modify loop areas if you wish. Use the Toggle Repeat button on the MIDI Editor Transport Bar to enable or disable looping.

To make a time selection, click and drag along the boundary between the piano roll display area and the CC lane. The mouse cursor becomes a horizontal double-headed arrow. Notice that the time selection is mirrored in REAPER's Arrange view (see right).

This facilitates smart editing (see Chapter 7). For example, within the docked MIDI Editor window you could work on the part of a MIDI item that you wish to copy or move to another track and then, still in the MIDI editor, mark that as a time selection.

In Arrange view, you could then Ctrl Click Drag that area to another track (or elsewhere on the same track) and create your copy. If using this feature, you should first decide whether or not you wish to enable Auto-select CC when moving/copying within time selection from the Options menu.

13.14 The MIDI Editor Menus[edit]

This section is an overview of the MIDI Editor's main menu commands. When docked, the main menu is not displayed, but you can access these commands by right-clicking over the window�s tab in the docker. You can also access the MIDI Editor menu by right-clicking just above the piano keys or timeline.

The File Menu

Rename MIDI take ... Renames the MIDI Item.
Export to new MIDI file ... Exports active MIDI track to a file. MIDI events are normally stored in the Project file itself.
Notation: Export as MusicXML Available in musical notation view only � see next chapter.
Note names Displays a sub-menu. Rename current note.... Use this in Piano Roll or Named Notes mode to name the currently selected note. After entering a name you can use Tab to move to the next note in the piano roll, Shift Tab to go to the previous note. Choose Load note names from file... to browse for your required file. Recently used files will also be displayed on the menu. When loading from the recent file list, hold Shift with this command to merge imported names with existing note names rather than replace them. (also see [[Custom MIDI note and CC names.) Another option is to Save note names to file... There is an option to Clear note names and a toggle option Note name actions apply to active channel only.
Note colors

Displays a sub-menu. Load color map from file .../Clear color map (use defaults). Used to import your own .PNG color map file or restore the REAPER defaults. For more information about how to create a color map file, go to

Close Editor Closes the REAPER MIDI editor, and returns you to the main REAPER window.

The Edit Menu

Undo, Redo, Copy, Cut, Paste, Select all, Delete These features work as expected on all selected MIDI notes. Note that you can cut, copy and paste between MIDI Editor windows, and into some external applications. These features work as expected on all selected MIDI notes. Note that you can cut, copy and paste between MIDI Editor windows, and into some external applications. Also, the Actions list includes several Select actions, e.g. various actions for selecting CC events in time selection, actions to select CC events under selected notes, actions to select muted notes, actions for selecting all notes in measure, and actions for selecting all notes at pitch cursor.
Paste, Paste preserving position in measure Paste will paste to the current cursor position. Where a selection of notes (rather than a single note) has been cut or copied, the entire selection will be pasted starting at the current cursor position. Paste preserving position in measure pastes to the next measure after the cursor position, retaining the relative position of the item pasted.
Mute Mutes current note selection.
Insert note Inserts new notes at the Edit Cursor.
Split notes Splits selected notes (using the S key). If no notes are currently selected, all notes currently under the Edit Cursor are split.
Join notes Joins selected notes together.
Set note ends to start of next note (legato) Sets ends of selected notes to start of next notes by adjusting end points of all notes in selected range.
Quantize ... Opens Quantize Events dialog box. See also the Quantize section and the MIDI Toolbox section.
Quantize submenu:
  • Quantize using last settings
  • Quantize position to grid
  • Unquantize
  • Freeze quantizationSee the Quantize section for more information.
Humanize � Opens the dialog box shown here. Humanizing can make the exact timing of MIDI generated music sound less �clinical� and more realistic. It does so by allowing you to introduce random small and subtle imprecisions in timing and velocity. As well as being found on the Edit menu, this command is also available as an assignable action.
Transpose ... Transpose ... Opens the dialog box shown here, which can be used to transpose all or a selection of MIDI notes. You can transpose by a specified number of semitones, with a snap to scale option, or from one specified key/scale to another.

The Navigate Menu

This menu presents a number of options for moving notes in any direction, either by grid or by note:

Move cursor left by grid: Move pitch cursor up a semitone

Move cursor right by grid: Move pitch cursor down semitone

The following commands can be used to jump to and select a note, either instead of or in addition to any current selection:

Select note nearest cursor

Add note nearest cursor to selection

Select previous note

Select next note

Select previous note with same pitch

Select next note with same pitch

Select all notes with same pitch

Add previous note to selection

Add next note to selection

Move edit cursor to start of selection

More note selection actions are available in the MIDI Editor's action list, including actions to select the next note with higher or lower pitch.

The Options Menu

Dock window Moves MIDI Editor to the Docker. The MIDI Editor�s main menu will no longer be displayed. This menu can then be accessed by right-clicking over the window�s tab in the docker (right).
Sync editor transport to project transport Synchronizes MIDI Editor transport to REAPER's main Timeline.
Use the same grid division in arrange view and the MIDI editor This makes the displays in arrange view and the MIDI editor consistent with each other.
Chase MIDI note-ons in project playback When playback starts anywhere other than at the very start of a project, notes that begin just before the playback position might not be heard. This could be the case, for example, if you start playback in the middle of a long note. Leaving this option on prevents this from happening.
Time format for ruler, transport, event properties Gives you the choice of Measures.Beats.100ths or Measures.Beats.MIDI_ticks and option for Ruler in Measures.Beats only.
Snap Settings Displays sub-menu of snap toggle options: Snap notes/CC to grid, Soft snap notes to other notes, Always snap notes/CC to the left, Snap note ends to grid and Snap notes/CC relative to grid.
Note preview Displays a sub-menu enabling you to select any or all of four situations when you would like notes to be previewed (.i.e. audibly heard) � Preview notes when inserting or editing, On velocity change, On keyboard action, and/or All selected notes that overlap with selected note.
CC events in multiple media items Two options are available, either of which can be enabled if you wish. These are Draw and edit on all tracks or Edit on all tracks.
Drawing or selecting a note sets the new note length Over-rides the default note length set by the drop down Notes box on transport bar.
Allow MIDI note edit to extend the media item If enabled, this toggle will ensure that the media item length will be extended when a note is moved or copied within a time selection.
Display 14-bit MSB/LSB CC data as a single entry ... If enabled, ensures that 14-bit MSB/LSB CC data will be shown as a single entry (rather than separate entries) in event list view and properties
Automatically correct overlapping notes Toggles on and off the automatic correction of overlapping notes.
Use F1-F12 as step sequencer (see also section �Step Recording�) When enabled, the function keys (F1 - F12) can be used to enter notes. These keys are mapped to the 12 Semitones of an Octave, with F1 having the lowest pitch and F12 having the highest pitch. The starting pitch for F1 is set by the location of the highlight bar. In the example shown (right), the starting pitch for F1 is C6. In this case, pressing (for example) F5 will create an E note. By moving the highlight bar and edit cursor, and using function keys to enter notes, complete arrangements can be quickly created. Normally this mode will also advance the cursor according to the snap settings. You can bypass this by holding Shift while pressing the function key.
Use all MIDI inputs for step recording Toggles the use of MIDI inputs when step recording.
MIDI editor mouse modifiers Opens the mouse modifiers page of your preferences window. Here you can select actions to be assigned to mouse behavior in various contexts. This is discussed later in this chapter and in Chapter 15.
Customize menus/toolbars ... Opens the Customize Menus/Toolbars window. See Chapter 15.

The View Menu

Filter events..., Quantize..., Humanize..., Transpose � Opens one of these dialog boxes, which are individually discussed elsewhere in this chapter.
Event properties ... Opens the Note properties dialog box. This topic is covered later in this chapter.
Raw MIDI data Opens a window displaying raw MIDI data for currently selected item.
Mode: piano roll Displays a standard, white/black piano key view. This is the mode most commonly used for MIDI editing.
Mode: named notes Replaces the Piano Roll view with note names. Note: Only works when using a VSTi that reports note names, such as Fxpansion's BFD. Check the REAPER forum to see if a note namer plug-in has been posted for the VSTi you want to use. For example there are EZDrummer note namers available.
Mode: event list Displays the event list. This is explained later in this chapter.
Mode: musical notation Displays MIDI notes in musical notation view. See next chapter.
Piano roll notes Displays a sub menu of Rectangles, Triangles and Diamonds to determine how notes are displayed. There are toggle options to Show velocity handles on notes, Show velocity numbers on notes, Show note names on notes and/or Show velocity and names only on active media item. In the example shown, velocity handles and note names are displayed.
Color notes by This command selects the criteria used for coloring notes. The options are Velocity, Channel, Pitch, Source (using color map), Track, Media item and voice. You can toggle on/off Show color selector in editor. You also have options to Load color map from file and Clear color map (use defaults).
Show/hide note rows Displays a sub-menu with three options: Show all note rows, Hide unused note rows or Hide unused and unnamed note rows. The hide options are not compatible with piano roll view.
Piano roll ruler Provides options to display or hide project markers, project regions and/or tempo/time signature markers on the piano roll ruler. These are displayed above the ruler, and tempo/time signature markers can be edited by double-clicking on them. You can also right-click for a context menu.
Piano roll timebase Sets the timebase for the piano roll. Options are Source beats (from media source item), Project beats, Project time, or Project synced. For more information, choose Timebase help from this menu.
Notation view options Displays a sub-menu of various options that are only relevant when working in notation view. These are explained in the chapter immediately following this one.

The Contents Menu

Track List/Media Item Lane Toggles the display of these panels which list and display tracks and MIDI items respectively.
One MIDI editor per Opens sub menu where you can specify one MIDI editor window for each item, each track, or the project.
Behavior for �open items in built-in MIDI editor� Select whether opening items in arrange view, using the media item menu, should Open the clicked item only, Open all selected MIDI items, Open all MIDI items on the same track as the clicked item or Open all MIDI in the project.
Options when using one MIDI editor per project Opens sub menu where you can specify various options which determine how REAPER behaves when you are using one MIDI editor per project. See section �Managing Multiple MIDI Tracks and Items.�
List of project tracks/MIDI items This menu lists all tracks which contain MIDI items and all items themselves. A tick indicates that the item is currently open and the active item. Select an item from this menu to open it in the MIDI Editor window, closing all other items: hold Shift while doing so if you do not wish to close all other items.

The Actions Menu

This has two default commands - Show action list and Show recent actions. Show action list opens the Actions � window with the MIDI Editor section automatically selected. Custom actions and keyboard shortcuts play an important role in working within the MIDI Editor.

When Show recent actions is enabled, the Actions menu will list your most recent activities, as well as any custom actions or keyboard assignments that you have placed there. These commands can then be executed from this menu (see example, right). There are some simple examples showing you how you can use the Actions List later in this chapter. The Actions List Editor is covered in detail in Chapter 15.

Remember that REAPER makes extensive use of right-click context menus. Knowing which commands are on the main menu is useful, but often you�ll find using the right click menus easier.

13.15 Note Creating and Editing[edit]


A MIDI Item can contain data from up to 16 channels. The MIDI Editor can display and edit all 16 MIDI channels, or you can use the Filter Events window or Channels drop down list to limit the channel display.

If you select Channel from the Color drop down list, each channel will be assigned an individual color, visible in both the Piano Roll and the CC lane. The MIDI Editor uses as its default a Piano Roll interface to display and edit MIDI information. Notes are displayed vertically according to their corresponding value on a Piano Keyboard, and horizontally according to the duration of each note and their location within the MIDI Item or the Timeline.

Preview Keyboard

The Preview Keyboard at the left of the screen provides a visual representation of the value of the notes on the Piano Roll, and allows you to audition a note without having to enter or edit it first. Clicking a key on the Preview Keyboard will send a MIDI note of the corresponding value to the MIDI Instrument that is connected to the Track. The Preview Keyboard can mimic a velocity sensitive keyboard. Clicking on the far left of a key will generate a soft note, while clicking on the far right of a key will generate a loud note.

Entering / Editing Notes

MIDI notes can be recorded as part of a performance, imported from an existing MIDI file, or they can be manually entered using the MIDI Editor.

Using the Mouse:

Notes can be entered by dragging your mouse from left to right across the Piano Roll. The duration of the note will increase as you drag the Note. If Snap is enabled, the duration will Snap to the nearest Grid Line (depending on the strength of your Snap settings). Notes can also be entered by double-clicking on the Piano Roll (in a space not already occupied by another note). In this case, the duration of the note is determined by the value of the Grid Setting. Notes can be deleted by double-clicking on the Note.

The duration of an existing note can be altered by dragging the edge of the note. While holding it, you can drag the note out, move it up and down, etc. When you let go, the notes will be positioned according to your snap setting. A note�s velocity can be adjusted by clicking and dragging up or down from the top of the note, in similar fashion to that used for adjusting the item volume button or handle in REAPER�s main window. Notes can be moved by dragging in any direction. Dragging left or right will change the location of the note in the Timeline, while dragging up or down will change the note value.

The Right-Click Piano Roll Context Menu

Copy/Cut/Paste These are standard Windows editing commands which perform standard Windows functions.
Paste preserving position in measure This pastes notes to the next measure after the cursor, retaining the relative position of the item(s) pasted.
Select all Selects all notes in this MIDI Editor window
Delete Deletes all notes in current selection.
Mute Mutes according to context the current note selection or the note under the mouse cursor.
Insert note A very quick way to insert notes. It will insert notes according to the current snap values at the edit/play cursor position.
Split notes Notes can be split at the Edit Cursor by selecting Split notes (S) from the right-click menu. All notes that are under the Edit Cursor will be split.
Join notes Joins all notes in current selection to make one note per row.
Set note ends to start of next note Extends the end of each note in a selection to the start position of the next note in the selection.
Select previous note
Select next note Selects previous or next note in place of current selection.
Select previous note with same pitch
Select next note with same pitch
Select all notes with same pitch Selects previous, next or all notes with the same pitch as the currently selected note.
Rename current note Allows you to rename in the piano roll the note underneath the mouse cursor.
Note properties Midi note attributes can be edited by entering values into text boxes. You can change any of these: note pitch, velocity, position, channel, note off velocity, length. You can use + or � to make relative changes. For example, for note value, entering +1o2 will raise the pitch by one octave and two semitones.
Note channel (1-16) A quick way to change the channel for the current note selection. For example, choosing channel 8 will ensure that a note will use channel 8 -- and will send that note to the vsti or midi instruments channel 8.
Note velocity (1-127) Used to change the velocity for a note or note selection to a specified value, within the range 1 to 127.


Presents a limited submenu of some musical notation options � Voice, Phase/slur, Articulation, Ornament and Note head. These are explained in the chapter immediately following this one. Notation data can be displayed in a MIDI editor lane. It is selected n the same way as other data such as Velocity, Pitch, etc.

13.16 Using the Keyboard[edit]

Looking at the right click Notes menu you can see that default keyboard shortcuts have been assigned to many of these commands. There are others that are not shown on the menus. Some of the most useful of these are listed here.

Notes can be entered at the position of the edit cursor by using the Keyboard Shortcut I or at the mouse cursor by pressing Insert. The duration of the note will be determined by the value of the grid setting (from the Grid Division box). The effect of this is shown in the two illustrations (right), before and after.

The Edit Cursor position on the Timeline is adjusted by using any of the following Keyboard Shortcuts.

To do this � � use this shortcut Move edit cursor right by one grid division. Right or Ctrl Num 6
Move edit cursor left by one grid division. Left or Ctrl Num 4
Move edit cursor right by one pixel. Shift Right or Ctrl Alt Num 6
Move edit cursor left by one pixel. Shift Left or Ctrl Alt Num 4

Notes can be moved using any of the following Keyboard Shortcuts.

To do this � � use this shortcut Move selected note(s) down one octave. Alt Num 2
Move selected note(s) down one semitone. Num 2
Move selected note(s) up one octave. Alt Num 8
Move selected note(s) up one semitone. Num 8
Move edit cursor left by one pixel. Alt Num 4
Move edit cursor left by one grid unit. Num 4
Move edit cursor right by one pixel. Alt Num 6
Move edit cursor right by one grid unit. Num 6

Note display can be filtered for channels 1 to 10 using any of the shortcuts Shift 1 thru Shift 0. Shift ` removes the note filter and restores all notes to view.

Use F1-F12 as step sequencer:

When Use F1-F12 as step sequencer is selected, the keys F1 thru F12 can be used to enter notes. These keys are mapped to the 12 Semitones of an Octave, with F1 having the lowest pitch and F12 having the highest pitch. The method for using this is the same as already described under the MIDI Editor�s main Options menu.

Note Properties:

The keyboard shortcut Ctrl F2 can be used to open the Note Properties box, as an alternative to choosing the command from the right-click menu.

Selecting / Editing multiple Notes:

Multiple notes can be selected by holding down the Ctrl or Shift keys while selecting notes with the mouse, by drawing a Marquee (Right-click and drag) around a group of notes, or by using Select All (Ctrl A).

The value of all selected notes can be adjusted by dragging one of the selected notes.

The duration of all selected notes can be adjusted by dragging the edge of one on the selected notes.

The note velocity of all selected notes can be adjusted by dragging the Velocity handle (when active) of one of the selected notes.

The default Velocity value for notes created in the MIDI Editor is taken from the last selected event - e.g. if the Velocity of the last selected event was 70, then the Velocity value for the next created note will be 70.

13.17 Transposing Notes[edit]

As an alternative to using the Edit, Transpose command to transpose MIDI notes you can use a number of keyboard shortcuts. First select the required notes, then use one of the following shortcuts:

Move notes up one octave Alt NumPad 8
Move notes up one semitone Ctrl Up or NumPad 8
Move notes down one octave Alt NumPad 2
Move notes down one semitone Ctrl Down or NumPad 2

13.18 General MIDI Program Patches[edit]

We have already seen that you can use a Bank/Program Select lane to make program changes within an item. It�s worth noting that REAPER includes a file GM.reabank (in the \Application Data\REAPER\Data folder) which can be used to select standard General MIDI banks and patches. An example is shown here.

If the General MIDI banks are not automatically available in the Bank drop down list, click on the Load File button, navigate to the REAPER data directory and select the file GM.reabank.

13.19 MIDI Preview Scrub[edit]

Within Piano Roll View and Named Note View you can preview your MIDI material by clicking and dragging the edit cursor along the timeline. This is similar to audio scrub: exact scrub behavior will be determined by the settings under Options, Preferences, Audio, Playback.

13.20 MIDI Editor Modes and Views[edit]

13.20.1 Note Modes[edit]

The MIDI Editor has three modes, accessible from the Views menu.:

  1. Piano Roll View � keyboard shortcut Alt 1.
  2. Named Notes � keyboard shortcut Alt 2.
  3. Event List � keyboard shortcut Alt 3.

Up until now, the only view used in this User Guide has been Piano Roll. Before moving on to examining the other two views, there are a couple of points that you might find interesting.

Named Notes Mode:

In this mode you can double right click in the left pane to enter text, as shown. If you select the option on the View menu Piano roll notes, Show note names on events, then the names will be shown on the actual notes themselves, as shown here. If you leave this option enabled, the names will also be displayed in Piano Roll View.

In named note mode, you also have the options (View menu) to Show all note rows, Hide unused note rows and Hide unused and unnamed note rows. The first option is the default.

Hiding unused note rows can make it easier for you to navigate thru the MIDI Editor to work with existing notes. However, problems may occur if you then want to add or move notes to rows that are currently empty. The option to Hide unused and unnamed note rows can help you to get round this. By taking the time before you choose this command to name any empty rows that you are likely to need, you will ensure that these rows will still be available to you.

Event List Mode:

Event List mode displays the MIDI information as a list of events, in tabular form. In this mode you can use the right click menu (shown left) to i(for example) insert, copy, cut paste, delete or mute any events.

The full menu is shown here.

You can also double click on any event to modify that event�s properties (see example below right).

Of course, the information displayed in the Event Properties dialog box will in large measure depend on the event type of event.

The Toolbar displayed in Event List view is simpler than that used in the other two views. The Filter button (top left) is used exactly as in the other two views to filter only those events that you want displayed. The Add Event button will insert a new event immediately before the currently selected event, and the Delete button will delete the currently selected event. The fourth button toggles the docking of the MIDI Editor on and off.

Note: From the Options menu, the toggle command to Display 14-bit MSB/LSB CC data as a single entry in event list view and event properties dialog is by default enabled. This causes 14-bit MSB/LSB CC data to be shown as a single entry rather than separately.

13.20.2 Note Styles[edit]

The default display note style used by the MIDI Editor is rectangular. This is the style that has been displayed in all of the Piano Roll View and Named Note View examples up to now. However, two further options are available, specifically for use with drum sounds.

These are triangle and diamond modes. To choose a note style, use the View, Piano Roll Notes command and select Rectangle, Triangle or Diamond.

An example which uses triangles instead of the default rectangles is shown on the left.

13.21 Quantizing MIDI Data[edit]

The term Quantize refers to a process of aligning a set of musical notes to a precise setting. This results in notes being set on notes and on exact fractions of notes. When you quantize a group of MIDI notes, the program moves each note to the closest point on the timing grid.

The point of quantizing is to provide a more uniform timing of sounds. It is often applied to MIDI notes created by a musical keyboard or drum machine. Quantize is available by choosing the Edit, Quantize events command from the MIDI Editor menu. This causes the dialog box shown on the right to be displayed.

The first choice you have is between the Use Grid and Manual Settings option. We'll come to Use Grid shortly. Shown right is the dialog box interface that appears when the Manual option is selected. The various quantize parameters are explained below.

Notice the Bypass option (top right). Disabled it lets you see the result of different quantize parameter settings as you tweak them. Enable this until you are finished if you don't want this to happen. Toggle it to compare how your music sounds with and without quantizing applied.

All Notes, Selected Notes, All Events or Selected Events. The first Quantize drop down list allows you to quantize selected notes or events (not just notes) or the whole sequence (all notes or all events). This can come in handy if you just need to quantize a certain off section, or perhaps just a certain instrument, such as the hi-hats of a drum section. The second Quantize drop down list works in conjunction with whatever selection you make from the first. You can choose to have the quantizing of notes and/or events applied to the Position only, Position and Note End, Position and Note Length, Note End Only or Note Length Only.

The Strength setting adjusts how strictly notes are quantized. The lower you set the strength, the less 'magnetism' the grid has to the midi notes. This introduces subtle imprecisions to the quantizing which can make the outcome seem less clinical.

The Grid and Length values determine which units (measured as fractions of a note) are used for quantizing. These can be selected from the drop down lists or entered manually in their respective boxes. They act in conjunction with the Allow notes to options (see below). Grid type can be straight, triplet, dotted or swing. If swing is selected, you will also need to specify swing strength.

Move left and Move right. If Quantize Position is enabled, these will ensure that notes are individually quantized to the start or end of the specified note fraction, whichever is nearest. Move left only will only quantize notes to the start, move right only will only quantize notes to the end.

Shrink and Grow. These are applied if Quantize Length is enabled. REAPER will extend or shorten notes by moving the end position of each note. You can enable either or both of these options.

The Only quantize range faders let you specify a percentage range for quantizing. 50% represents the mid-point between the grid lines. Values more than 50% are only really meaningful if �allow move right� or �allow move left� is disabled. The distance is measured from the grid line being quantized: normally it will select the closest line so that you will never be more than 50% away.

Fix Overlaps can be enabled to stop notes from overlapping as a result of being quantized.

When the Use Grid Setting is selected, the Quantize Events dialog box will be as shown on the right.

From the Grid drop-down list (at the bottom of the MIDI Editor window, next to the transport bar), select a note length value (such as 1/32, 1/16 or 1/8) and then select an item from the grid spacing type list. This can be straight, triplet, dotted or swing. If you choose Swing a strength fader is displayed (see below). This is used to adjust the swing setting within a range of -100% to 100%, or you can enter a value directly into the Swing % edit box to its immediate right. You should also set a Notes value: left at Grid, this will take its value from whatever is chosen for the grid. Otherwise you may select any other required value from the drop down list.

Used well, swing can result in a more musically pleasing output. In essence, you define a percentage delay to be applied on the upbeat. For example, if you apply swing to 1/4 notes then those which coincide with the 1/2 note divisions will be unaffected by the swing, those that fall between these divisions will be delayed by the amount specified. Small amounts of swing (even 5% or less) can help to prevent a part from sounding too rigid.

Quantize is non-destructive � that is to say, the process can be reversed at any time. The various other commands on the Edit menu that are used with quantizing are:

Quantize notes using last settings

This bypasses the Quantize Events dialog box, making it easier for you to apply the same quantization settings to various disparate selections.

Quantize notes position to grid

This quantizes notes according to your grid settings.

Unquantize events

Removes quantization and returns the notes to their previous state.

Freeze quantization for events

Freezes the quantization for all currently selected events.

Shown above is an example. The top picture shows two unquantized notes selected. In the second picture they are quantized by moving them left. In the third picture, they are quantized by moving them to the right.

More quantize options are available in the MIDI Editor Action List, including actions to quantize note positions to specific divisions, ranging from 1/4 down to 1/64.

13.22 Input Quantization[edit]

The term Input Quantize refers to a process by which MIDI notes are automatically quantized as they are entered. This could be, for example, by playing your MIDI keyboard, or even the REAPER Virtual Keyboard.

Input quantize is applied on a per track basis. Simply right click over the track�s VU Meter (TCP or MCP) and choose Track Recording Settings from the context menu. This causes the dialog box shown on the right to be displayed. You should then select the option to Quantize track MIDI recording. Options then available include:

The note length to be used for quantization (e.g. 1/8).

Quantize positioning preference. Options are Nearest value, Previous value and Next value.

Whether to quantize note-offs.

Quantization strength. A lower setting will allow more subtle variation, creating a more �human� effect by allowing minor variations in how strictly the quantization is applied.

Swing setting. This can be between 0% and 100%. You can use this setting to add a touch of delay to those notes that do not fall on the upbeat. The best way to understand how these settings affect how your notes sound is to try a few examples.

Quantize within % range. These are similar to the Nearly Quantized and Far From Quantized faders in the Quantize Events dialog box (see previous section).

In addition, the Main (alt Recording) section of the Action List includes actions to:

Toggle MIDI input quantize for all tracks, selected tracks, or last touched track.

Enable or disable MIDI input quantize for all tracks, selected tracks, or last touched track.

13.23 Humanize Notes[edit]

Humanize Notes (from the Edit menu) can be used to introduce subtle variations � some might say imperfections! � to a MIDI item that is just too exact, too perfect. For example, no human pianist will ever complete an entire live performance on an acoustic piano with every key being struck with exact precision and perfect timing. Therefore, you might not want your MIDI items to be too perfect.

The Humanize Notes dialog box (right) can be used to introduced random variations in timing and velocity to an existing MIDI item to make it sound � well, more human!

13.24 F3 - The Panic Button[edit]

The F3 key can be your best friend when you are working in the MIDI Editor (and also when you are playing back MIDI items in REAPER's main Arrange View). Pressing F3 will set all notes to all MIDI outputs off, until you stop and recommence playback.

13.25 Using the MIDI Editor: a Basic Exercise[edit]

In this example, you will be introduced to some simple examples which involve working with the REAPER MIDI Editor. The objective of this is not to produce a stunningly brilliant piece of music, but to help you to become familiar with the MIDI Editor. The step by step instructions assume that you are using a PC with Windows. OS/X users will need to adapt some of the steps to suit their own environment.


  1. Create a new project file. Add one track to it. Arm this track for recording and set its input to your MIDI keyboard if you have one, or to the virtual keyboard if you do not.
  2. Record about 20 or 30 seconds of a very simple tune on Channel 1. This might be part of a nursery rhyme or some other song with which you are familiar. Your Track and Item will look something like this:
  3. If you are using Windows, display the track�s routing window and add a MIDI Hardware Output to Microsoft GS Wavetable SW Synth.
  4. Play the tune. It should play with a piano sound.
  5. Double click on the item to open it with the MIDI Editor.
  6. Check the first two MIDI toolbar buttons to make sure that neither the Track List nor Media Item Lane are displayed � you do not need them for this exercise,
  7. Display the drop down note-length list (labeled Notes:) and set it to 1/2.
  8. Scroll your mousewheel up or down until you are satisfied with the horizontal zoom setting. Use Ctrl with the mousewheel to find an acceptable vertical zoom setting. You should see something like this.
  9. Just for fun, draw in a few more notes by clicking and dragging in the edit window. Experiment with using your mouse to move them about and change their length (by clicking and holding over a note�s right edge and dragging left or right). Delete any that you do not want to keep.
  10. Now Zoom out horizontally to see the entire length of the item.
  11. Display the CC Lane List and choose Bank/Program Select (see right).
  12. At the very start of the song, double click in the CC Lane. Select the bank General MIDI and the program Church Organ. Click on OK.
  13. Return to the start of the timeline and play the tune. It should sound like a church organ.
  14. Draw in a number of long �dronish� notes as shown below. Marquee them (right click drag) to select them all (but only your new notes).
  15. Right click over any of the selected items, choose Note Channel from the menu, then channel 2.
  16. Double click in the CC Lane,at the start of the song. Select General MIDI, Choir Aaahs and Channel 2 (see right). Click on OK.
  17. Play the song from the start. You should hear an organ with a choir. The choir may seem too loud.
  18. Change the CC lane to display 07 Volume MSB.
  19. Click on the Channel Filter List (on the toolbar) and choose Channel 2. Now only your Aaahs are displayed.
  20. Click/hold/drag your mouse as you sweep along the CC Lane with a fairly low volume setting, as shown below.
  21. Remove the channel filter and restore all channels to view.
  22. Display the Color drop down list and choose Channel.
  23. Close the MIDI Editor and save the file.
  24. Play it. The choir should now sound a lot quieter.
  25. Continue if you wish to further explore the MIDI Editor on your own.

13.26 Step Recording[edit]

Step recording is a method of recording a sequence of MIDI notes within REAPER's MIDI Editor, one step at a time. In overview, you start by choosing a step size (such as a quarter or eighth note), then play your notes using a MIDI keyboard or the function keys F1 to F12. Each note you play is recorded and the insertion point is moved into position ready for the next note. You can then continue, playing more notes as you wish. You can also, if you wish, change the note size while recording. Let's see how this is done:

  1. From REAPER's main menu, choose Insert, Virtual Instrument on new track. Select the required instrument and click OK. The track should be inserted already armed for recording, with input monitoring enabled.
  2. Display the Input drop down list for this track and select a MIDI channel (or All channels) for your MIDI keyboard.
  3. Click and drag in the arrange area to define the length of your required MIDI item. From the menu, choose Insert, New MIDI item to insert the item.
  4. Open the item in the MIDI Editor. By default, double-click on item will do this, or you can choose Open in built-in MIDI editor from the right-click context menu.
  5. If you are using a keyboard, enable step recording either by choosing Use all MIDI inputs for step recording from the MIDI Editor Options menu, or by clicking on the equivalent toolbar button.
  6. If you wish to Use F1 - F12 for step recording, enable this menu option. These keys are then mapped to the 12 semitones of an octave. In this example, we'll use these keys. Remember, however, you could use a MIDI keyboard if you have one.
  7. Select a note length (e.g. 1/4, 1/8) from the drop down list next to the MIDI Editor's transport bar.
  8. In the piano roll keyboard. select a note (e.g. C4). This note will now be represented by F1, with subsequent function keys moving up the scale to higher notes. Press function keys as required to enter notes and to advance the cursor according to snap settings (hold Shift if you wish for snap settings to be ignored). These notes can be edited like any others, for example to adjust velocity.
  9. Selecting a different note in the MIDI editor keyboard will reset the value of F1 (and all other function keys accordingly).

These instructions represent the essentials of step recording. Depending on which virtual instrument you use, and on your MIDI keyboard setup, you might need to �tweak� them to suit your exact requirements.

13.27 Working with Multiple MIDI Tracks and/or Items (Overview)[edit]

From Arrange view you can make MIDI items available for editing by choosing the command Open in built-in MIDI editor from the right click context menu. This command has four mutually exclusive options � Open clicked MIDI item only, Open all selected MIDI items, Open all MIDI on same track, and Open all MIDI in project. You can set a default option in the Editing Behavior, MIDI Editor page of REAPER's preferences (see Chapter 22).

Double-clicking on the item causes the MIDI Editor to open according to your preferences setting. For example, if you set your preference to one MIDI editor per media item, then each MIDI item you double-click on will open in a separate MIDI editor instance by itself. If you set it to one MIDI editor per project, this will result in all MIDI items being opened in the MIDI editor when any single MIDI item is double-clicked: The double-clicked item will be the selected and active item.

If One MIDI editor per project is specified, then you should also specify whether to open the clicked MIDI item only, all selected MIDI items, all MIDI items on the same track, or all MIDI items in the project (see right).

Within the MIDI Editor, your default preference settings can be overridden on a per project basis from the Contents menu. This will be discussed shortly.

Tracks and items can be managed in the MIDI Editor by displaying the Media Item Lane (second button on toolbar toggles) and the Track List (first button on toolbar toggles). Both these options are also available on the Contents menu.

The illustration below shows an example of the MIDI Editor window opened with three MIDI tracks, the first of which comprises three items. Both the Track List (right of window) and the Media Item Pane (foot of window) are displayed. In a moment, we'll examine these more closely.

In the MIDI Editor each item is assigned three qualities � visibility status, active status and editability status. These can be set as required to allow you to work with different items at different times. Visible means the item and its notes are displayed in the MIDI editor window. Active means that the item can be used for inserting, copying, pasting notes, etc. Editable means that mouse edits (move, lengthen, etc.) and commands such as quantize, transpose and humanize can be performed on an item's notes. One and only one item at a time may be active, but as many items as you wish may at any time be visible and/or editable. Note that:

An item can be visible without having to be editable or active. One or more items may be visible.

An editable item will also be visible but need not be active. One or more items may be editable.

An active item will also be editable and visible. One and only one item is active at any time.

An item can be made active using the track list (above right). A track can be made active from the Contents menu or using the drop down list near the end of the transport bar (also see below right). If the track contains only one MIDI item, that item will be made active. If it contains more than one item, all items will be visible and editable but only one item will be active.

The Filter Events window allows you to select multiple channels for display and editing. If you select two or more channels in this window, the drop down channel list at the foot of the MIDI editor window will read �Multi� or �All�. Alternately, you can simply use the drop down channel list to select �All.�

The MIDI column in the Track Manager (Chapter 12) can also be used to open items in/remove items from the MIDI Editor, and to show items in/hide items from the MIDI Editor track list. Tracks can also be selected to be shown in or hidden from the track list using the track list's context menu (see below).

13.28 Managing Multiple MIDI Tracks and Items[edit]

The Track List

Track List display is toggled on and off by the first icon on the MIDI Editor toolbar, or from the Contents menu. Right-click on the track list area to open the Track List context menu. If you need to override the preferences default setting, you can specify whether you want One MIDI editor per media item, track, or project.

Behavior for �open items in built-in MIDI editor� options are to open Clicked item only, All selected MIDI items, All MIDI items on same track as clicked item or All MIDI in project. These options are also available from the MIDI editor Contents menu.

Two mutually exclusive options from the MIDI Editor Options menu are repeated here: these are Draw and edit CC events on all tracks and Edit CC events on all tracks. You can enable neither or one of these at a time, but not both.

You can use the command Choose which tracks appear in track list to hide tracks from or restore them to the track list. Selecting this command causes the X symbol to be displayed beside each track name. This toggles track display. In its default gray state, the track will be marked for display, when red it will be marked to be hidden. After making your selection, again select Choose which tracks appear in track list from the context menu to implement this selection. Those tracks marked with a red X will now be hidden. The command Show all tracks in track list will restore them to view. Also, you can choose whether to Show tooltips in MIDI track list.

The Options when using one MIDI editor per project command (also on the MIDI editor Contents menu) includes further ways in which you can specify MIDI Editor behavior when selecting and editing items

Item selection toggle options are Active MIDI item follows selection changes in arrange view, Media item selection is linked to visibility and Media item selection is linked to editability. Select any, all or none of these.

Item editing toggle options are Only MIDI items on the same track as the active item are editable and Close editor when active MIDI item is deleted in arrange view. Enable both or neither of these.

In the example shown here three tracks are displayed, containing in total five MIDI items. The Acoustic Guitar track holds three items. Guitar break 1 is the active item: it is therefore also editable and visible. guitar break 2 is editable and visible, guitar break 3 is visible but not editable. The acoustic bass item is both editable and visible. The electric guitar is not visible and therefore not editable.

The diamond shaped symbol to the left of each track name opens and closes a list of MIDI items on that track.

The track list here operates in much the same way as does the arrange view track list. Click on any item name to select it, or on any track name to select all items on a track. You can use control+click or shift+click to build a selection. The first item in a built selection will be made active, but you can change this by clicking on the �make active� icon of any other item. You can then use the various other icons to set qualities such as icon color, solo, mute or editability for the entire selection.

The small colored square to the right of an item name opens the color picker: this can be used to select a different color to be used for this item in the Media Item Lane.

The column to the right of the color picker is the �make active� column. Click here to make any item the current item for inserting events (shown by the green arrow). It will automatically also be made editable and visible.

Click in the next column to the right of this to make any item visible and editable, indicated by the green unlocked padlock icon. If contents do not appear visible, check 1) the scroll settings for the MIDI editor window, and 2) the channel filter, to ensure that the required channel is included in the filter. This same green icon can then be used to toggle editability.

The eye symbol to the right of this toggles the visibility of any item (or item selection) in the MIDI Editor. The gray/red circle to the right of this (for tracks) toggles record arm status for that track. This is used in conjunction with the Record button on the Arrange view Transport Bar.

Use the M button to the right of this to toggle mute status for individual tracks or items. Use the S button to the right of this to toggle solo status for any track.

The track list can also be opened (shown) and hidden using the track select drop down list at the bottom of the MIDI Editor window.

The Media Item Lane

This displays the MIDI items and their position in the arrangement. Clicking on any item highlights, selects it but does not make it active. As with the track list, you can use control+click or shift+click to build a selection.

The individual media item right-click context menu offers you various options for setting items to custom colors or random colors.

13.29 Editing Multiple MIDI Items[edit]

In order to be able to edit different MIDI items at the same time you will first need to select those items that you wish to make available for editing, as explained in the previous section. You can then perform normal mouse editing activities on any part of the selection, such as copying or moving, adjusting velocity, stretching, shrinking, etc. The table below gives some examples of how you can apply this to various MIDI editing tasks.

If you want to do this � � do this! Change track/item name. Double-click on name in track list and edit.
Copy/move a note (or note selection) to another item within MIDI editor. Make sure source item(s) editable. Select note(s), press Ctrl C (copy) or Ctrl X (cut). Make the destination item active. If required, position play cursor. Press Ctrl V (paste).
Copy/move a note (or note selection) to another item in Arrange view. Make source item(s) editable in MIDI Editor. Select note(s), press Ctrl C (copy) or Ctrl X (cut). Select destination item in Arrange view, make it active in MIDI Editor, position play cursor. Press Ctrl V (paste).
Mouse edit a selection of notes in more than one MIDI item. Make items editable. Select notes and use mouse (e.g. drag to move, click drag from edge of any note to lengthen or shorten notes).
Delete selection of notes across more than one item. Make items editable. Select notes and press Delete key.
Mute/Unmute note selection across more than one item. Make items editable. Select notes and press Alt M, or use Mute events command from Edit menu.
Change note properties for a selection of notes Make items editable. Select notes and press Ctrl F2. Make changes then OK.
Quantize, Humanize, Transpose across multiple items. Make all required items editable. Make note selection and choose Edit menu command, e.g. Quantize, Humanize, Transpose.
Adjust velocity of notes selected in two or more items. Display velocity lane and make items editable. Select required notes. Click/drag mouse up/down from top edge to increase/decrease velocity.
Edit CC data across multiple MIDI items. Display CC lane and make items editable. Select required events and perform edit as required with mouse or via Event Properties dialog.
Show/Hide all MIDI items on tracks in Track List. Click (for one track) or Shift click (for all tracks) on diamond symbol to the left of any track name in Track List (toggle).
Show/Hide all tracks/MIDI items in Track Folder. Click on circle symbol to left of folder name in Track List (toggle).

MIDI Editing with Multiple Items: Some Tips and Examples

These notes assume that you are by now familiar with the basic MIDI editor navigation and editing techniques explained earlier in this chapter and, for example, shown in the exercise in section 12.24. Indeed, you are advised not to experiment with editing multiple MIDI items until you are confident that you have mastered the techniques for editing the contents of a single MIDI item.

13.30 MIDI Editor Mouse Modifiers[edit]

The Mouse Modifier dialog is opened by the Options, MIDI editor mouse modifiers command. Here you can customize exactly how you would like the mouse to behave when you are working in the MIDI editor.

There are several areas in which you can modify mouse behavior within the MIDI Editor. These include MIDI note, MIDI note edge, MIDI CC lane, MIDI CC event, MIDI Source loop and marker, MIDI ruler, MIDI marker/ region lanes, MIDI piano roll and MIDI editor. In many cases, separate contexts are available for left click, left drag and double-click behaviors. For example, if you wanted to, you could ensure that, say. Shift Alt Left click is used to toggle a note's mute status.

For much more about mouse modifiers, including MIDI Editor mouse modifiers, see Chapter 15.

13.31 MIDI Editor Actions[edit]

REAPER's Action list Editor lets you assign keyboard shortcuts to any command or action, or sequence of actions, including many not shown on the MIDI Editor menus. Chapter 15 will show you how to do this, including adding actions to the MIDI Editor menus.

The Action list is displayed by choosing Show actions list from the Actions menu. One of the first things to notice about it is that it contains a whole load of assignable actions beyond those that are shown on REAPER's menus. This means that you are able to create your own keyboard shortcuts for any of these actions, and even for sequences of actions.

Notice also (right) that when using the MIDI Editor Action List, you are able to assign MIDI commands and actions to keystrokes so that those keys will behave differently in the MIDI Editor from the way they behave in the main REAPER environment. You can see that there's quite a few, and that some already have keys assigned to them. You can assign your own keys to other actions.

Let's take a simple example. Being able to select notes quickly and easily is important when you are working with the MIDI editor. If in the Action List filter box you type add note then only those actions which included these characters will be displayed (see right). One of these is Add next note to selection. You can assign a shortcut to this action ' perhaps the letter N.


  1. With any MIDI item open in the MIDI Editor, choose the Actions, Show actions list command.
  2. Click on the action Add next note to selection.
  3. Click on the Add' button. This causes the Keyboard or MIDI Input window to be displayed.
  4. Press the letter N. Click on OK. You can see that this keystroke has now been assigned to this action.
  5. Close the Actions List.
  6. Click on any note to select it. Now press N several times. Each time you do so, the selection will be extended by one note. You could now move these notes together, or assign them to a different channel, or delete them, or perform any other editing action.

You'll see in Chapter 15 that the Actions List Editor lets you do much more than this. For example, you can:

  • Chain together any sequence of actions so that the sequence can be executed with a single keystroke.
  • Add actions and custom actions to your MIDI Editor toolbar and/or the MIDI editor Actions menu, and/or any of REAPER's MIDI Editor menu commands (File, Edit, Navigate. Options, etc.)

REAPER's MIDI Editor commands (such as Edit -> Delete events, Edit ? Insert note, Edit ? Quantize, Navigate ? Select next note, Options ? Correct overlapping notes when editing, etc.) can all be found in the Action list. In addition there are many hundreds of actions, some very precise, which are not shown on the menus. The table that follows should help guide you thru many of these.

Category/Group Examples of MIDI Editor assignable actions(not fully comprehensive)
Note/event selection Select all notes with same value, note nearest to edit cursor, all muted notes. Add next/previous note to selection, Add note nearest edit cursor to selection. Select/unselect all CC events, Select/unselect all CC events in last clicked lane. Select all notes in time selection, Select all notes starting in time selection, Select all CC events in time selection (several variations).
Activate item/track Activate next/next visible/previous/previous visible MIDI item. Activate next/next visible/previous/previous visible MIDI track (if multiple items/tracks are open).
CC lane management Next/previous CC lane. Set CC lane to xxx.
Channel display Show only channel xx, Show only next/previous channel, Toggle channel xx, Color notes/CC by channel.
Grid actions Set grid type (straight, dotted, triplet, swing). Adjust swing grid strength.
Navigation Actions to navigate by channel, voice, pitch (all views) or staff (notation editor).
Note inserting/ editing/ manipulating/ moving/ transposing Color notes by velocity/channel/media item custom color/using colormap/by track custom color.

Delete all notes/trailing notes less than [1/128 to 1/8] note in length. Lengthen/shorten one grid unit/one pixel. Make notes legato, preserving note start times/relative note spacing. Move notes down/up one octave/semitone (transpose) Move notes left/right one grid unit/one pixel. Invert selected/all notes. Reverse selected/all notes. Invert chord voicings. Edit note velocity +/- 01/10. Set note length to grid size/double/half. Set length for next inserted note to grid. Trim left/right edge of notes to edit cursor. Insert note [1/128 to 1] note length. Set note length to [1/128 to 1] Set note ends to start of next note. Set note position to edit cursor. Split notes on grid. Copy/cut/duplicate notes within time selection, Fit notes to time selection. Paste events into active media item regardless of source media item (allows items to be copied from a selection of media items into a single media item.).

Loop/time selection Loop point: set start/end point. Remove loop point. Double/halve loop length. Set time selection to selected notes, Remove time selection, Remove time and loop point selection.

Move cursor to start/end of loop/time selection.

Cursor movement Cursor advance [1/128 to 1]. Cursor advance [1/32T to 1/4T]. Move cursor left/right one measure, To start/end of current measure.
Lyric events Align lyric events with notes. Import lyrics for selected noted from file. Insert/edit text/lyric event at first selected note.

Select next/previous lyric event. Shift lyric events backward/forward one note.

Mouse modifiers Actions are available to set mouse modifier behavior within the MIDI Editor for each of the categories CC event left drag, CC lane left drag, MIDI editor right drag, note edge left drag, note left click, note left drag, piano roll left click, piano roll left drag, ruler left click and ruler left drag. The list of actions is exhaustive.

13.32 In-Line MIDI Editing[edit]

To use the in-line editor on any MIDI item, first select the item then either use the default shortcut key E or right click and from the menu choose Open items in Editor then Open items in In-line Editor. The in-line editor will only be displayed if there is sufficient track height.

REAPER�s main MIDI Editor is recommended for serious and in-depth editing of your MIDI items. However, many common tasks can be carried out using the in-line editor if you prefer. This allows you to edit the MIDI item without leaving the main window.

The in-line editor displays piano roll view only, and the contents of CC lanes will be determined by whichever lanes were selected last time the item was opened in the MIDI Editor. If it has never been opened in the MIDI Editor, the Velocity lane will be selected by default. You can adjust the boundary between the editing area and the CC lane with the mouse to adjust its height, just as in the MIDI Editor.

Right-clicking over the editing area will display a menu that will show you which editing tasks can be carried out with the in-line editor. These are listed in detail in Chapter 22, but in summary, the following types of commands and actions are supported within the in-line MIDI editor:

Note editing mouse actions, including change length, change velocity, marquee, move, delete and insert.

Most commands on the MIDI Editor�s Edit and View menus, including quantize and humanize.

When working with the in-line editor, any keyboard shortcuts and custom actions that you have defined in the main MIDI Editor will apply, along with any defaults. For example, PageUp and PageDown will zoom vertically in and out within the in-line editor. You can run your MIDI Editor custom actions within the in-line editor. The in-line editor also displays a small toolbar in its top right corner. From left to right, the function of these tools is:

The Move CC with events toggle tool: serves the same purpose as its equivalent tool in the MIDI Editor window.

The Show/Hide tool (magnifying glass): toggles between the functions Show all note rows, Hide unused note rows and Hide unused and unnamed note rows.

The Item Style tool: toggles between rectangle, triangle and diamond note display.

The Vertical Scroll/Zoom tool. Click and hold on this and drag vertically up or down to scroll vertically up and down, left and right to zoom vertically in and out (see example, right). You can double-click on this button to zoom to contents.

The X tool. This closes the in-line editor and restores normal display.

The MIDI Editor and In-line Editor are designed for editing your MIDI events. Remember also that many of the item editing tasks, functions and activities that you discovered in Chapter 7 can also be applied to MIDI items as a whole. For example, in arrange view items can be dragged and dropped, split, copied, muted, grouped in selection sets, locked and so on. Plug-ins can be added directly to an item's FX chain. Selecting a MIDI item in Arrange view and pressing F2 will display its Item Properties window where you can shift pitch, change play rate, loop enable/disable, and do much more.

13.33 Copying MIDI Items in Arrange View[edit]

When you make a copy of a MIDI item in arrange view, then depending on your preferences and on how you make the copy one of two outcomes will occur:

The first of these is that the new item will be created as a new instance of the original item, and will use the same source data as the original. In this case, any changes made to either item will be applied to the source data, and therefore also to the other item. This might be what you want, for example, if you have a melody, a bass line, or a drum pattern that you wish to repeat throughout a project. You�re still working on the line, and you may need at some future time to make changes to these items, and you wish to do this in such a way that when you make these changes to any one item they will automatically be applied to all of the others.

In the alternative scenario, the new MIDI item becomes a discrete item in its own right, so that you can independently edit either item without affecting the other.

By default, when you copy and paste items using the menus or keyboard shortcuts (such as Ctrl Shift C and Ctrl V), the former method (with common source data) is applied. The items are also added to the Project Media Bay (see Chapter 12) where they are listed as MIDI pool items.

To change this default behavior, disable the preference (under Options, Preferences, Media, MIDI) to Pool MIDI source data when pasting or duplicating media items (see also Chapter 22). Items will then by default be copied as discrete items. Note that a new MIDI pool item is never created when an existing MIDI item is split. Note also that by default MIDI items added to a project from the Project Media Bay are not pooled.

The default behavior when you copy an item by dragging with the mouse depends on your mouse modifier settings for the context Media item drag. By default, the following apply when dragging MIDI items:

Drag and drop: Move item ignoring time selection

Ctrl with drag and drop: Copy item as discrete item

Shift Ctrl Alt with drag and drop: Copy item, pooling MIDI source data.

For a complete list of mouse modifiers, see the Editing Behavior, Mouse Modifiers page of your Preferences. Select Media item left drag from the context list. You can change any assignments if you wish. The method is explained in Chapter 15.

You can remove any individual MIDI item's pooled status and convert it into a discrete item. To do this, either display the item's source properties window (Ctrl F2 or use the context menu) and click on Un-pool this item, or click on the item's pooled status icon (see above).

13.34 Joining MIDI Items[edit]

There may be times when you wish to join a number of MIDI items together. This might, for example, be to create a single loop enabled item, or simply so that you can edit them as one item, or perhaps to be able to export the MIDI data as a single MIDI file. For example, you might have several MIDI items that you wish to export together as a single file. The track shown below might be an example of this.

You can select all of the items (right-click and drag is often the easiest way to do this) and glue them together: right-click anywhere on the selection and choose Glue items from the context menu.

You can then double-click on the glued item to open the MIDI Editor, from where you can export it as a single MIDI file (File, Export to new MIDI file �).

13.35 MIDI Preferences Settings[edit]

To specify your MIDI preferences, choose the Options, Preferences command (Ctrl P) and then select the Media, MIDI page. You'll find these shown in Chapter 22, but for now the following are worth noting.

You can specify whether by default new MIDI items are created as REAPER media items (the default) or .MID files.

You can specify how your edits to imported .MID files are to be interpreted � that is, whether to apply your edits only to the item in the REAPER project file or also to the original file on your disk.

You can set the default behavior for imported multichannel MIDI files � as multichannel on a single track, as single-channel items on multiple tracks, or always prompt to ask.

13.36 MIDI Output Direct to an External Synth[edit]

The MIDI output of any track or selection of track can be sent directly to an external hardware synthesizer instead of (or as well as) to the master. Right-click on the track's ROUTE button, choose MIDI output from the menu, then the device name, then the channels. Optionally, you may also disable output to the master send.

13.37 Exporting Project MIDI[edit]

From Arrange view, the File, Export Project MIDI � command can be used to export either an entire MIDI project or selected items or tracks, or a time selection within that project (all or selected items) to a single MIDI file. If no time selection is made, data will be exported for the entire timeline.

An example of such a project file is shown here. It includes six tracks with MIDI events ( a different channel for each track), enclosed in a folder whose FX chain includes a virtual instrument. For the most part, the options shown here require little explanation.

You can choose to export the Entire project time or the current Time selection only.

You can include All media items within the project, or Selected tracks only or Selected items only. In the example shown, All MIDI items has been chosen.

You can merge MIDI tracks to a single MIDI track as a type 0 file or export it as a Multitrack MIDI file, with the integrity of the different tracks maintained in the type 1 file.

You also have options to Embed project tempo/time signature changes and/or Embed SMPTE offset and/or Export project markers as MIDI markers or cues. This includes an option to Only export project markers that begin with #.

13.38 MIDI Routing, MIDI Buses and ReWire[edit]

REAPER's MIDI routing capabilities can be enhanced by the use of MIDI buses. By default, your MIDI tracks can contain up to 16 MIDI buses, each comprising 16 MIDI channels. When sending MIDI data from one track to another, you are able to specify bus/channel combinations for both the source and destination tracks rather than just a channel.

These options are available in the drop down lists in the MIDI send/receive windows (below right).

MIDI data sent from one track to another in this way can be directly routed to any VST or AU synth in that track's FX chain. To do this, right-click over the plug-in's �2 Out� button and choose the required MIDI Bus from the MIDI Input menu (right).

The same context menu can also be used to assign MIDI Output to any bus, and/or to assign the synth's audio output to any track channel or channels.

When a track has volume and pan MIDI controls, moving the volume/pan fader within the routing window will generate CC7/CC10 events. When a send's MIDI routing button is enabled, these CC events are sent to the destination track.

ReWire users may be interested to know that MIDI data routed in this way can be also be mapped to ReWire, using any permutation of buses/channels that you require. For more information about using ReWire with REAPER, see Chapter 17.

13.39 ReaControlMIDI[edit]

The ReaControlMIDI plug-in can be used to set a track's various MIDI parameters. It can be inserted from the track�s FX chain, or by right-clicking over the track name or number and choosing Show ReaControlMIDI for Selected Tracks from the menu.

You can use different instances of this plug-in on the one track to send different MIDI messages to different channels. This enables you, for example, to send control messages to a synth or virtual instrument placed after ReaControlMIDI in the FX chain.

Many DAWs have MIDI tracks with MIDI-specific controls, like bank/program select, MIDI volume and pan, etc. REAPER instead uses ReaControlMIDI, which provides a MIDI track TCP for any track.

This gives you additional flexibility, because you can insert multiple instances, or insert it at any point in an FX chain, either for the track as a whole or for individual items. Notable features of ReaControlMIDI include:

Load File: You can load a REAPER .reabank file or Cakewalk .ins file of instrument definitions and then select a preferred bank/program combination.

Control Change: Up to five CC items can be selected from the drop down lists. Any and all of the items available for CC lanes in the MIDI Editor are available.

Show Log reveals a log of MIDI activities. You can choose to include any or all of control change, sysex, all-notes-off and/or meta-message activities.

ReaControlMIDI also gives you a vehicle for creating MIDI CC track envelopes, by allowing automation of any of the plug-in's enabled CC sliders. Automation will be explained in Chapters 18 and 19. You can also assign track controls to the TCP and/or MCP to manage its various parameters. This is explained in Chapter 11.

13.40 Some MIDI Plug-ins[edit]

REAPER includes many plug-ins that can be placed in the FX chain of any of your MIDI tracks or MIDI items. Many of these have been written and developed by Philip Consadine. Now is a good time to take a look at them.

The basic steps involved in inserting and using Track FX are covered in the section Track FX Basics. If you are unfamiliar with these steps, you should review that section before proceeding.

If you display the Add FX window and type midi into the filter list box (as shown here), you will see a list of those MIDI FX that are currently available. Below are listed some of the JS MIDI FX supplied with REAPER.

FX Name Comments MIDI_CCRider A LFO Controlled CC generator.
MIDI_DuplicateFilter Blocks duplicate notes.
MIDI_KeyMap A MIDI key mapping utility.
MIDI_KeySnap This is a good cheat for bad pianists.
MIDI_Router Routes events from one channel to another.
MIDI_Tool and MIDI Tool II These do interesting and fun things to MIDI note events.
midi_transpose Transposes a note or a range of notes.
MIDI_Variant A pattern based, musically aware, randomification monster.
MIDI_Velocifier II This is a pattern based velocity modifier.
midi_velocitycontrol Used to vary and control velocity on a MIDI track.
MIDI_Wobulator A LFO Controlled automatic pitch wobulator.
sequencer_megababy An awesome pattern sequencer (see later in this chapter).
Synthesis/midi_drumseq Use this drum sequencer with your favourite patch set.

These plug-ins can be made even more powerful by the use of automation envelopes, which can be applied to any of their parameters. How to create, manage and apply automation envelopes will be covered in Chapter 18.

For more information about how to use these and other MIDI plug-ins, visit the Cockos web site, and in particular

13.41 MIDI Controlled Pitch Shift with ReaVoice[edit]

The ReaVoice plug-in can be used in conjunction with a recorded vocal track to create pitch shift harmonies. As with many other plug-ins, ReaVoice can be used in a number of ways. In this section we will take you thru just one example. After completing this example you should be able to experiment with this plug-in�s capabilities for yourself. The procedure for using ReaVoice is as follows:

Record the Vocal Track.

Insert a new track immediately below the Vocal Track.

Create a send from the Vocal Track to the new track. Initially at least, this should be Pre FX.

Insert ReaVoice into the FX Window of the new track.

Arm this track for recording. Make your MIDI keyboard the Input Device and turn Input Monitoring on.

Mute all tracks except these two.

Play the song. As you do so, play the keyboard, experimenting until you find an appropriate range of notes.

Work out what you want to play, press W to return to the beginning, then Ctrl R to record. Stop recording when finished.

If you do not have a MIDI keyboard, you can either use REAPER�s Virtual keyboard, or you can enter the notes by hand using the MIDI Editor.

If you wish, you can record more than one take, selecting Play All Takes for the MIDI track items.

After finishing recording, you can use the MIDI Editor to polish your work.


In this example, you�ll have some fun and explore how ReaVoice works at the same time.

  1. Open the file All Through The Night.rpp and save it as All Through The Night REAVOICE.rpp.
  2. Mute all tracks except the Vox track.
  3. Move the Vox track to the top, select it and press Ctrl T to insert a new track. Your Vox track is now track 1 and the new track is track 2.
  4. Name the new track Vox MIDI.
  5. Display the Routing window for the Vox MIDI track and add a new Pre FX Receive on Audio 1/2 from the Vox track.
  6. Insert the ReaVoice plug-in into the FX Window for this track. For now make its settings as shown above. Note in particular the number of voices and the long sustain setting.
  7. In the Vox MIDI track, insert an empty MIDI item from about the 13 sec mark to about the 50 sec mark. This should coincide with the first vocal passage on the Vox track.
  8. Double click on this to open it in the MIDI Editor.
  9. Create a pattern of notes similar to that shown above. You don�t need to follow this precise pattern, be prepared to experiment.
  10. As you play the song, make sure that the two vocal tracks are soloed. You can of course edit any individual note or notes, for example, by moving them up or down, by lengthening them or shortening them, or by changing their pitch. Here are some more possibilities, just for fun and to give you some ideas.
  11. Within the MIDI Editor window, press Ctrl A to select all events.
  12. Press Ctrl F2 to display the Note Properties dialog box.
  13. In the Note box, type +2 (as shown) then click on OK. This raises the entire selection by two semitones.
  14. Experiment with other settings as you wish. Save the file finished.
  15. Now experiment with adjusting some of the ReaVoice settings.

13.42 JS: IX/MIDI_Router[edit]

This plug-in can be inserted from a track's FX chain. It is used to redirect MIDI data from one channel to another.

You can choose whether to send notes, non-notes, or both.

13.43 Feedback Routing with MIDI Tracks[edit]

We have already mentioned (Chapter 2) that REAPER's project settings allow you to use feedback routing. You will need to enable this feature if you wish to route MIDI output from one track to another, then audio output from the second track back to the first.

13.44 Working with Piano Roll Synced to Project Arrange View[edit]

Here is one example of how you can work with the MIDI Editor piano roll synced to the project. This is what we have done:

  1. Recorded a percussion instrument as a wave file and, using stretch markers, dynamic splitting, or any other technique, edited this item so that the notes are exactly as we want them.
  2. Created a new empty MIDI item and opened it in the MIDI editor.
  3. Used the MIDI editor command View, Piano roll timebase, Project sync.
  4. Right-clicked on title bar and chosen Dock Window.
  5. Clicked on the ! in lower left corner of docker and deselected (i.e. unticked) the option Attach docker to main window.
  6. Clicked on the ! in lower left corner of docker and chosen Set opacity, 75%.

We can now move the MIDI editor window and place it over the previously recorded track: this helps us visually in using the MIDI editor to add the notes for our next percussion instrument.

13.45 The Scale Finder[edit]

REAPER's main Arrange View includes a feature that MIDI users may find useful � the Scale Finder. It can be used to identify those scales which contain any given set of notes.

The Scale Finder is opened using the command View then Scale finder. Notes can be typed from the computer keyboard or entered using a MIDI device (including the Virtual MIDI Keyboard).

The file sample reascale (provided and installed with REAPER) can be used with the scale finder, or you can click on the button at the bottom of this window and use the Load command to import a file of your own choosing.

You also have the option to use the notes that are currently selected in the MIDI Editor.

13.46 Sequencer Megababy[edit]

Sequencer Baby is a pattern sequencer which can be used to play a MIDI synthesizer under program control. This section is intended to introduce relatively new users to the concept of pattern sequencing, together with a simple example of how one can be used. Beyond this, don't hesitate to explore and experiment for yourself!

We'll start by working thru a step by step example, then go on to examine Sequencer Megababy in more detail.


  1. Create a new file, and insert a single track.
  2. Open the track's FX chain and add an instance of JS: MIDIsequencer_megababy.
  3. You need a synthesizer to use with Sequencer Megababy. You could use one of your choice, but for this example insert an instance of ReaSynth. For now, leave its settings at their defaults, except (as a precaution) Volume. Set this to about -15 dB. If this turns out to be too low, you can later raise it.
  4. Also as a precaution, insert the JS: Utility/limiter and set max vol to -3.0 dB.
  5. Select the Sequencer Baby plugin. Some of its main controls are shown below.
  6. Click and drag in a few places (example shown right) to enter a note pattern.
  7. Click Play on REAPER's transport bar. This pattern will play over and over again.
  8. Stop playback. Change the Steps per beat value to 8 and play again. Notice the music plays faster.
  9. Set this to 2: notice playback becomes slower. Set this back to 4.
  10. Change Sequence length to 24. The sequence becomes longer. Draw some more notes.
  11. Click on the number 1 above the pattern grid (but below the parameter controls). A new screen is shown: here you can create another pattern. Do this!
  12. Now hold the Alt button while clicking on the number 1 button. Notice the column headers change color.
  13. Play the music. The two patterns (0 and 1) are now chained. You can chain up to 16 patterns.
  14. If you wish, save the file.
  15. You can also record the synth's output as an audio item. Arm the track for recording, choose Record output from the record arm context menu, then press Ctrl R.

Note: The four lanes below the pattern grid area can be used to set modulation, volume, pan and/or expression values for individual notes or any sequence of notes. Click/sweep to create an envelope: right-click on any node to delete it, right-click/sweep to delete entire envelope. Shown here is a pan example.

Summary Examples of Sequencer Baby Keyboard/Mouse Control Combinations

Left click-drag Draw new notes/ erase existing notes.
Right click-drag Audition notes without drawing.
Shift Ctrl Alt Left click-drag �Sweep� draw notes freehand / erase existing notes.
Ctrl Left click-drag Adjust note velocity.
Shift Left click-drag Adjust note start offset..
Ctrl Left-click / Ctrl Right-click Halve steps per beat, slow down / Double steps per beat, speed up.
Left click pattern number Select pattern number.
Ctrl right-click pattern number Clear pattern.
Alt Left-click pattern number Set pattern chain end.

A more complete list can be displayed by clicking on the plugin's Edit button.

13.47 Using MIDI CC Messages to Control FX Presets[edit]

This is an advanced topic and as such not recommended for novice users.

Bank/Program Select CC messages can be used to switch programmatically between presets for any FX on any track during playback in real time. This can be done using a dedicated MIDI item that is placed on the same track as the media item containing the FX whose presets you wish to automate. The procedure can be a little bit �fussy� so be prepared to take your time over this, especially at first, until you get used to it.

  1. After recording the item, insert the required FX into the track's FX chain and (if it is not already displayed) import the required preset library. To do this, click on the + symbol to the right of the presets drop down and choose Import preset library (.rpl).
  2. The available presets can now be displayed from the presets drop down list. The example here shows the default presets library for ReaDelay, but you can do this for any plug-in. You could delete any presets that you do not wish to keep and/or create and save more presets of your own if you wish. The self-evident commands for doing this can be found on the same presets + menu that you used in step 1. above. If you do this, it is recommended that you then export the presets library with a new name.
  3. For the purposes of this example, we will be content to use just the supplied set of ReaDelay presets shown on the right.
  4. You now need to create a .reabank patch/bank file. This is in fact an ordinary text file, but it must be laid out in a certain way, and it must be saved with a .reabank extension. You can use any text editor for this.
  5. Joel Sampson has available (free of charge) on his web site an excellent and comprehensive five page PDF manual explaining just about every aspect of reabank files and how to create them. Summary instructions follow below, but I would strongly recommend that you download and study The Art of Reabanks from
  6. An example of a reabank file for the default ReaDelay preset library is shown below. In this case, Notepad has been used to create the file. Note the comments at steps 7 and 8.
  7. The bank line is the first line of the file. It sets the most significant byte (MSB) and least significant byte (LSB) of the Bank Select number, then the bank name. You can set both numbers at zero.
  8. Each subsequent line consists for each preset of its patch number (starting at zero) and its name, which is shown here the same as the name displayed in the FX presets drop down. However, you may use different names if you wish, as the selection process is based on the patch number.
  9. Save the file and close the text editor when finished. A fairly sensible place to save it is in a subfolder of your \Application Data\REAPER\Data folder or equivalent (depending on whether you are using Windows or OS/X, and which version) � but that's up to you.
  10. Start REAPER and open the appropriate track's FX chain. Select the FX and from the preset + menu select Link to MIDI program change and select a channel (e.g. Channel 16). This will make the controlling MIDI messages distinct from any others.
  11. From the track's context menu, set Enable track free item positioning on. This command will now appear on this menu with a tick beside it. By enabling free item positioning you ensure that you can place two or more items underneath each other on the same track.
  12. Select the track that contains the media item with the FX plug-in whose presets you wish to control. Use your mouse to make a time selection that includes this item. Now from the Insert menu choose New MIDI item to create an empty MIDI item alongside (parallel to) the existing media item. The result of this is shown below:
  13. Open the empty MIDI item in the MIDI Editor, and make sure that the Bank/Program Select lane is displayed.
  14. At the point where you want to make your first automated preset change, double-click in the Bank/Program Select CC lane. This will display the Bank/Program Select dialog box.
  15. Click on Load File. Navigate to and select the file that you saved at step 9. and click on Open.
  16. The preset bank will now be loaded. Display the Program drop down list and select the required preset (see right). Be sure to select the same channel as you specified at step 10. Click on OK.
  17. Repeat step 16. as many times as you wish to create as many automated preset changes as you require.
  18. You should now be able to see your program changes displayed in the MIDI Editor CC lane (see below).
  19. Play the song. Your ReaDelay presets will now automatically change according to your instructions!

13.48 Custom MIDI Note and CC Names[edit]

You can define your own MIDI note and CC names and save them into a text file, which can then be imported into any MIDI project file using the command File, Note names, Load note names from file. A sample file is provided with REAPER: you can edit this file to suit your needs, or create your own files using any standard text editor. To locate the sample file, choose from the main arrange view menu the command Options, Show REAPER resource path, then double-click on the folder MIDINoteNames to open it. You should then see a file named note_name_sample.txt. Right-click on this file name and choose Edit from the context menu to open it in your default text editor. The sample file content is shown here (right). The # sign at the start of each line means it is a comment for illustration only and will be ignored by REAPER. To create actual names, simply type the extra lines in the format shown (without the #). An example is shown on the left. You can also delete any comment lines that you do not wish to keep. Save the file and close the text editor. This file can now be imported into any project file, using the method described in the MIDI Editor Menus section.