[Top: John S. Allen's Home Page]
[Up: List of Cakewalk articles]
[Previous: Staff View]
[Next: MIDI as an editing medium]

[contact John S. Allen by e-mail]

Site Logo - Track bike (1.3 KB GIF) Bikexprt.com Web site

Step Recording, Krishna, and Basic Ergonomics

John S. Allen

The Cakewalk step record dialog box | Rethinking step recording
An improved step recording function | Giving you back your hands

Hindu deity Krishna playing a flute with two of his four hands (13 KB GIF)The Hindu deity Krishna would make an ideal customer for today's music software. Krishna has had thousands of years' experience playing his flute, which we see in the picture. "World music" is popular these days, so Krishna's music would have an audience. And with his four hands, Krishna is well-equipped to operate a computer at the same time as a Yamaha woodwind controller. Set him up with the right equipment, and in no time, he'll be a MIDI guru. (Excuse me, I meant MIDI deity.)

As an example of how well Krishna could do with MIDI, let's look at step recording, a function available in most notation programs and in many sequencer programs. Step recording lets you use the computer to set metric values for musical notes, and a musical controller to establish their pitches. Before the development of graphic editing tools, step recording was more widely used than it is today, but it is still very useful to create sequences of musical notes that are difficult to play, or when you need more metric precision than you can achieve when playing in real time.

Let's take a look at the dialog box for step recording in Cakewalk Pro Audio, the most popular sequencer package that runs on the PC under Windows. This is the sequencer which I use and know, and that is why I am giving it as an example. I could make similar comments about many if not most sequencing and notation software applications.

A look at the Cakewalk Step Record dialog box

Here's the Cakewalk Pro Audio Step Record dialog box, shown full-size as it appears on the computer screen.

Cakewalk Pro Audio for Windows 95 v. 5.0 step recording dialog box (8.5 KB GIF)

If your MIDI controller is a keyboard, you can play one-handed while using this dialog box. If you need both hands to play your controller, you have to stop playing to change the computer settings. That is, unless you are Krishna.

But let's take a larger perspective. There are other problems with this dialog box. We should ask: do we need the dialog box at all? Is it an efficient tool? Is it good enough that we can keep it as a component of our improved step recording system?

Well, no, no and no. In fact, it is an outstanding example of poor program design, poor screen design, and poor ergonomic design. Where do I start? First of all, it is unnecessarily large -- much of it is empty -- and it always plops itself down exactly in the middle of the screen, covering up most of the display of the musical notes you are creating. (All of the Cakewalk dialog boxes unimaginatively and maddeningly use this Windows default setting, though mercifully, most are smaller...) You could heave a sigh and move the dialog box every time you invoke it, except that you can't really get it out of the way unless your computer monitor has a very large screen.

Despite the size of the dialog box, positioning the mouse pointer on the tiny radio buttons is an exercise in eyestrain and mouse-tweak. The labels for the radio buttons are long, spelled-out names of note values in small print. If you choose to use the computer keyboard to get around these problems, the shortcut key assignments are hard to memorize, and harder to read from the underlines in the labels: W, H, Q, 4, E, 8, S and so forth.

Radio buttons are in any case a poor way to convey the current step size and note duration. This is not a graphic interface, rather it is a sort of onscreen typewriter. In addition, just as everywhere else in Cakewalk, the only tuplets supported for direct entry are triplets. (Since musicians as far back as Chopin used tuplets up to 17, why shouldn't we be able to use the power of the computer to create them?...but that's a topic for another article.)

The "Pattern" window at the bottom of the dialog box promises a solution to some of these problems, but it only lets you substitute rests for some steps in a predetermined sequence of notes. All of the notes and rests must be of the same length. This is a crippling limitation except to diehard musical minimalists.

The Step Record dialog box is a modal dialog box, preventing you from using any of Cakewalk's screen editing functions while it is active. Those parts of your piano roll or staff view which you can see around the edges of the dialog box serve only as a passive display for notes you are recording. The only way you can navigate in the step record mode is one note at a time; forward only by adding notes, and backward only by deleting them.

Rethinking step recording

Now let's think about how we can improve the step recording function.

We could take a conservative approach, replacing the tiny radio buttons with bigger command buttons that have note symbols in their middle. Many music software packages do this. For people who don't read music, a useful option is to use numbers representing the metric values (1, 1/2, 1/4, 1/8 and so on) instead of the note symbols.

But these improvements only deal with the problem of the size of the dialog box. Let's go further and have a look at the step-recording function conceptually, from the ground up. Above all, let's be goal-oriented. What do we want to accomplish with this function? What makes it similar to other functions, and what makes it different? How can we make this function work smoothly and efficiently?

The defining feature of step recording is that you set musical pitches using a musical controller, and that you attach those pitches to a preset metric pattern or metric values.

The Cakewalk modal dialog box has to set metric values in its own way because it prevents you from using any of the application's other functions, even the most basic screen navigation functions.. Is this limitation necessary? Let's apply the test described by Alan Cooper in his book About Face: the Essentials of User Interface Design: "A dialog box is another room. Have a good reason to go there."

Actually, there is no good reason to make step recording "another room," since it can not interfere with any other program function except real-time recording, and it is only active when real-time recording is not. Step recording doesn't inherently conflict with graphics editing functions, so why should we be prevented from using these functions? Instead of preventing you from using them, it should make use of them.

An improved step recording function

Let's then, replace the big dialog box with five toggle buttons on a toolbar,

Toolbar for step recording (.7 KB GIF)

whose functions are, from left to right,

  • step record
  • pattern on existing notes
  • quantize
  • auto advance
  • keep old notes

All of the other functions we need -- those for navigation and for establishing metric values - are already present in staff view and piano roll view of any modern sequencer or notation package. Some of the buttons on our toolbar may also be shared with other functions, but that's beyond the scope of this article.

The step button turns on step recording. Step recording is active in the track(s) and MIDI channel(s) selected for recording. It may be used in more than one track and/or channel at a time using a split controller, or by moving between tracks using the up and down cursor keys, or by clicking on the desired track with the computer mouse.

The default setting for the remaining buttons is the one for entering new notes:

  • pattern on existing notes: OFF
  • quantize: ON
  • auto advance: OFF
  • keep old notes: ON

The pattern on existing notes button replaces the limited "pattern" option of the Cakewalk dialog box, letting us use step recording with any metrical sequence which has previously been stored, even with simultaneous notes and even with multiple tracks. When pattern on existing notes is on, step recording cycles through the notes which have already been entered in the recording track, letting you change their pitches or copy their start time and duration to new pitches.

Interaction of pattern on existing notes and quantize is as follows. The default setting is shown in yellow.

Interaction of pattern on existing notes and quantize quantize ON quantize OFF
pattern on existing notes ON start points and durations of new notes are placed at the quantization points nearest the start and end of the "model" notes new notes begin and end at the same times as the "model" notes. This lets you select a note with the mouse and change its pitch using a MIDI controller.
pattern on existing notes OFF step size and note duration are the same as for graphic note entry in the staff or piano roll view in use. the new note is placed at the "now" point, and duration is the same as for graphic note entry in the staff or piano roll view in use.


When auto advance is on, step recording moves forward to the next model note or quantizing start point after all note inputs from the controller have ended (after all keys have been released, on a keyboard controller). Manual repositioning, whether or not auto advance is on, may be either forward or backward and/or to a different track, and is controlled by releasing the sustain pedal of a keyboard controller, or backward by depressing and releasing the soft (left) pedal. Manual advance may also be controlled by clicking the mouse pointer in the time line of the piano roll or staff view ahead of or behind the "now" point, or by clicking in another track, or by pressing a cursor key of the computer keyboard. By clicking, depressing a cursor key or using the sustain pedal more than once, we may also skip a note or a snap point.

Interaction of note to note and keep old notes is as follows. The default setting is shown in yellow.

Interaction of pattern on existing notes and keep old notes keep old notes ON keep old notes OFF
pattern on existing notes ON a new note is added with the same timing as the existing note The pitch of the existing note is changed to the pitch defined through step recording.
pattern on existing notes OFF old notes are not affected by moving the recording "now" line across them. old notes are deleted when the recording "now" line is moved across their start points.


Step recording is based on the pattern in the onscreen selection. If we continue to record past the selection, the pattern is repeated in the new area and looping is extended one pattern length at a time to include the repeated selection.

Two slight modifications are necessary in our graphic display to use the approach I have just described. In pattern on existing notes mode, the model note should be highlighted. Also, we need a second "now" line, since the "now" for step recording is not always the same as that for playback. The second "now" indicator is especially important when pattern on existing notes is off and there is no model note to highlight. I suggest a red vertical line for the recording "now." With two "now" lines, we can keep track of both recording and playback as we loop playback of a sequence while using step recording to hear the results.

Using the functions as described, we can integrate step recording with the graphics editing screens of our sequencing program, not only allowing us to view and hear our results as we go, but also giving us the full use of graphics editing functions and looped playback at the same time as step recording. Compared with these possibilities, the Cakewalk step-recording dialog box reveals itself for what it is: a holdover from the time of hardware sequencers.

Giving you back the use of both hands

Now let's get at the four-hands issue. To have to move a hand from your instrument to carry out basic computer screen navigation functions is Bad Ergonomics, with capital letters. True enough, if you play a keyboard instrument, you can at least continue to play with the other hand. With most other controllers, you must stop playing entirely to change settings. This is a problem not only with Cakewalk, but with every computer music package I've seen.

Musicians use foot pedals and foot-operated buttons for many different purposes. A toolbar with large symbols in a single row can easily be navigated using a foot pedal, leaving both hands free to play a musical instrument. The few buttons needed for step recording are easily manageable in this way. Preferably, the symbols in a toolbar for use with a pedal should be arrayed vertically to reflect the motion of the pedal, though foot pedals with two degrees of freedom, called slalom pedals, can move a mouse pointer in a two-dimensional screen space. It is also entirely possible to use a toe button on a foot pedal, like the button of a computer mouse. A friend of mine who is an organist has used a toe button on his volume pedal since 1965 to control his rotating Leslie speakers. On a foot pedal which moves only up and down, it is easy to use two toe buttons. But also, the other foot may operate an array of buttons. If one of these is used to cycle between toolbars and others to navigate in the step recording, then there is never any need to take a hand off the instrument while using step recording.

Step recording in Cakewalk Pro Audio is only one example among many of unimaginative program design in music software packages. It's time that some enterprising software company took a fresh look at problems like the ones I have described and began making some serious improvements to the tools that the computer makes available to musicians. I stand ready to be corrected (and to buy the software!) if I have overlooked software which already uses the ideas I have suggested.

[Top: John S. Allen's Home Page]
[Up: List of Cakewalk articles]
[Previous: Staff View]
[Next: MIDI as an editing medium]

[contact John S. Allen by e-mail]

1997 John S. Allen, except:

Krishna picture - reproduced from
Bookshelf '94,
Microsoft, Inc.; by permission

Cakewalk dialog box -
Cakewalk Music Software; fair use

Last revised 2 November 1997