Copyright (c) 2012-2016 Hyperion Entertainment and contributors.

Bars & Pipes Professional: MIDI Event Editing

From AmigaOS Documentation Wiki
Jump to: navigation, search


Notes aren't the only MIDI events you can record, edit and play. Bars&Pipes Professional lets you work with all MIDI channelized events, including Pitch Bend, Program Change, Control Change, and more.

Entering and editing other MIDI events is similar to entering and editing notes. In this chapter, we'll show you specifically how to enter and edit these special MIDI events.

Types of MIDI Events

When musical information travels through a MIDI cable, it's broken into individual commands that describe specific actions. These commands are commonly called "MIDI messages", or "MIDI events."

With Bars&Pipes Professional, you can record, play and edit all of the MIDI-channeled voice events. These events encompass all the commands that control how your synthesizer(s) can play: what notes to play, how loud to play them, how much pitch bend to include, etc. The MIDI channeled voice events embody the actual performance. Let's look at each:

Note On And Note Off Events

Note On and Note Off are by far the most important MIDI events. They describe when a note starts to play and when it ceases to do so.

From a MIDI perspective, Note On and Note Off are separate entities. When you press a key on your MIDI keyboard, it immediately sends a MIDI Note On event which states that the note is playing. Your MIDI keyboard has no way of knowing however, how long you'll sustain that note. Not until you lift your finger off the keyboard does it send a MIDI Note Off event. As you see, the performance of a note is described by MIDI as two separate occurrences.

In traditional music, a note is considered one event, not two. Bars&Pipes Professional's Sequencer combines Note On and Note Off to create one note event that describes when the note starts, as well as its duration. Even so, it's useful to remember that a note is broken into two parts when it leaves your keyboard, zings across MIDI to your Amiga, flows down a PipeLine, enters the Sequencer and combines into one.

Upon playback, a note is once again broken into two parts, which flow down the right side of the PipeLine, out through MIDI, and into your synthesizer.

Note Velocity Data

In addition to the actual value of the note, the MIDI Note On event also stores the note's velocity, i.e., how hard you strike the key to produce the note. Note Velocity translates into note emphasis or volume. To view and edit MIDI Note events, please see the preceding chapter.

Pitch Bend Events

Pitch Bend allows the performer to bend the pitch of a note. Since bending a note is an extremely powerful form of musical expression, almost all MIDI instruments provide it. The MIDI Pitch Bend event states how far out of pitch all notes are shifted at a specified point in time.

The MIDI Pitch Bend event can be confusing. While it states how far between two extremes the pitch is shifted, it has no knowledge of the boundaries of those extremes. It does not explicitly state, "Shift all notes up a half step." Instead, it says, "Shift all notes up one-eighth of the maximum distance by which you shift." The synthesizer produces the shifting pitch that decides how to interpret the bend. You can set the range on most synthesizers between one half step and a full octave for the Pitch Bend extremes.

Bars&Pipes Professional draws each MIDI Pitch Bend event as a vertical line stemming from a central axis. If the pitch bend is positive, or sharp, the line extends up from the axis. If the pitch bend is negative, or flat, the line drops down. Although you can think of a pitch bend over time as a continuous curve, in MIDI terms it's a series of individual Pitch Bend events, which is why the resulting display looks more like a picket fence, the tops connected to describe the steps of the curve.

Mono After-Touch Events

Mono After-Touch measures how hard you press a key on a MIDI keyboard. The changing pressure is converted into numeric values which are constantly sent down the MIDI link. When these describe the overall pressure on the keyboard, as opposed to individual key pressure, they are Mono After-Touch events. Just how the key pressure is interpreted is completely up to the performing synthesizer. Two typical uses are vibrato and volume control.

Bars&Pipes Professional draws each MIDI Mono After-Touch event as a vertical line and connects the tops with a horizontal line. The greater the key pressure, the higher the line.

Poly After-Touch Events

Poly After-Touch transmits key pressure on an individual key basis. Poly After-Touch MIDI events specify both the key being pressed and its current pressure. Unfortunately, since the hardware to do this is expensive, not many keyboards feature it. For the machines that do support it, Poly After-Touch can be used to describe note emphasis on a continually changing basis.

Bars&Pipes Professional displays Poly After-Touch events in the same way that it displays Mono After-Touch events: with a vertical line denoting pressure, however, since these events also specify which note each After-Touch influences, you can specify the range of notes as well. Do this by setting the Piano Roll note range with the Note Range command in the Display Option menu. All notes displayed in the Piano Roll have their After-Touch values displayed; all others do not.

Control Change Events

