Home -> Magazines -> Issues -> Articles in this issue -> View
Cakewalk For Windows | |
Windows SequencerArticle from Sound On Sound, December 1992 | |
Twelve Tone Systems have ported their DOS sequencer Cakewalk to the Windows environment, and created a program that could be ideal for PC musicians with an interest in multimedia. Brian Heywood looks at the sequencer that stops just short of making you coffee.

Twelve Tone Systems have been in the business of producing sequencers for the IBM PC for some time now. Their Cakewalk and Cakewalk Professional sequencers have now been joined by Cakewalk Professional for Windows. Apart from showing a dedication to ever longer product names, this new sequencer shows that Twelve Tone Systems are not prepared to be left behind as the PC moves into the world of Graphic User Interfaces and multimedia.
Like Passport's Master Tracks and Steinburg's Cubase Windows, Cakewalk has effectively been ported from a different software environment. Whilst the hardware is the same for MS-DOS and Windows, the software environment is so different in virtually all aspects important to sequencing that this program must be considered as a new product. This has obviously given the program designers a lot of freedom, since this software uses Windows 3.1 features which are ignored by Cakewalk's main rivals.
Cakewalk is essentially a track-based sequencer. This means that the software's user interface (or control surface) is conceptually based on a multitrack tape recorder. Each 'track' — you can use up to 256 tracks — contains a stream of events. In a traditional sequencer these would be either MIDI events (note on and off messages, pitch bend data etc.) or a tempo change. One of the remarkable features in Cakewalk, however, is that you can use the multimedia aspects of Windows to sequence other types of event such as sample replay (.WAV files) and Media Control Interface (MCI) events.
The program's user interface revolves around a number of different edit windows that allow you to alter various aspects of the sequence data. Each type of window displays its data through an appropriate representation, so MIDI controllers are displayed graphically, and notes are shown with either 'piano roll' or stave notation. The MIDI data and other events can also be displayed numerically using the Event editor window. The program allows you to have multiple windows open at any one time so you can compare events on different tracks. The windows are revised whenever a change is made to the sequence, so that they are always an accurate representation of the sequence.
The capacity of the sequencer is limited by the memory available to Windows, so that the more tracks you have, the shorter the maximum length of the piece. Fortunately — with Windows — you can always add more memory if you run out of RAM, an option that was not usually available on DOS-based systems. There is no indication in the manual of the maximum size of sequence you can have, I managed to create a sequence just over one hour long and still leave one and a half megabytes of free memory on a four megabyte machine. When I tried to extend the sequence to 12 hours the program crashed which was — although not surprising — a trifle inelegant.
The program can use up to 16 MIDI ports, and can use the Windows MIDI Mapper pseudo device. This gives you the potential of assigning a different MIDI channel to each sequencer track or, to put it another way, control up to 256 MIDI instruments or devices. You would need a powerful PC with lots of memory to make full use of such a set-up, however, but I can think of no other PC sequencer with this capability.
Cakewalk comes on both 5.25" (HD) and 3.5" disks and is a breeze to install. There is a separate installation manual that takes you through any problems that you may have when you first set up your Cakewalk MIDI system. The set-up utility simply asks you where you want to install the program files, and whether you want to 'associate' MIDI files with Cakewalk, and then gets on with it. If you answer 'yes' to the second question, you will be able to start up Cakewalk by double clicking on any standard MIDI file.
As well as the Cakewalk program files, the installation disks contain an improved driver for the MPU401 interface as well as a driver for the Music Quest interfaces (PC MIDI Card, MQX16, MQX32). The MPU driver is worth a note since it allows a number of Windows applications to use it simultaneously, so you could run Cakewalk and a patch editor at the same time.
The Cakewalk main window is divided into three areas: the standard menu bar, the work area, and the control bar. The work area contains the various edit windows, which can be iconised to stop the screen from becoming too cluttered. When open, the edit windows can be maximised to fill the whole work area, or can share the screen with other windows. Changes made to one window will update the data in all other windows and the displays follow playback.
Like all good Windows applications, Cakewalk offers you two or three different ways of performing any particular task. So you can use either a menu option, hit a button, or use a keyboard shortcut (or accelerator key). Cakewalk uses the standard Windows 3.0 and 3.1 accelerator keys for cut and paste operations, though only the 3.1 key combinations are shown on the menus. Also, in line with standard Windows, practice there is online help which can be called up from the Help menu or by hitting the F1 key.
The control bar gives you a quick way to access the main functions of Cakewalk, as well as displaying important status information. It can be at either the top or the bottom of the screen and contains the inevitable tape transport controls, the bar and SMPTE time counters, a position slider, various buttons, time signature, tempo and a rather engaging panic button. The panic button will reset all MIDI controllers to their default settings and turn off any stuck notes.
The other buttons on the control bar allow you to select the clock source, the loop control, 'punch-in' mode, the step record mode and tempo ratios. The tempo ratios allow you to select half, normal or double the current tempo setting, so that you can record those really tricky bits or scan through the track at twice the normal speed. The metre (called Meter) or time signature control determines how the notes are displayed in the 'piano roll' and 'staff' windows, and affects all the tracks. The metre and tempo display will always reflect any changes to these quantities that you embed in the sequence.
This is probably the window that will stay open most of the time, showing as it does an overview of the work in progress. The window is divided into two panels with the tracks listed from top to bottom. The left panel is the Track display, and shows the track settings such as channel, initial patch, track name, channel and port numbers and various track modifiers. These track modifiers are used to set the initial state of the track — like patch, pan and volume settings — and to control the track's playback, for example via looping, transpose, velocity scaling and channel mute. One nice feature is that you can associate a set of patch names to a MIDI channel and display the names instead of the program numbers.
The right hand panel is the Measure display and gives an overview of the track in terms of bars. Each bar is represented as a box which can be blank (not recorded), contain a dash (empty bar) or a rounded rectangle (contains events). If you click the right mouse button on a bar, Cakewalk presents you with a choice of editors for altering the information within that section of the track.
The Measure display area is also used to select a range of bars for editing, looping or 'punch-in' recording. The bar/time selection is not the usual 'rubber box' operation; instead, to select multiple tracks you have to click on their track numbers in the Track part of the screen. I found this rather awkward at first — you have to perform two mouse operations to select a range of tracks — however, this method is a lot more flexible as the tracks do not have to be next to each other.
You can move the dividing line that separates the two panels to select the amount of information displayed in each panel. You can change the order of the track columns by dragging them across the Track panel, allowing you to make the best use of the display area. I only wish that you could change the order of the tracks this way, the only way I found of doing this was to insert a blank track, make a copy of the track you want to move (ie. 'clone' it) and then delete the original.
To record a new track simply select the next empty track, select the bar that you want to start, and either click on the record button, press the 'R' key on the PC's keyboard, or select 'Record' from the 'Realtime' menu. There is a default 4-beat count-in, and you can stop recording by hitting any PC key or clicking on a tape control button, you are then asked whether you wish to keep the take. If the track already contains data, the new MIDI events will be merged with the existing data, allowing you to build up a track in layers. There is a multi-take mode which records each take onto a separate track, allowing you to select the best performance later.
To actually replace the data in a track, you must use the 'punch-in' feature. After selecting the range of bars, you can start the sequencer in record mode from any bar, the sequencer will only go into record when it reaches the start of the selected bars. There is also a non-graphic step record mode that allows you to enter the notes at your leisure.
As Cakewalk retains the MIDI channel of the data when you record, you can record a multichannel performance on to one track and then split the data to separate tracks afterwards. Alternatively, you can use the 'Channel-to-Track' table to split the data when you make the recording. I found this an awkward way to record multiple tracks; this would only be a problem if you recorded a lot of MIDI guitar tracks or the like.
The default MIDI Thru function works very well — the program converts the MIDI data from your master controller (ie. keyboard) to match the currently selected track. Cakewalk actually sends MIDI 'Local control off' messages on all ports/channels when it starts up, so that the keyboard won't play its internal sounds as well. Unfortunately, it doesn't default to turning local control back on when you exit Cakewalk which means that the synth doesn't appear to work. You can edit one of the .INI files to do this, but it should really be an option on the 'Settings/MIDI Thru' menu.
Once you've recorded a track you can modify it a number of ways. Cakewalk provides four editors for modifying MIDI and event data. These are the Piano-roll, Event-list, Controllers, and Staff windows. The Event-list is the only window that will display all the events that can be stored by the sequencer — the other screens give only a sub-set of the data appropriate to the particular edit window. So the Staff window displays only the notes (in stave notation), the Piano-roll screen adds velocity and accurate duration, whilst the Controller window shows a graphical representation of any single continuous controller (eg. pitch bend, mod wheel and aftertouch), allowing you to draw in new values with the mouse.
The Event-list editor shows a list of notes, controller and other events in a tabular format, for one or more tracks. The notes are displayed as a start time, pitch, velocity and a duration rather than separate note-on and note-off events. You can also insert 'text' events which can be used to place comments in a particular track. The manual suggests that you could use this feature to place lyrics in a separate track.
The graphic edit windows allow you to adjust the number of bars displayed, and the Piano-roll window also allows you to zoom in the notes as well. There isn't enough room here for a detailed look at all the edit windows; however I can point some interesting and/or useful features. In the staff window, you can set the notes to snap to their diatonic values defined by the work's current key signature. In the Piano-roll window, if you click on an empty section of the grid a you enable the 'scrub' cursor which plays any notes that it is dragged across. The event list allows you to display data for more than one track, useful for comparing and tuning event start times. Incidentally, there appears to be no way to view or edit the note-off velocity; whilst not many synthesizers actually produce or respond to this MIDI message, it will undoubtedly become more common in the future.

