Since MIDI is just a series of numbers that represent musical events, editing is literally simple arithmetic (in contrast to the heavy-duty number- crunching required for audio). In fact, your sequencer handles all the arithmetic for you. Editing MIDI data is a fairly easy process. You can move notes forward or backward in time, a few at once or track-wide, change pitch individually or transpose entire sections, and rearrange your music with incredible flexibility.
MIDI sequencers let you look at your recorded music using a few common views: piano rolls (which usually include graphical controller editing), event lists with the actual MIDI data, and pattern editors designed for rhythm-locked edits.
Piano roll views present pitch as the y-axis of a grid, usually with a virtual piano keyboard along the left edge of the window so it's easy to spot which pitch is which. Time is mapped to the x-axis. You can draw notes with a pencil tool, drag them around, copy and paste them, or shorten or lengthen individual notes or whole groups of notes. (Pictured: MOTU Digital Performer)
Graphic views offer a powerful way to edit controller data using some of the drawing tools familiar from many graphics programs. Typically, controller data is presented as a graph (also called a strip) along the bottom of the piano roll view. In the strip, you can choose to display pitch-bend, aftertouch, or control change information. You might, for example, draw in a smooth rising ramp for modulation to gradually introduce vibrato on an organ part.
By applying a snap-to-grid option, you can lock your changes to the beat. Thanks to grid options, in fact, there's some overlap in functionality between graphic editors like the MIDI clip editor found in Ableton Live and pattern editors like Reason's Matrix step sequencer. However, a step sequencer always places note and controller data on a fixed rhythmic grid. By turning off the grid in a piano-roll or graphic controller editor, you can place events at any point in time. (Pictured: Steinberg Cubase SX)
Graphic views are friendly, but from time to time you may need to work directly with the MIDI dataespecially when you want to precisely adjust a single data value or look at data that's not shown in a graphic view. Event lists display the actual MIDI messages, showing time, message type, and exact value. (Pictured: Apple Logic Pro) The exception is that MIDI notes are displayed with durations, even though note duration is not a MIDI data type: the note-off messages are seldom displayed separately.
Pattern editors, also called drum editors, always assign musical events to a rhythmic grid. Some emulate hardware drum machines or analog hardware synthesizers for creating intentionally mechanical rhythmic patterns popular in electronica and other forms. Others are designed for creating drum patterns.
To create a drum groove in a pattern editor, you might gradually build up one part at a time. For instance, you could start with a kick drum, then add a hat, snare , tom, and cymbal, until you have a composite pattern you like. By building up this pattern over time (see the Kinetic tutorial in Chapter 5), you can create a song structure; then create variants for breaks and variety.
Bass patterns and rhythmic synth patterns also work well when played by pattern editors. Since some pattern editors let you control other parameters, you can use them for rhythmic timbral changes, filters, and other effects. (Pictured: A pattern-based drum module in Arturia Storm)
Quantization is essentially a "snap-to-grid" feature for notes. If your recording isn't quite on the beat, quantization will move the notes to the nearest beat ( Figure 8.23 ). There are several basic variants of quantization:
Note-on only: Shifts only the beginning of each note without changing note lengths.
Note-on and duration: Shifts both the beginnings and the ends of notes to the grid.
Percentage: Moves notes part way to the grid, thus tightening up the rhythmic feel without making the part completely rigid.
Random: Adding a small amount of randomization can allegedly " humanize " the quantization, preventing your music from sounding too mechanical. But what it really does is make your tracks sound as if they were performed by a random number generator; better humanization requires a more sophisticated algorithm.
Swing/shuffle: Adds a small delay to the weak beats or offbeats, producing music with a long-short, long-short feeling that's natural in music like jazz, hip-hop, and some rock.
The main setting for quantization is the grid to which you want to quantize. You should choose the smallest value used in the recorded music. If you never play a note value smaller than a sixteenth-note, for instance, you'll usually send the quantization to the sixteenth. If your track includes both duplets and triplets, you'll wipe out the triplets by quantizing to a duplet value. Fortunately, you can select a group of notes and quantize them to a different value; you don't have to quantize the whole MIDI track at once. You can separately quantize duplets and triplets.
Quantization can't read your mind, of course. If a note was played far enough behind the beat that it's closer to the next beat, quantization will shift it to that beat. That means quantization can sound very strange if your original recording is too far off the metronome tick. On the other hand, you can use forced quantization in arrangements, turning melodic lines into chords (set quantization to a whole-note, for instance) and producing other effects.
Quantization can be performed as a MIDI playback effect, using a MIDI plug-in or a sequencer feature called playback quantization . With playback quantization you can hear the effects of quantization even though your recorded notes haven't actually been moved around, so you can change your mind about a quantization setting if you like. (Notation software often uses playback quantization.)
In general, quantization isn't just for fixing bad timing. It's also good for creating a rhythmic feel. Think of it as using a rhythmic filter on your music. This analogy is particularly apt when you use different swing settings or groove quantization (see the following section). You can use quantization to make music more mechanical, but it can also make music swing. Both are musically useful effects, so which you choose depends on the result you want. Dance music often uses rigid quantization, for instance, whereas a sequenced jazz, pop, or Latin track might use a looser quantization setting to maintain a live-sounding feel.
Quantizing controllers: In some (but not all) software, the quantization commands will allow you to move controller data forward or backward along with notes that are sounding during the controller moves. This very desirable feature allows your pitch-bends, for instance, to maintain their timing relationship to the bent notes.
Groove quantization is a specialized form of quantization that allows you to align your performance to a more complex and (hopefully) more musical grida grid that sounds like the musical groove played by a master musician. Instead of just setting a regular quarter-note grid, for instance, you could set up a complex, arhythmic grid. Groove quantization can also change velocity values, since a groove isn't just when you play but how you accent different beats. You apply groove quantization just like any other quantization, but the results are often more musical. Your sequencer may come with a selection of grooves , and may also allow you to create your own.
Quantization isn't specific to MIDI: The term describes any process that rounds off continuous values into discrete values. Any time you record analog signal and convert it to digital, you're quantizing the continuous signal into digital values, so quantization is a digital audio term , too.
Quantization used to be MIDI-specific, but with new technology, the line between MIDI and audio has started to blur. Programs like MOTU Digital Performer and Steinberg Cubase can divide audio into beat "slices" (for instance, separating a recorded drum groove into individual drum hits) and quantize the hits separately, or extract a groove from audio to apply to MIDI or to other audio (with both rhythmic feel and dynamic level for accents).
Groove quantization gets even more interesting when you start extracting grooves from audio and moving grooves from one part to another: it lets you extract a rhythmic "feel" from one source and apply it to another, whether from MIDI to MIDI, MIDI to audio, audio to MIDI, or audio to audio. For example, you might have a jazz drum loop and really love the feel of it: try extracting it as a groove, and then apply it to the Hammond organ recording you played on your keyboard to see how it sounds.
Ableton Live treats MIDI clips much like audio clips: you can record into clips, drag them into Session View clip slots or Arrange View tracks, loop them, arrange them in scenes, crossfade them, and do nearly everything else you can do with audio. Whether you're programming a drum track or recording a long piano solo for a new concerto, the easiest way to approach recording and editing Live's MIDI clips is to familiarize yourself with the clip edit interface. For this exercise you can use whatever MIDI instrument you want, from your own hardware to SampleTank to the built-in Live instruments Impulse, Simpler, and Operator.
Record a clip: With input set for the controller you want to use, record-enable the track on which you want to record (1). If you're using a software instrument, just drag its plug-in to the track and Live will use it automatically. If you're using an external hardware instrument or a ReWire device (like Propellerhead Reason), set the MIDI To setting to the device and channel you want to use (2). When you're ready, click the Record button in a clip slot (3) to record into a Session View clip, or switch to Arrange View to record into your arrangement. If you want to merge MIDI data with an existing Arrangement track or Session clip, make sure Overdub (OVR) is selected at the top of the screen.
Edit a clip: Double-click a prerecorded MIDI clip in either Session or Arrange View to edit it. (Or, if you prefer to enter notes manually, double-click an empty MIDI clip slot in Session View to create a new, blank clip.) Once in Clip View, you'll have access to various editing capabilities:
Draw Mode: To toggle Draw Mode on and off (changing your cursor to a pencil so you can draw new notes, controllers, and envelopes), use Ctrl-B (PC) or Cmd-B (Mac). The Draw tool will use the active grid settings.
Editing: With Draw Mode off, the cursor changes to an arrow. Drag the center of a note to move it around or drag the leading or trailing edges to adjust the attack or release, shortening or lengthening the note. Drag the note up and down to change the pitch. Hold down Alt (PC) or Cmd (Mac) and drag vertically to change the note's velocity: the note will get darker with a higher velocity, and the Velocity Marker at the bottom of the Clip view (the series of vertical lines) will move up or down.
Grid: Drawing and editing tools will snap to the visible grid (watch the thin vertical lines in the Clip editor). You can change the grid from the Options menu; with the Draw tool (pencil), the grid will make it easy to create rhythmic patterns for parts like drums and basslines. To ignore the grid for finer editing, hold down the Alt key (PC) or Cmd key (Mac) while you drag horizontally (drag first, then hold down the modifier key), or shut off the grid using Ctrl-4 (PC) or Cmd-4 (Mac).
Quantize notes: Live's quantize feature will use whichever grid is visible:
Select: Choose the notes you want to quantize: select all (Edit > Select all) to modify the whole clip or select just certain notes by dragging a marquee selection area around them ( turn off Draw Mode, then drag from a blank area of the clip over the notes you want to select). You can also Shift-click to add notes to the selection individually. (Quick trick: click or Shift-click the keys on the keyboard on the left to select all the notes of that pitch.)
Perform quantization: Make sure the grid shown is the grid you want to use (adjust it using the Options menu if needed), then select Edit > Quantize (Ctrl-U on PC, Cmd-U on Mac). Notice that Live quantizes only note-on events (note start times), not durations.
Edit controllers with envelopes: Using Live's Envelopes editor, you can draw controller data atop your MIDI clip, from pitch-bend to any of MIDI's available control changes (Live automatically ignores messages like bank select, since they aren't useful in this context). Turn on the Envelopes view (1) and select the data type you want (2). Then, for changes synced to the tempo/beat grid, turn on Draw Mode (Ctrl-B or Cmd-B). Draw in changes (3) where you want them to go, and Live will automatically snap to the active grid.
Gradual changes: For gradual changes of control data instead of beat-synced, sudden changes, turn off Draw Mode and double-click to add or remove breakpoints. Drag the breakpoints up and down, and Live will create smooth transitions between them. (Breakpoints employ the same basic concept as keyframes in digital video and motion graphics.)
Normally we associate the terms "effects" and "plug-ins" with audio, not MIDI, but MIDI is actually much easier than audio for software developers to manipulate in real time. Because MIDI is just a string of numbers that represent your performance, it's easy to add, subtract, or modify incoming note numbers, velocity, and other data. Most MIDI-savvy DAWs include a range of MIDI effects that can be used as "channel inserts " just like audio plug-ins, such as:
Can't get the grid you want? Live bases its Clip grid on the settings for that clip, just as with audio. So if you're not seeing the grid you want or expect, try adjusting the values for time signature (in the Launch Box) and original BPM (in the Notes Box).
Split: Automatically splits pitches into different channels for instruments that lack an internal split feature
Echo: Repeats a note one or more times for an echo effect
Quantize/groove quantize: Quantizes as you play (or adds live quantization to recorded tracks)
Arpeggiate: Automatically produces melodic or harmonic patterns around an input note or chord ( Figure 8.24 )
Of course, this is only the beginning: just about any transformation that you can imagine can be wrought on the MIDI data using user -programmable tools like Max/MSP, Pd, and Plogue Bidule. These programs also handle audio, but they can manipulate MIDI with simple arithmetic, and creating your own MIDI widgets is a great way to learn to use this type of software. For more information and ideas, see Chapter 12.
MIDI effects can be added in Ableton Live just like audio effects: open the Live Device Browser (1) and drag the effects you want to a MIDI track (2).
Here's what you can do with Live's effects:
Chord adds up to six pitches (transposing the note you play) to create chords around an incoming pitch.
Pitch is a simple transposition; it's perfect if your guitarist decides she doesn't like G b major.
Random randomizes a specified number of pitches.
Scale constrains notes to a certain scale, like pentatonic or F major.
Velocity works like a virtual compressor/gate or randomizer , modifying velocity values.
Check out the presets for some ideas: live MIDI processing can be useful for both melodic and percussive parts. For some wild results, try importing MIDI filesever wondered what a Bach invention would sound like with some random pitches?
Another common function of MIDI, aside from recording and playing back musical parts, is to provide a way to control and record mix and synthesis parameters. By assigning a device as a control surface , as described in Chapter 2, you can manipulate parameters in software or hardware with physical controls ( Figure 8.25 ). You can use control surfaces to control both your mix and instruments.
Some control surfaces and MIDI instruments are preconfigured to work with certain software, in which case you can just plug and play. If you need to edit the way these devices and your software work together, you'll have to modify your MIDI control change assignments.
The easiest way to link a control surface to onscreen controls is to use templates, which save you from having to manually configure your controller and receiver to work with each other. (With only a few exceptions, nearly all MIDI control change assignments differ from one manufacturer to another.) At the very least, you may be able to use a template on either the controller or receiver side to match the two up. But for optimal performance, you may be able to load templates on both sides so your controller is set up to send the MIDI data your software or device needs to receive and the receiving software or device is set up with MIDI assignments for all the necessary parameters. Fortunately, many control surfaces and keyboards intended for use as computer controllers now come with templates, and others can be downloaded online. Some software packages, like Propellerhead Reason, are designed to automatically detect a range of common devices; the application sets up both the software and the hardware for you ( Figure 8.26 ).
If there isn't an appropriate template available, another option for setting up your software to receive messages from your control surface is to edit MIDI assignments on both devices. But first check your gear's documentation and MIDI implementation chart for details on what data your device sends and receives, and how this data is configured and routed. Usually, you'll be able to control whatever needs to be controlled via basic MIDI messages and control changes, although in some cases you may need to use specialized messages like SysEx.
In order to get software to respond as desired to MIDI data, you may be able to make use of a MIDI Learn function. This function, found in most software instruments, allows you to point at a parameter you want to manipulate (like an onscreen fader), then move the physical control you want to associate with it. The software detects the control change messages being sent and remembers the control change number so that it can respond to subsequent messages that have the same CC number. MIDI Learn can be a bit slow to set up if you have lots of parameters to assign, but it's a nearly foolproof setup method. Your instrument may also allow you to save the result as a template so you can reuse it. One "gotcha" when using MIDI Learn is that many synths allow only one onscreen control (usually a knob or slider) to be assigned to any given CC number. If you try to assign a second control to the same CC number, the first control will "forget" its assignment.
If you want custom control of your software, the MIDI Learn mode is usually the easiest way to attach your physical controls to controls onscreen. In this example you'll "teach" Ableton Live a controller assignment by turning on the program's MIDI mappings, selecting something to trigger or adjust, and then performing the action you want assigned to that parameter in the software.
Turn on MIDI Map Mode: Click the MIDI button in the upper-right corner of the screen. The elements that can be assigned will change color , indicating that MIDI Map Mode is on. (The adjacent KEY button works the same way for QWERTY computer keyboard assignments.)
Click something you want to assign. This can be a loop, a fader, a knob, the crossfader, a filter parameterwhatever you want. Usually, clips are better assigned to single triggers (such as MIDI notes), whereas knobs should be assigned to continuous controllers (like a mod wheel or expression pedal).
Move, twiddle, or play something. On your MIDI hardware, press a note, or touch/twiddle/adjust a knob, fader, pedal, ribbon, X-Y pad, joystick, infrared sensor, or anything else you have on any MIDI gear that's handy. Live will then assign the note, message, or control change that was sent to the item you clicked.
With MIDI Map Mode on, you can assign as many controls as you want. Then turn off MIDI Map Mode and try it out the controls: your hardware controls should manipulate the onscreen controls.
Thanks to MIDI's open-ended nature, you can use a MIDI control surface in many ways. You might want to control one instrument parameter during performance or run an entire lighting rig with pyrotechnics. That said, here are just a few common applications:
Mixer: Trying to use a mouse to control mix faders and pan knobs is (literally) a drag. Instead, use the faders on your keyboard or dedicated control surface. Not only is working this way easier, but unlike a mouse, a control surface lets you adjust more than one level at a time. If you're using a motorized controller that has two-way communication with your software, the physical faders will automatically snap to the right positions for the current spot in the song.
Virtual organ: Assigning eight faders to organ parameters can give you drawbar-style control of a software organ simulation. Moving the drawbars while playing is an essential part of technique on a Hammond organ.
Synth editor: For control of envelopes, filters, and other aspects of an instrument's timbre, assign faders, knobs, modulation wheels, X/Y pads, infrared sensors, and whatever else you can get your hands on for real-time sonic shaping.
Guitar stompbox: Assign a switched foot controller to effect parameters and expression pedals to volume or other continuous controls for real-time foot controls. In fact, you don't have to be a guitarist to benefit, since most musicians already have plenty do with their hands while playing ( Figure 8.27 ).
Drum/sample pad: If you have drum triggers, digital drums, or a drum pad (a few keyboards even have drum pads built in), try triggering drum sounds or samples with your fingers. Alternatively, if you're using a program like Ableton Live, Max/MSP, or VJ software, in which you can control arrangements in real time, you might use the pads to start clips or scenes.
MIDI is intended as a protocol not only for control, but for file sharing as well. The Standard MIDI File (SMF) format stores recorded MIDI data in a form that can be imported by most MIDI-compatible applications (as well as some hardware). SMFs include notes, controllers, and all other MIDI performance data; system-exclusive data can also be included. The SMF format also allows for the storing of lyrics, which is useful for exporting to notation software and, of course, for karaoke. (Commercially available SMFs of pop songs are used by many karaoke music systems.) What SMFs don't include is the other data contained in a proprietary project file format used by your DAW: there's no audio, no mixing data, and no arrangement information other than what is contained in the MIDI tracks themselves . (For alternatives, see "Interchange Formats" in Chapter 11.)
You can save multi-track MIDI compositions as SMFs, for exporting to a different application. You'll lose any audio data and other application-specific information, but SMFs can be used to take an arrangement created in a sequencer and import the material into a notation package to create a finished score. Under United States Copyright law, you can even register an SMF file to copyright a composition (www.copyright.gov).
.MID files: Usually SMF files are saved with a .MID file extension; sometimes you'll see the .SMF extension, though it's not a standard designation.
In addition to full songs, you can use SMF files to save and re-use short MIDI clips (like drum patterns, basslines, or small phrases), exchanging them among programs with MIDI clip features, including Live, Kinetic/Project 5, GarageBand, and others. In some ways, the SMF format is better suited to these smaller clips than to the storage of an entire music composition, since in these cases you won't need all the extra information stored in a DAW project file.
From time to time you may see references to SMF Type 1 and SMF Type 0. Type 0 SMFs collapse multitrack MIDI recordings into a single track; this track will play multitimbrally when loaded into a sequencer, because the notes retain their original channel information. But the fact that track information is lost can sometimes cause difficulties when trying to determine which musical part is which, especially in music notation software. Type 1 SMF files maintain separate tracks, which is often more convenient for editing. The main reason the single-track format is used at all is for backward compatibility with obscure software and older music hardware.
When exporting MIDI data from your sequencer, you should generally choose Type 1 SMFs; if the software into which you're planning to import the file supports the SMF format at all, it'll almost certainly support Type 1.