[Top: John S. Allen's Home Page]
[Up: Cakewalk article list]
[Previous: Controller conflicts]
[Next: Staff view]

[contact John S. Allen by e-mail]

Site Logo, Track bike (2 KB GIF) Bikexprt.com Web Site

Getting in sync with the
Cakewalk Length and Fit to Time
dialog boxes

John S. Allen

On another page: how Fit Improvisation works

Musical time uses fractions, not percentages |
Different purposes of the Length and Fit dialog boxes |
A workaround to get closer to the length you want |
Musical time and time code time may not be proportional! |
A suggestion for a better length/fit dialog box

OK, I'll admit it. I have a beef with the Professionals down at Cakewalk.

To be specific, let’s look at the Cakewalk "Length" command. Here’s its dialog box: Cakewalk Length dialog box (2 KB GIF)What’s wrong with this picture? Show of hands, please!

Right! Musical time is divided by fractions, not by percentages. The use of percentage in the Length dialog box is one of the most perplexing glitches in Cakewalk software. I mean, what did the developers think they were doing? And why haven't they changed this dialog box , despite user feedback through three upgrades? It's one of life's little mysteries.

Let’s say that I am trying to take a musical sequence that is 30 beats long in 4/4 time and make it 40 beats long, in triplets. I captured the screen shot here as I attempted to do exactly that..

4/3 is 133.33+ percent, but the nearest value which Cakewalk lets me enter is 133 percent. My sequence will gradually go out of sync until, at the end, it is off by a tenth of a beat. That's almost a 32nd note, a noticeable "flam." The same loss of sync would occur in half the time if I tried to reduce my 30-beat section to 20 beats.

The Meter/Key function of Cakewalk does use fractions, even though the Length dialog box doesn't. If Cakewalk forced you to play Two Hearts in 75 Percent Time instead of Two Hearts in 3/4 Time, I suppose that lots of users would complain. Greek musicians would go completely up the wall. They often use 7/8 time (87.5 percent time).

If the length dialog box did support fractions, it would provide an alternate way to generate accurate tuplets. This would be a very useful feature, since the Cakewalk graphical user interface provides no means to enter any tuplets except triplets.

Bug (0.3 KB GIF)There is a bug in the Length dialog box's handling of note durations. Since the Length code calculates durations separately from note start times, both can be rounded upward. This generates oveerlapping notes. When the overlapping notes are unisons, a MIDI synthesizer will cut it off abruptly. The unison cutoff problem is described in detail in another article on this site.

The Length command's range is from 1 percent to 1000 percent 1/100 to 10 times). This rather narrow range is probably intencec as a simple way to avoid placing events beyond the Cakewalk time limit of 15777215 ticks, where they will wrap around to the start of the file. Nonetheless, it is easy to generate such overruns by using the Length command 2 or 3 times in a row. The Length command does not check for such data overruns. It also does not check for data underruns (zero-length notes, where the note start and end are on the same tick).

In Cakewalk Pro Audio v. 6.0, the same length dialog box is used for audio clips as for MIDI events. This prevents you from using this dialog box to align events accurately with MIDI tracks. In v. 6, the Time/Pitch Stretch dialog box also uses percentages, and here they are an even crazier choice.

The MIDI length command is useful some of the time. The Time/Pitch stretch hardly ever is, because you usually want to change the time length to something in between the choices the ocmmand gives you. This qualifies as a serious bug. Bug (.3 KB GIF)

The Cakewalk "fit to time" dialog box offers another way to change the length of musical sequences:

Cakewalk Fit dialog box (3 KB GIF)

In this dialog box, time is measured as a film or video frame count. The four segments of the number in the text box represent hours, minutes, seconds and frames. Time code formats include 24, 25 or 30 frames per second. For "drop-frame" NTSC color video, which runs slightly slower than 30 frames per second, every once in a while there is a second which has only 29 frames. This is the most common type of video in the Americas and Japan.

The fit dialog box is appropriate when you are synchronizing to film or video, and you know the frame count. The fit dialog box is not very useful for adjusting the length of music sequences relative to one another. The 24 to 1/30 second resolution is too coarse, and the math is complicated. (Let’s see, I’ll multiply seconds by 24, or was that 30 -- oh darn, I’m using drop-frame, well, I’ll try it and see what happens...)

In fact, sometimes the math is impossible! If the tempo of the music is not constant, the lengths of time measured in musical meter and in time code are not proportional. (This is not a problem with Cakewalk, it's just a mathematical fact).

The Fit to Time dialog box in Cakewalk 7 and higher does let you use musical time. Amen.

How to get closer to the length you want

I have written a CAL program which changes length by fractions and solves most of the problems with the Length command. The program opens up many possibilities:  polyrhythms; shrinking hours to minutes to edit lighting control files, and expanding them back again, etc. etc. Try it, you'll like it

Or, using the Cakewalk Length dialog box,  you can get close to the length you want by changing the length in two steps. For example, you could lengthen to 1333 percent and shorten to 10 percent. For an even more accurate result, you could lengthen to 13333 percent and shorten to 1 percent. This is probably close enough for most purposes.This approach will probably generate odd results (and take a while) in audio sequences when you use time-stretching, so I recommend it only for MIDI sequences.Improved length/fit dialog box (7 KB GIF)

A better design for a length/fit dialog box

Actually, the Length and Fit dialog boxes would most logically be combined into one, with five controls for musical time and five for time code, as shown in the image to the right. If you entered a number into one of the controls, the others would recalculate as in a spreadsheet. In this way, you could see the effects of your changes in several different ways, all at once. I don't think of myself as a great graphic user interface designer, but the dialog box gives the basic idea.

If you chose to change length by changing tempos (radio button at the upper right), the text boxes for musical time (fraction, decimal, thru, length, ticks) would gray out, but if you chose to change note start times, the time code times would still be available for data entry. Notice that the musical and time code time are not proportional in the example in the illustration -- they correspond to a section of music with a tempo which is not constant.

[Top: John S. Allen's Home Page]
[Up: Cakewalk article list]
[Previous: Controller conflicts]
[Next: Staff view]

[contact John S. Allen by e-mail]

Contents 1997 John S. Allen

Last revised 10 November 2000.