The 'Fader' window provides an alternative method of entering MIDI controller data to your sequences. There are 16 faders that can be set to any of the MIDI controllers, and they default to MIDI Volume (controller 7) for the first 16 tracks. The 'fader' movements can be recorded along with the sequence, so you can use them to give an automated mixdown facility by controlling volume on your sound modules. They could also be used for controlling such items as VCA units or lighting consoles.
The Meter window allows you to construct a list of changes in both the key and time signatures, whilst the Tempo window allows you to use the mouse to 'draw' tempo changes on a graphic display. You can also use the Markers window to define music markers — such as 'start of 2nd verse', 'bridge' etc. — or events that occur at a particular time, these latter can be locked to a fixed SMPTE time to correspond to events that occur in the real world — say on a video to which you're synchronising.
The Comment window allows you to save text comments along with your sequence. You could use this, for instance, to include lyrics with the music or just memos. You can use the Windows clipboard to swap information between Cakewalk and your favourite text editor. You can make the comment window open automatically when you load a .WRK file, which could be useful for leaving yourself notes. On my current sequencer, I use its equivalent function to store track sheets for my multitrack recorder, but this looks rather odd in Cakewalk since the text font is proportional, so the columns on the track sheet don't line up.

At first glance, Cakewalk doesn't seem to be particularly well endowed with tools that allow you to alter the music after it has been recorded. However the program has two very powerful tools that allow you to do almost anything to the MIDI and event data in a track or tracks. These are the 'Event Filter' and the 'Cakewalk Application Language' (CAL).
The Event Filter allows very fine control over the data that is processed by the operations that you find on the Edit menu, so you can perform almost any filtering operation. Any operations that can't be performed using the built-in functions of Cakewalk can almost certainly be achieved using CAL. CAL is an event processing language, which means that it will perform an operation (or operations) on each event in the area that you have selected for processing. There are a number of example CAL programs supplied with Cakewalk, that you can use or modify to suit your own purposes.
Cakewalk handles MIDI System Exclusive data by letting you create up to 256 separate 'Sysx' (sic) banks which can then be included as part of your sequence. Each of the banks can contain Up to one megabyte of data, and can be set to be automatically transmitted when you load the work file. This last feature can be used to set up your MIDI environment to suit the piece you're working on which could be invaluable if you share studio facilities with other musicians.
The Sysx edit window also allows you to perform system exclusive dumps to and from your synthesizer(s) and lets you perform simple edits on the data in hexadecimal format. The program provides a number of 'bulk dump request' strings for various popular sound modules. You can create your own custom dump request macros by editing the DRM.INI file. The Sysx page also allows you to load and save the system exclusive banks in the MIDIEX file format, MIDIEX being a public domain bulk dump utility that is available from a number of bulletin boards. This feature allows you to swap System Exclusive data with your friends and use public domain data dumps.

