At its heart, MIDI is a command protocol consisting of status messages that indicate when and how events are performed. While digital and analog audio represent actual sound, MIDI data numerically represents the actions that create or control sound generation. As a result, MIDI editing can be somewhat counterintuitive.
Logic provides similar editing tools and parameters for both MIDI and digital audio input, especially at the region level (for example, for copying and dividing). However, editing the two differs significantly at the finer, note level.
Even considering Logic’s powerful digital audio tools, MIDI still has a distinct advantage when it comes to editing, offering extreme flexibility through real-time and nondestructive processing of all data.
In this lesson, you will use several methods of creating expressive musical parts out of existing material, and you will learn selection and editing techniques that enable you to work efficiently at the note level.
Logic treats all regions—audio or MIDI—in a similar fashion when it comes to duplication. Let’s apply digital audio copying techniques from previous lessons to make quick copies of MIDI material in an arrangement.
For this lesson, you will use the same project you used in the previous two lessons, including all of the earlier edits.
The Cymbals track (track 3) consists of simple parts that have been created for various sections of the project. With Logic’s looping tools, you can fill in some of the parts by extending previously created material.
The MIDI region is looped, as represented by the gray boxes following the original region.
Notice that the loops end at the next region (located at measure 5). When you turn on the Loop function in the Region Parameter box, loops are created to repeat the original region until the loop either runs into another region or reaches the end of the project.
While this works well for quick loops (especially when you’re building a backing track), you will frequently need more control over how much of the region is repeated and how often. Loops can be manually drawn to stop at a specific point in time or to play only part of the loop material.
The pointer turns into a circular arrow, indicating that it will function as the loop-length editing tool. In this case, the arrangement needs the one-bar triangle part to be extended to 34 2 1 1.
Loops are formed as you drag, duplicating the original region. Notice that the loops snap to the bar line when you’re dragging (as shown in the help tag), making it impossible to stop the loop at the second beat of bar 34 (34 2 1 1). This is because the snap value is set to Smart by default, which dynamically assigns snap values based on the magnification level (the more you zoom in, the finer the snap grid). In the current screenset, the view is zoomed out to such an extent that the Smart snap function assigns the value to the bar.
Smart snap is convenient for zooming in and out of an arrangement, but it can be inhibiting when making adjustments at levels finer than the bar. There is a quick way to override this, however: changing the Snap mode.
Only the original region is left.
The loops snap to the beat, rather than to the bar, allowing you to stop a loop at the desired beat.
Loops are perfect clones of their source regions. However, they differ from true region copies in their lack of flexibility with regard to placement and content. Loops are always placed adjacent to the original, which makes it impossible to place them at multiple positions in a project. Only copies can be changed independently of the original region; a loop will always reflect the original region’s contents.
Copies are best suited for duplicating material from one part of the timeline to another, especially when material needs to be altered independently of its original source. You can use Logic’s copying functions to create new material from a copied source.
The region is copied to measure 44.
The Cymbals part consists of steady eighth notes. The project calls for that part to change from eighth notes to quarter notes during the Guitar Solo section, effectively doubling the note lengths as well as changing the placement of notes. What would normally require opening a MIDI editor and selectively deleting and moving individual notes can easily be accomplished with stretching, a form of time compression and expression. This technique is identical to one you used earlier on an audio region (in Lesson 3, “Matching Tempo and Pitch”).
A dialog appears, asking if you want to time stretch the MIDI region.
The ride cymbal plays at quarter-note intervals over four bars instead of eighth-note intervals over two bars. In effect, you stretched the region to double its length and to double each note value and time placement.
You can accomplish time compression in a similar fashion by making a region shorter and compressing its events.
Finish by filling in the Cymbals part for the Guitar Solo section with the new region. You can quickly create multiple copies by using the Repeat Regions command.
The Repeat Regions/Events dialog opens. Here you can set the number and placement of copies to be produced.
Five copies of the selected region are created, filling the Cymbals track for the Guitar Solo section.
In addition to loops and copies of regions, MIDI editing offers another form of replication: aliases.
An alias in Logic functions much as it does in the Finder; it is a reference to another region. It does not contain any actual data and refers to the content of the original item from which it was created.
An alias has the unique ability to update itself when changes are made to the original region. This is especially useful for creating parts that are repeated throughout a project; you only need to alter the original region, and the correction will automatically take effect in aliases throughout the composition.
This function will prove useful for duplicating the cymbals material from one verse to another, while still allowing for additional changes.
An alias is created at measure 13.
To better understand how aliases function, you can perform a small edit on the original MIDI region.
You might need to scroll down a bit to see all the MIDI events within the regions.
You might need to resize the window or use the zoom commands to view the entire region contents.
The notes are dimmed and will be muted on playback.
The alias plays with those two notes muted. By creating aliases, you were able to change the original part and keep the corresponding parts updated.
When you select an alias and open an editor, Logic asks you if you want to open the original region, or turn the alias into a “real copy” to edit independently from the original. If Original is chosen, then the original region is displayed in the editor. This allows you to quickly make alterations that affect the original and all of the related aliases.
It is not unusual to record MIDI drum parts by triggering multiple sounds in a single pass, creating a single region containing both the kick drum and snare parts. This technique can help create a track that locks into a groove. However, having the kick drum and snare in the same region can make it more difficult to edit those parts, as any modifications done to the region will be applied to both parts.
Because a MIDI file transmits a stream of commands with discrete events, it allows for some fancy editing functions. One such function is demixing, which enables you to divide a MIDI region into components based on specific criteria. You can try this on the bass drum–rim shot part, splitting them into separate tracks for independent editing.
The Piano Roll Editor displays the content of the selected region (you might need to scroll down to better view the region contents).
Within the Piano Roll Editor, you can see the bass drum (C1) and rim shot (C1) parts represented as notes.
You can separate the two parts using a feature accessed from the Arrange area.
The region on track 6 disappears and is replaced by two new tracks with corresponding regions.
The Piano Roll Editor displays the bass drum events (C1).
The Piano Roll Editor displays the rim shot events (C1).
When using the Demix by Note Pitch function, a new MIDI track and a new region are created for every note number found. In addition, the newly created tracks are automatically assigned to the same instruments as the ones in the original MIDI region. For easier identification, name the new tracks and regions with their corresponding instruments.
The regions assume the names of their corresponding tracks.
You can view more than one region’s note data within the same Piano Roll Editor. The Piano Roll Editor (and other editors as well) will automatically display all regions that are selected. This can get a bit confusing when you’re working with lots of events, so it helps to display each region’s events with separate colors. To do this, first make sure that each region is colored differently in the Arrange area, and then, in the Piano Roll Editor’s local menu bar, choose View > Region Colors.
MIDI regions are data containers that hold various types of MIDI events. The events in a MIDI region can be altered individually using one of Logic’s MIDI editors (Piano Roll Editor, Event List, Hyper Editor, Transform window, and so on), or altered all at once using the Region Parameter box.
The Region Parameter box gives you access to a variety of parameters that affect the data in MIDI regions. These functions invite experimentation, as they are entirely nondestructive, and the MIDI data can be returned to an unaltered state at any time. Think of these parameters as filters that can be applied to single or multiple MIDI regions in varying degrees of intensity, without permanently altering the data.
Earlier, you used the Loop function in this box to create multiple iterations of a selected region. In this exercise, you will use more of the settings in the Region Parameter box to work with the Bass Drum and Rim Shot regions that you split apart in the previous exercise.
Mute and solo states can be independent for tracks and channel strips, depending on a setting in your preferences (Preferences > Audio > General > Track Mute/Solo). In order to independently solo the separate drum tracks assigned to the Inst 1 channel (tracks 3–8), you need to have CPU-saving (Slow Response) selected in the Track Mute/Solo menu.
Look at the Region Parameter box. Notice that the top of the box reads “Bass Drum,” the name of the region you selected. This signifies that any alterations within the box will affect the Bass Drum region only.
Note events in any MIDI region can be transposed all at once by changing the Transpose parameter in the Region Parameter box. This is most effective with pitched material, but it is also handy for changing sample selection in drum parts.
In the EXS24 mkII drum kit used in the current project, the bass drum contains the same audio sample mapped across a range of two adjacent keys (B0 and C1). The EXS24 mkII pitch-shifts these samples accordingly, producing bass drum sounds that vary slightly in pitch. The project currently uses the higher of these two choices (C1) but would benefit from a slightly deeper bass drum. By transposing the Bass Drum region down a semitone, you can change all MIDI notes contained in the region to B0, triggering the lower of the two bass drum samples.
The Region Parameter box also provides a quick way to alter note velocities within a MIDI region. You can boost or reduce velocities, adding a numerical value to or subtracting a value from each event.
The bass drum part is a little loud in the Chorus section. Rather than dynamically change the volume level in the mixing stage, you can make a velocity adjustment to the MIDI note events in this section. This provides a more musical result, as lower velocities trigger different, softer bass drum samples with less attack. When you reduce the event velocities, the sound not only gets quieter but also changes its timbre, much as a real drum does when struck with less force.
To affect only the events within the Chorus section, it is necessary to divide the Bass Drum region, isolating the events that need to be adjusted.
The Bass Drum region divides at the borders of the Chorus section.
The Dynamics parameter in the Region Parameter box also acts on MIDI note velocities but—instead of adding or subtracting a fixed value—it scales the difference between the highest and lowest velocity values.
In this way, it functions similarly to the way a compressor or expander acts on the dynamics of an audio signal, increasing or decreasing the dynamic range for the selected MIDI region. When applying a value larger than 100 percent, the differences between “soft” and “loud” notes are increased (as they would be by an expander), and they are decreased with values of less than 100 percent (as they would be by a compressor).
The Lists area opens with the Event tab selected by default.
The Event List displays the MIDI events in the Rim Shot region, and the Region Parameter box displays “Rim Shot” at the top.
Look at the numbers displayed in the Val(ue) column, which indicate the velocity of each note. Although the range is not wide, the dynamics could use a little velocity compression to achieve a more consistent sound.
The dynamics are evened out, with a reduction in the range between the highest and lowest values.
The Gate Time parameter directly affects the length of MIDI events, but not in the way that you might expect. Instead of uniformly decreasing or increasing the length of all MIDI events within a region, the Gate Time parameter changes notes by a percentage of their lengths, thereby allowing you to adjust the articulation of a performance from, say, staccato to legato.
The first region on the Bass track needs a little tightening up, as the longer notes sustain a bit too long, bleeding into the shorter ones. By adjusting their lengths with the Gate Time parameter, you can reduce the length of the longer notes and get a more articulate performance from the shorter ones.
To clearly hear the effect of the Gate Time parameter, you can test an extreme setting and observe the results.
The bass part is performed extremely staccato, truncating the ends of each MIDI event. Obviously, this hasn’t improved the piece, so you need to make a more subtle adjustment.
All events are adjusted to 50 percent of their length, creating an articulate performance.
The Delay parameter is used to move a region forward or backward in time by small increments. By choosing a positive value, you can delay the playback of a region, achieving a laid-back or dragging feel. Negative values push the region earlier, creating a rushing or driving feel in relation to the beat.
The current project’s musical material warrants a laid-back groove, especially in the drum tracks, so you should apply a delay setting to the rim shot to better fit in the pocket created by the other instruments.
Delay settings can be displayed in ticks (the smallest possible bar subdivision or system quantization), note values, or milliseconds. Most people who have worked with digital delay devices are used to thinking in terms of milliseconds, so switch the default setting of ticks to milliseconds before changing the Delay setting.
By selecting this value, you are delaying the playback of the Rim Shot region by a 1/192 note, or 11.3 milliseconds.
Settings made in the Region Parameter box, with the exception of Loop and Quantize, aren’t displayed in the editors. The changes take effect during playback. These changes can also be written permanently to the region: In the Arrange area’s local menu bar, choose MIDI > Region Parameters > Normalize Region Parameters.
Just as musical rhythm is expressed in relation to the grid formed by beat and meter, so sequencers map MIDI event timings to a grid determined by a base resolution provided by the software application. To ensure that the placement of an event in time is as accurate as possible, Logic offers a resolution of a 1/3840 note (one tick).
This division allows for a vast range of rhythmical placement, but there will be occasions when you need to adjust the accuracy of events in relation to more musical divisions (eighth notes, sixteenth notes, triplets, and so on). This can be done with quantization, which compares events to a chosen resolution and then corrects their time placement by moving them to the nearest position on a beat/time grid.
Logic offers multiple ways of quantizing events, including adjusting the data in the Region Parameter box. In this exercise, you’ll check out the aural and visual effects on note events when quantizing.
All three regions on the track are selected.
Region parameters can be applied to single regions and also to multiple regions simultaneously. Take a look at the Region Parameter box. Instead of displaying the name of the individual selected region, the box displays “3 selected,” indicating the number of selected regions that will be affected by parameter adjustments. In addition, an asterisk, instead of a value, is placed next to the Velocity parameter, because one of the selected regions already has a value for velocity. If you were to enter another setting here, the region with the preexisting setting would retain it and add the new value.
The events shift in the Piano Roll Editor.
The feel is completely transformed from a somewhat straight pattern to a swing feel, in which every other note is delayed.
While applying a swing feel illustrates the power of quantization, it definitely does not work with this project.
The settings in the Region Parameter box can also be applied to incoming MIDI signals. This is done by changing settings without selecting a region (the box reads “MIDI Thru” instead of a region name). This feature can be useful for transposing incoming notes up or down an octave, thereby increasing the range of a small MIDI controller. In this case, the events are recorded as played, but the region containing the events inherits the same parameter settings as MIDI Thru.
So far, you’ve performed straightforward quantization, aligning all notes in a region to a selected value. However, strict quantizing can sometimes make things sound too mechanical. Unless a performance is especially sloppy, you might want to apply quantization only partially, maintaining the original feel but moving notes in closer alignment to the timing grid.
Among the extended region parameters, you will find many ways of applying quantization to a selected region.
The Region Parameter box expands to display the extended region parameters.
An additional eight parameters are listed in the Region Parameter box, mostly applying to quantization (the Q signifies this). In the box, you can also see the Delay and Dynamics settings that you applied earlier.
Use this box to further refine the Rim Shot region by applying some of its quantization settings. While working with the extended region parameters, keep an eye on the Piano Roll Editor to observe the changes that take place.
The notes align to the grid, which can be easily seen in the Piano Roll Editor.
While some slight timing discrepancies are present in the rim shot performance, you will want to retain the original feel and use quantization only to move inaccurate events closer to the grid instead of aligning them perfectly. This can be done by entering a value other than 100% (which is full quantization) for the Q-Strength parameter.
The inaccurate note events shift slightly forward, toward the grid line.
By limiting quantization strength, you are moving events toward the grid without perfectly aligning them. Think of this as applying weight to the Quantization parameter, wherein any value above 0 percent pushes the affected notes toward the value specified.
Let’s continue developing the material by editing at a finer level: individual MIDI events. While you can do this in any of Logic’s MIDI editors, the Piano Roll Editor works particularly well for quickly selecting and viewing region contents.
In this section, you will extend and refine a percussion part, creating a musical performance from a static one.
A cycle area appears around the Guitar Solo section.
As you can see in the Piano Roll Editor, only two maraca notes were input for the Guitar Solo section. With techniques similar to those you used previously to duplicate regions, you can quickly repeat groups of notes, extending a part.
The notes play as they are selected. You can quickly create a part by duplicating these two notes using a command similar to the Repeat Regions command that you learned earlier in the lesson. As you might have noticed, you cannot access this function from a menu in the Piano Roll Editor (or any other MIDI editor, for that matter). This is because the menu command that you used in the Arrange area applies to regions only, not to individual events. Fortunately the key command (Repeat Regions/Events) covers both regions and events selected within a MIDI editor.
By choosing Beat in the Adjustment menu, you are specifying that the newly created copies should be placed at the beat, instead of applying the bar justification you used earlier when copying regions.
The events are repeated, aligned to the beat, filling up four measures.
To efficiently work with note events, you need to use a variety of selection techniques to edit only the data you wish to change.
As you most likely heard when playing the repeated notes, the part sounds quite static. This is understandable, since it consists of one repeated note with the same velocity value. To create a more realistic part, it is necessary to modify the velocities, add accents, and alter dynamics to breathe life into it. Let’s explore some of the selection techniques offered in Logic Pro to edit notes independently and in groups.
As the note event reduces its velocity (changing from yellow to green), you can hear the sample change to one with a softer attack. This softer sound will work best for the desired maracas part.
If you don’t want notes to sound when selected in any of Logic’s MIDI editors, click to disable the MIDI Out button at the upper-left side of the editor.
You can make a similar velocity adjustment to the remaining notes in the region without affecting the first note. Instead of drawing a selection rectangle around all of the events except the first, you can use one of Logic’s specialized commands to select all the notes that are not currently selected.
These useful selection commands are available within any MIDI editor by choosing Edit in the local menu bar, and they can be accessed at any time while editing.
All the notes that were not selected are now selected, and the original selected event is deselected.
Using the Toggle Selection command, you are able to access the unselected events without having to change tools.
You can continue working with the dynamics of the maracas part by adding accents to beats 2 and 4 throughout the passage.
You’ve selected the beats you want to work with, but only for the first bar. To perform the edit for the entire region, you still have to select the equivalent beats within each measure. This could be accomplished by Shift-clicking each note in succession, but that would get tedious. Instead, you can use one of Logic’s selection functions to select the desired beats all at once.
The note events occurring at beats 2 and 4 are selected for each bar of the passage.
All the selected notes change velocity simultaneously, creating an accent on beats 2 and 4 for the entire region.
It’s still a little loud overall, so reduce the velocities of all the notes. In this case, all events are triggered by the same pitch (A3). You can quickly select all events of the same pitch by clicking the equivalent note on the keyboard.
The note sounds, and all A3 notes are selected within the Piano Roll Editor. This provides a quick way to select all note events of a given pitch without having to change tools.
This is a relative adjustment; all velocities are reduced by a value of 5, including the accents, which now have a velocity value of 96.
Transform functions are powerful selection and processing tools that allow you to manipulate all types of MIDI information in almost all conceivable ways. Each function employs a set of conditions and operations to specify exactly what data is selected and how it will be manipulated.
The functions can range from the simple to the complex. In this exercise, you will learn how to both use one of the many preset transform functions, as well as create a custom transform set that can be used within your projects.
These functions are accessed in the Transform window, which can be opened from the Window menu or accessed within any editor through the Functions > Transform menu.
The Transform window opens.
The Humanize function applies a slight randomization to events, creating a looser and more natural-sounding performance.
The Transform window is divided into three main sections: Select Events by Conditions, Operations on Selected Events, and Operation on Byte 2. While these headings might sound a little confusing, they can be explained in a straightforward manner.
Basically, to use the Transform functions on MIDI data, you must indicate exactly what you wish to affect within the Select Events by Conditions section. Here, you specify the criteria of the desired target, whether you want a simple selection based on event type (or status) or a complex selection having multiple conditions (for example, events that have a specific length, position, and value).
The Operations sections indicate how you want to modify the selected MIDI events. This can be almost any kind of MIDI transformation you can dream up, even converting one type of event to another for further processing. With the Humanize transformation, for example, selected notes are randomized in position, velocity value, and length. Each transformation has a specific extent assigned to it, which can be anything from a single number or note to a range of operations. Here, the position, velocity and length of the selected note events are randomized within a positive or negative range of 10 ticks.
The Operation on Byte 2 section is a graphical representation of the transformation itself and directly depicts the values for byte 2 of the MIDI event chosen in the Status column. (A MIDI channel voice message consists of a status byte followed by one or two data bytes.) In the case of note events, byte 2 is velocity; for controllers it is the value for the assigned controller.
All of this translates to a function that slightly varies note events, imparting a looser, more human feel.
The note events displayed in the Piano Roll Editor change slightly in position, length, and velocity.
All that’s left to complete the maracas part is to repeat the region throughout the Guitar Solo section. This can be done quickly by using the Repeat Regions/Events command you used earlier, creating multiple aliases.
Aliases of the Maracas region are created throughout the Guitar Solo section.
You probably noticed when navigating through the Transform menu that Logic offers numerous preset transform functions. These functions are capable of accomplishing many common MIDI editing tasks in an efficient manner. However, there will most likely be a time that you will need to create your own transform set to address a specific need, whether it be the quick selection of specific MIDI data for editing, or selecting and performing an operation on the MIDI data via a single step.
As you can see in the Piano Roll Editor, a few note velocities are quite low (displaying as purple), resulting in dynamics that are a tad too soft.
For this exercise, you will be creating a transform function that will selectively boost only the MIDI velocities of these lightly played notes (that is, the notes with a velocity range of 1 to 20), evening out the dynamics of the performance.
Creating a new transform set is done within any open Transform window, whether opened within a MIDI editor, or from the main Window menu.
The Transform window opens, displaying the last selected preset (in this case, Humanize).
A dialog appears asking if you’d like to create a new transform set, or rename the current one.
A new, blank transform set is created.
Notice that many more parameters are accessible (via pop-up menus) than there were when you opened the Humanize preset. This is because preset transform functions open with unused parameters hidden from view, presenting only the relevant parameters for selection or operation.
A dialog appears asking if you’d like to rename the current, empty set or create a new one.
When you create a new transform set, it is advisable to start off by defining just what you want to transform. In the Select Events by Conditions area, “All” is displayed by default for every parameter, signifying that no discrimination will be made when selecting MIDI data (all event types, positions, and channels will be selected). In order to narrow the focus of the selection, you need to specify the relevant parameters instead of leaving them in their default state.
It is best to start defining selection criteria by choosing the MIDI event type, which is done from the Status menu.
A new menu is created just below the option you chose, allowing you to specify the event type.
By specifying Note as the Status parameter, you are excluding all events but MIDI notes in the selection. This is still far too general a selection. The goal of the transform function is to select only the MIDI notes whose velocities range from 1 to 20. In order to do this, you need to define further criteria within the selection parameters.
A value field appears below the menu. Entering a number within this value field defines a selection less than or equal to the inputted number.
Now that your selection criteria are defined, you can specify what will happen to the selected data when the operation runs. This is done by choosing operations from the parameter menus in the Operations on Selected Events area.
As you can see, there are many possibilities, providing numerous ways to transform MIDI data in simple to complex ways.
A value field appears below the Add menu. Any number entered into this value field will be added to the related parameter defined within the Select Events by Conditions area.
You have now created a new transform set that, when activated, will add 10 to the velocity values of MIDI notes with velocity values of 20 or less.
All MIDI notes with velocity values of 20 or less (the purple ones) are increased in velocity (and are displayed as dark blue).
All newly created transform sets are immediately available within any MIDI editor’s Functions > Transform menu. This puts your transform set creations within easy reach whenever you are editing MIDI data.
The Transform window opens, displaying the transform set you created earlier.
All MIDI notes with velocity values of 20 or less are selected within the Event List and increased in velocity by 10.
Newly created transform functions are saved in the project file itself. In order to be able to use your newly created transform functions in other projects, you need to import them first. You can do this by choosing File > Project Settings > Import Settings, and making sure that the Transform Sets checkbox is selected. Then select the project file where the new transform set resides, and click the Open button.
1. What are the differences between loops, copies, and aliases when you’re duplicating material?
2. What does demixing a MIDI region do?
3. What does the Regions Parameters box do?
4. What does the Toggle Selection command do within a MIDI editor?
5. What does the Select Equal Subpositions command do within a MIDI editor?
Answers
1. Loops are used to quickly duplicate material and can be manually drawn out for exact placement. Copies are used for duplicating material from one part of the project to another and for altering material independently of its original source. Aliases are used for duplicating material that needs to automatically update when the original is edited.
2. Demixing separates combined parts recorded within a single MIDI region into individual regions for further editing.
3. The Region Parameters box allows real-time control over various playback parameters, enabling you to transpose and adjust the feel of events within a MIDI region.
4. The Toggle Selection command selects all regions (within the Arrange area) or events (within a MIDI editor) that are not currently selected and deselects any regions or events that are selected.
5. The Select Equal Subpositions command selects all regions or events with a similar bar or beat relationship to the selection.
6. The Transform functions can be accessed via the main Window menu, or via the Functions > Transform menu within all MIDI editors.
7. The Transform functions contain many helpful operations for processing MIDI data, including boosting selected note velocities and Humanizing.
3.145.173.78