Control Change handles many different continuous controllers. Continuous controllers are hardware devices such as volume pedals, breath controllers, and modulation wheels. Every time you alter the position of one of these devices, the device sends a MIDI event reflecting the new value. These events are called MIDI Control Change events. The receiving synthesizer interprets this information to generate vibrato change the timbre of a sound, or adjust the volume.

No limit exists on the scope of sound-producing parameters that can be controlled with these events. In order to support multiple controllers, the Control Change event carries two pieces of data, an identifier that specifies a controller, and the controller data itself.

The identifier, called the Control Change Number, can range from 0 to 127. For example, most synthesizers use Control Change #1 to set the Modulation Wheel and Control Change #7 to set the Volume. The data, the actual position of the wheel, pedal or other controller, is a number between 0 and 127.

Since 128 different Control Change numbers exist, you can't see them all at once. For example, if Bars&Pipes Professional were simultaneously to display a rising Volume Pedal event and a decreasing Modulation Wheel event, it would be impossible to make sense of the resulting mixture, much less edit it with the mouse. Bars&Pipes Professional shows, therefore, only one Control Change type at a time.

To select which Controller you'd like to view and edit, use the Control Change # option in the Display Options menu.

Program Change Events

Program Change tells your synthesizer what sound, or "patch," to use when playing notes. This event holds a number, from 0 to 127, which identifies which patch to use. For example, on your synthesizer, patch #2 could be a violin, patch #45, a marimba. If your synthesizer receives a Program Change event with patch #2, it plays the violin. Later, if it receives a Program Change with patch #45, it switches to a marimba.

Most synthesizers can switch between sounds instantly. It is possible, therefore, to embed Program Change events in your sequence that switch among several voices on the same synthesizer as it plays your piece of music. Embedding such Program Change events is a great way of squeezing more performance out of your available hardware.

Unfortunately, no correlation exists between Program Change patch IDs and specific sounds. Patch #2 may be a violin on one synthesizer and a dog bark on another. The General MIDI Standard is an attempt to remedy this problem. It standardizes the assignment of patches to instruments. For example, with all General MIDI instruments, Patch #0 is a Grand Piano.

Bars&Pipes Professional displays Program Change events as numbers, 0 through 127, or as Patch Names if they have been defined in the Define Patch Lists window. These numbers and names indicate to which patch the synthesizer switches when receiving the event.

System Exclusive Events

System Exclusive events are special commands unique to the instrument (or product line). Manufacturers use System Exclusive events, for example, to set pitch bend ranges, transpose keys, send new patch data to the instrument, and many other functions. The user's manual for your instrument can tell you whether your instrument supports System Exclusive events, and what they do.

Unlike the previous commands, System Exclusive events are not generally considered performance events and they do not obey the same system of MIDI channels as performance events. However, they can be useful to record and play, so Bars&Pipes Professional's recording, playback, and editing mechanisms support them.

Bars&Pipes Professional displays the first four bytes of a System Exclusive event in the strip. Entering new events (with the Pencil) or editing existing events (with the Wand) opens the System Exclusive requester, described in System Exclusive.

Editing MIDI Events

Use the Graphic Editor to edit MIDI events. To open the Graphic Editor, double-click a specific Track. The Graphic Editor window opens, displaying your selected Track, starting with the measure you clicked on. Depending on which MIDI events you want to edit, it may or may not display all of the appropriate data. To select the events you'd like to edit, check them off in the Show menu of the Graphic Editor window.

You can toggle several Show menu options at once by holding down the right mouse button and pressing the left mouse button over each option you want to toggle. This feature can be a big timesaver, especially if you're changing five or six options.

The Command Buttons in the Graphic Editor

The first eight buttons from the left of the Graphic Editor are the Command Buttons. The Command buttons determine how you use the mouse: for dragging events, erasing events, or whatever. As you click each button with the mouse, the mouse's icon changes. Most of these buttons have keyboard equivalents as well. The following list describes each button briefly:

  • The Magnifying Glass displays information about events you touch with the mouse.
  • The Pencil, or function key "F1", draws new events.
  • The Magic Wand, or function key "F2", alters events.
  • The Hand, or function key "F3", grabs and drags events.
  • The Duplicator, or function key "F4", creates an exact duplicate of the selected MIDI event.
  • The Eraser, or function key "F5", deletes events.
  • The ToolPad allows you to process MIDI events with certain Tools

The Bounding Box, or function key "F6", working in conjunction with the Hand, Duplicate, Erase, and ToolPad buttons, enables you to draw a rectangle around a set of events and then move, duplicate, delete, or Toolize them.

Setting the Lock Grid

In the last chapter, Note Editing, we needed to set the Default Note before drawing notes. This is because notes have definite durations and volumes. Other types of MIDI events do not have this information. However, it may still be desirable to set some type of quantization for entering and dragging MIDI events.