Apart from producing MIDI files for use in other multimedia applications, you can use Cakewalk to control Windows MCI devices. The Windows MCI is a device independent interface for controlling audio-visual equipment, so theoretically you could use Cakewalk to control any Multimedia peripheral, for instance a Video Disc player, or audio CD player. There isn't that much information about this aspect of the sequencer in the Cakewalk manual, however, although if you refer to the MS Windows Multimedia Programmers Reference you can find out the various MCI commands. I found that I could control the CD audio and animations, as well as the wave (ie. sample files), from inside Cakewalk as described in the manual. I eventually managed to crash the program using this feature, so I guess that Twelve Tone will need to do a bit more work on this aspect of the software.
One point that should be made clear about the sample replay facility in Cakewalk is that it is not synchronised to the sequencer's time base. After replay has started, the sample 'free runs', and thus will not follow any variation in the timing source. This would only be a problem if you were using long samples and you are synchronising to timecode from a tape machine, so you can only really use this facility to replay fairly short samples, say sound effects or percussion sounds. I think this is a limitation of Windows rather than Cakewalk.
Cakewalk for Windows can read .WRK files created by Cakewalk 4.0; this won't necessarily work in reverse. This is because the Windows program can handle larger files and events that are unknown to the earlier program. According to the manual, the DOS version will extract any information that it can handle and silently throw away the rest. This is really only important if you need to share your work with someone who uses the DOS version of the program. If you're upgrading then you should be able to use all your old files.
Cakewalk Professional for Windows is a powerful sequencing package that lives up to its 'professional' appellation. Of all the Windows sequencers currently on the market, it makes the best use of the Windows multimedia facilities. If you were to combine this program with a high quality sound card (such as the Turtle Beach Multisound) and a good Windows sample editor (such as Wave for Windows) then you would have an ideal authoring system for multimedia sound.
I did have some minor problems with the software which were mainly due to attempting some cruel and unusual things with it. However these will only affect you if you are operating at the 'bleeding edge' of computer music. The on-line help is a definite plus, although it could be made more comprehensive, especially in the topic search area. I found myself having to refer to the manual a lot, if you're going to have a help system, you might as well do it right. There were a few other niggles but nothing that seriously marred the use of the program. Hopefully future versions of the software will address these points.
There is a 'rule of thumb' in the software business called the 90% rule. This states that any piece of software will only do 90% of what you want of it. Well, I think Twelve Tone Systems have just rewritten that rule for Cakewalk. By using the CAL language interface you can hit 99% if you try. The other 1%? Well it still won't make the coffee.
Further information
Cakewalk Professional far Windows v1.02 £275 inc VAT.
Sound Technology plc, (Contact Details).
Cakewalk Professional - For Windows
(MT Mar 93)
Browse category: Software: Sequencer/DAW > Twelve Tone Systems
Gear in this article:
Software: Sequencer/DAW > Twelve Tone Systems > Cakewalk Professional
Gear Tags:
Review by Brian Heywood
mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.
If you value this resource, you can support this project - it really helps!
New issues that have been donated or scanned for us this month.
All donations and support are gratefully appreciated - thank you.
Do you have any of these magazine issues?
If so, and you can donate, lend or scan them to help complete our archive, please get in touch via the Contribute page - thanks!