Sequencing II Š Get in there and EDIT!    By Phil Huston    


In the previous issue (#21) we discussed how to use the sequencer in a modern keyboard and the advantages it offers us. I described the sequencer as a Word Processor for musical information because the sequencer in our keyboard isnÕt really recording the performance like an audio recorder, but rather as data much like what happens when we type a letter on a computer. That definition was little broad, but still accurate. This time weÕre going to go more deeply into how our sequencer interprets what we have played, how it captures the performance, and for the finicky perfectionists among us, how to change even the most minute aspects of the captured performance.


Before we go off into all that, letÕs look at what happens when we record a MIDI sequence. Every thing we play, every pedal we step on or controller we move, is captured as an Ņevent.Ó Now we know that our sequencer is monitoring our performance, so letÕs look at what goes in to a completed MIDI performance. Remember last time, just 4 tracks for some basic back-up? LetÕs keep it that simple again. Consider that the basic element of a sequenced performance is the MIDI TRACK. A TRACK is a record of MIDI performance data. In this example, we will need at least four TRACKS, one for each of our musical identities. Let's assign those TRACKS now as:


INSTRUMENT                 TRACK        MIDI CHANNEL


            PIANO            1                      1

            BASS                2                      2

            DRUMS           3                      3

            SAX                 4                      4


For the sake of example, let's play and record all four parts of our piece of music. We now have a four TRACK sequence. Let's look at some of the editing options available to us, and how we can apply them to study, modify or enhance our captured performance. There are two basic types of data editing generally available on a sequencer. They are the "event edit" (sometimes referred to as ŅmicroscopeÓ editing) and "global edit" functions. Let's start with the "event edit" functions.


The captured MIDI data stream is a linear record of our performance. It follows then, that when viewing the MIDI data stream in "event" edit that we will be viewing the events of our performance one at a time, in order of their appearance. The usual options available to us at the event edit stage are to CREATE (INSERT note/controller), DELETE (remove note/controller), CHANGE (notes, values) and MOVE (point in time) events.


What we are going to be editing are VALUES. In terms of notes, we will be editing pitch values (note numbers), velocity values (0 to 127) and timing values (point of play and duration). In terms of controllers we will edit them by controller number, value (amount) and timing (point of use).


MIDI uses time as a reference for all events, time being relative to the start of the captured performance. MIDI breaks time up for us in musical pieces, usually by BAR number, BEAT number and CLOCK PULSE number. Let's look at an event as it might be displayed in its simplest form:


001:01:03   C4   117   335    1


Left to right we are seeing when the event occurred, what type of event it was (note), the played velocity (117), the duration (335) and the original MIDI channel (1). So in BAR 1 (001), on BEAT 1 (01) CLOCK PULSE (03) we played a C4 with a velocity of 117. We held the note down for 335 CLOCK PULSES and transmitted the note on MIDI channel 1.


Great! What is a CLOCK PULSE? MIDI specifies that a sequencer should have at least 96 CLOCK PULSES per quarter note (sometimes noted as PPQ, Pulses Per Quarter Note). NOTE: Many sequencers support a higher PPQ resolution than the specified 96. It is a good idea to check the sequencerÕs documentation to determine the exact PPQ resolution. We are using 96 as a frame of reference for example only.


To determine the number of CLOCK PULSES a specific note value has, we need to know how many 1/96ths of a quarter note it takes to produce a particular event. Knowing this will also help us determine where we are inside of a BAR and tell us when an event occurred. For example, something on the third sixteenth of beat one in the first BAR would be displayed as:


001:01:48    C4   117    335     3


Why 48? Because a sixteenth note is one fourth of a quarter note, in 4/4 time. And one fourth of 96 is 24. Further, 2 X 24 = 48 (third sixteenth since the first sixteenth falls on the very first CLOCK PULSE). If a quarter note is divided into four sixteenth notes, the first will be on CLOCK PULSE 00, the second on 24, the third on 48 and the fourth on 72. And in 24 more 96ths we start a new beat at 00 and start over again. Whew! Got that? ItÕs all very straightforward additive arithmetic.


Going back to our original event, we can see that in BAR 1, beat 1, CLOCK PULSE 03 we played a C4 that lasted 335(!) CLOCK PULSES. What is 335 CLOCK PULSES of duration telling us? Let's figure that out: 335 divided by 96 = 3.49, or nearly 3 and 1/2 BEATS of duration, so we played a C4 as a half note tied to a dotted quarter note. In a short and cryptic way, the MIDI data stream has specified in a single event what we played, when we played it, how long we held it down and the MIDI channel it originated on. How about the fact that it also said we were 1/128th note late (03/96ths) if we were supposed to play that C4 on the downbeat. OOPS. Now, suppose that C4 is part of a C chord. The data stream would indicate, in order:


     event 1    001:01:03   C4   117    335         1

     event 2    001:01:03   E4    112    331        1

     event 3    001:01:04   G4   118    334         1


We needn't be concerned if we get a display like this that shows some difference in each event. Nobody is perfect, and MIDI will show us our imperfections. Notice that the second note of the chord was struck with slightly less velocity than the other two notes, and was released slightly earlier than the other two. This is a result of being human, and there is no way around it. Except...event editing the data stream! That's right, a sequencer should allow us change any data it will display. We can change the notes, their duration, their velocities, and move them in time forwards or backwards. In the example we can take that weak E4 and the late G4 and make them similar to the C4 in velocity, strike time and duration. With a little practice, we will soon be able to identify musical events in this MIDI-ese as easily as if they were notes on the staff. Well, OK, for some of us itÕll take a bunch of practice. But we can do it!


A little deeper into this thought, suppose we played this same chord on the third BEAT of BAR 8 and we blew it by hitting both a C4 and a B3 at the same time, and the rest of the performance is splendid. We scroll through our sequence to BAR 8, BEAT 3. Remember, it will look something like this:


                        008:03:03   C4   117   335   1

Blooper x          008:03:03   B3   006              017   1

                        008:03:03   E4   118   331   1

                        008:03:04   G4   115      333   1


Look at the way MIDI captured this blooper. It shows that we knew we did it because we didn't hold on to the bad note very long once we noticed it, and that we didn't do it on purpose because we didn't hit it with much conviction. So now instead of changing or moving the event, we DELETE it.


The opposite of DELETING an event is INSERTING an event, which we would use if the bloop in the performance wasn't something we messed up, but something that we forgot to play. In INSERT, we go to where something we forgot to play belongs and INSERT it.


After creating the event we can change its BAR, BEAT and CLOCK PULSE numbers, note number, velocity and duration to correspond to where we need the event to occur and what the event needs to be, the outcome being that we have the correct event in its correct place.


It should be noted that any CONTROLLER function and its value can be displayed, DELETED, INSERTED and edited, just like a note event. If we have pitch bend, modulation, volume, sustain pedal etc. that is incorrect in value or placement, or is missing, we can correct it by event editing.


Rather than go on into enough detail to make our heads explode, any time youÕre interested, or are having trouble falling asleep, you can get out your instrumentÕs manual and read all the MIDI specs. It is also helpful to either learn or keep handy a copy of the MIDI controller spec, so that when controller information pops up in the display we know what weÕre looking at. Hopefully now we all better understand how to capture, repair, and present a more joyful noise, one that is larger than ourselves!


Phil Huston is a Christian musician and industry keyboard guru. If you'd like more in-depth information regarding understanding sequencers and making music with sequencers, you can e-mail him at:


© 2004 Christian Sound & Song. All rights reserved. Churches are encouraged to reproduce for use in their ministries. For any other use, permission must be obtained from the publisher.