Before drawing or dragging events, set the Lock grid. The Lock grid determines on what boundaries events fall when dragged or entered. Set the Lock options with the Lock to Default Note and Lock to Notation Resolution options in the Prefs menu.

No Lock Selected

If no Lock grid is selected, events can be dragged and entered at the resolution of the display, which is typically about 4 clock cycles (with 192 clocks per quarter note). In order to tweak the event time even further, use the Magnifying Glass or List Editor.

Lock To Default Note

Selecting Lock to Default Note in the Prefs menu causes events to lock to a grid with intervals corresponding to the Default Note value. The Default Note consists of a note value (eighth, quarter, etc.), and a modifier (triplet, dotted, or normal). Please see the previous chapter, Note Editing, for more information about setting the Default Note.

The Default Note also contains an articulation (staccato, legato, etc.), and a dynamic level (pp through ff). However, these are only used with Note events, discussed in the previous chapter.

Lock To Notation Resolution

Selecting Lock to Notation Resolution in the Prefs menu cause events to lock to a grid with intervals corresponding to the Resolution value assigned in the Notation menu.

Lock To Rhythm

Selecting Lock to Rhythm in the Prefs menu causes events to lock to a grid corresponding to the current Rhythm template. Please see the next chapter, Song Parameters to learn more about Rhythm parameters.

Entering MIDI Events

Use the Pencil to enter MIDI events. To do so, click on the Pencil button, which highlights it. Notice that the mouse resembles a Pencil. Enter events by clicking down with the mouse where you want the first Event. Then drag it across the display to enter a trail of events. Here is what happens when you draw in each MIDI Event type:

Note On And Note Off Events

Please refer to Note Editing, for more information.

Pitch Bend Events

To enter a Pitch Bend curve, click down with the Pencil where you'd like it to start and drag it to the right. Set the height of each Pitch Bend Event by the vertical position of the mouse. The current Default Note determines the distance between each Pitch Bend Event. If you'd like many events close together for high resolution, select a small Note Value. Sixty-fourth note resolution works very well.

Mono After-Touch Events

To enter a Mono After-Touch curve, click down with the Pencil and drag it to the right. Remember that the Default Note determines the distance between each Event.

Poly After-Touch Events

Drawing in the Poly After-Touch curve is a bit complex because each Poly After-Touch Event corresponds to a particular note. In other words, Bars&Pipes Professional organized Poly After-touch event according to its Poly After-Touch information and its pitch, denoted as a letter and an octave number, such as C5.

As you draw the curve with the Pencil, two factors govern which note corresponds with which Event. First, Bars&Pipes Professional includes only notes within the range of the Piano Roll. Second, Bars&Pipes Professional chooses the current or most recent note in the sequence. As a result, if the Piano Roll displays a C in octave 5, Poly After-Touch events drawn under that note have C5 integrated into them.

Control Change Events

To enter a Control Change curve, you must select the right Control Change number. Then click down with the Pencil and draw in the Control Change events.

To avoid confusion, Bars&Pipes Professional displays only one Controller at a time. Use the Control Change # command from the Display Options menu to open the Control Change Number requester.

After the Controller #: prompt enter the Controller number that you want Bars&Pipes Professional to display or click on the Next Controller button to cycle through all the Control Change numbers in your Sequence. This way, you can quickly jump from one Control Change number to the next. Cycling is also useful for discovering what types of Control Change events are embedded in your Sequence.

Program Change Events

To enter each Program Change, select the Pencil and click in the Program Change region.

You can select a Program (or "Patch") by number, and, if a Patch List is installed, by name as well. To select by name, click the button after the Patch: prompt and hold. A scrolling list of available patch names appears under the mouse. Drag the mouse and click on your choice. To select by number, drag the slider under the Patch name.

The button after the Synth: prompt displays the currently selected Patch List. If you'd like to change it, click on the button and select a different Patch List from the scrolling list.

Create and install Patch Lists from the Patch List window, accessed from the Define menu.

Each Track references one Patch List. Not only does this list define the names displayed in the Program Change requester and Program Change display, it also defines the Patch List used by the Quick Patch Tool.

System Exclusive Events

To enter a System Exclusive event, select the Pencil and click in the System Exclusive region. This opens the System Exclusive requester, described in detail in System Exclusive.

Altering MIDI Events

Once you enter events, you can alter them. To the right of the Pencil sits the Magic Wand. Once you select the Magic Wand, you can alter the events with the mouse. Click down and pass it over the events you want to change and their heights magically conform to the path of the mouse. Notice that the Magic Wand draws a line as the events change shape.

This holds true for all MIDI Event types except for the Program Change and System Exclusive events. To alter one of these events, touch the event line with the Magic Wand. The Program Change requester or System Exclusive requester appears, which allows you to alter the event data.

Dragging MIDI Events

If you select the Hand button, you can use it to drag events forward and backward in time. Because Bars&Pipes Professional displays most MIDI events as thin vertical lines, you're not required to position the mouse exactly over an Event before you click on it. Instead click down the mouse and sweep it through the Event. The Event sticks to the mouse,. which you can then drag to its destination.

All of the "Lock to" options in the Prefs menu operate on other MIDI events, just like note events. If you set the Lock to Default Note option in the Preferences menu, the item moves to a grid defined by the Default Note. For example, if the Default Note is a quarter note, everything you drag moves left or right at quarter note intervals. Select Lock to Resolution to lock to the Resolution assigned in the Notation menu. Select Lock to Rhythm to lock to the current Rhythm template.

You can also use the Right and Left Arrow keys to move events forward or backward in Song time.

Duplicating MIDI Events

To duplicate events, click on the Duplicator button or press function key "F5." When you click and drag an event, Bars&Pipes Professional creates a new event of the same type, with the same data, and places it at the destination.

Erasing MIDI Events

To erase events, choose the Erase button, which, when selected, causes the mouse to resemble an Eraser. Click down and drag the Eraser through MIDI events to delete them.

Toolizing MIDI Events

You can Toolize all MIDI events, although most Tools concentrate specifically on Note events. Exceptions to this rule are the Delay and Echo Tools, which work on all Event types, and the Modulation, Flip, and Inverter Tools, which do their work on both Poly After-Touch and Note events.

Toolizing other MIDI events is similar to Toolizing Note events. Please see the previous chapter, Note Editing, for more information on Toolizing.

Boxing MIDI Events

You can select some of the Command buttons in conjunction with the Bounding Box. When you use the Bounding Box, you affect everything within it.

To draw the box, click down where you'd like one comer of the box to be and drag the mouse to the opposite corner. A box grows as your mouse travels. The box does not cross boundaries between data displays. Thus, you can't draw a box that encompasses Pitch Bend events as well as Mono After-Touch events.

The Bounding Box works with the following four Command buttons:

The Hand Button
The Hand drags everything in the box with the mouse. Once you create the box, click down on it a second time and drag it. All MIDI events in the box move with the mouse.
The Duplicate Button
The Duplicator duplicates everything in the box. Once you create the box, click down on it and drag it. A copy of the selected MIDI events moves with the mouse.
The Erase Button
The Eraser erases every MIDI Event within the box, once you lift up on the mouse.
The ToolPad
The ToolPad Toolizes all events within the box with the currently selected Tool.

Magnifying MIDI Events

When you select the Magnify button, the Magnify window opens and the mouse resembles a magnifying glass. The Magnify window displays data which can be edited, about each MIDI Event currently being touched with the mouse. Use the Right and Left Arrow keys on your Amiga keyboard to move through the selected event types one by one. Use the Up and Down Arrow keys to move to the event which occurs next chronologically. Bars&Pipes Professional displays the type of event in the Title bar of the Magnify window.

The first field in the Magnify window, labelled "Time," lists the time in measures, beats, and clocks. The second field, labelled "HMSF," lists the time in SMPTE format. If you click in either line with the mouse, you can change the time by entering a new one. Press the Return key when you complete the line. This causes the Event to jump to the new time.

All of the other lines differ depending on the type of MIDI Event. Remember, after you edit any of these lines, you just press the Return key to register the change. Here's a listing of what each Event's Magnify window displays:

Pitch Bend Events

Pitch Bend has one line, "Bend," which displays a numeric value for the bend.

The maximum positive pitch bend is 8191. The maximum negative bend is -8192. A positive bend makes the music play up in pitch, while a negative bend makes it flat.

Mono After-Touch Events

Mono After-Touch has one line, "Pres," which represents the key pressure.

The numbers range from 0, for no pressure, to 127, for extreme pressure.

Poly After-Touch Events

Poly After-Touch has two fields, "Note" and "Pres."

Poly After-Touch has two fields, "Note" and "Pres." "Note" identifies the key being pressed, while "Pres" shows the pressure as a number between 0 and 127.

Control Change Events

Control Change has two fields, "CC #" and "Data."

122 different Control Change numbers exist. The first line specifies which controller this Event addresses. The second provides the data, a number between 0 and 127.

Program Change Events

Program Change has one field, "Ptch," which is a patch selection number between 0 and 127.

System Exclusive Events

System Exclusive has three fields, "Time," "HMSF," and "Data." Clicking in the Data field opens the System Exclusive requester.