What is CAL?
Cakewalk Application Language (CAL) is an event-processing language based on C and LISP that you can use to extend Cakewalk with custom editing commands. You can write your own CAL scripts, or use and edit CAL scripts that other people have written. You also can create CAL scripts by recording a series of commands, keystrokes, and mouse actions from within Cakewalk. This page contains a huge collection of CAL files and links to other CAL resources available on the Internet.
To use CAL you will need Cakewalk Pro for DOS, Cakewalk Professional for
Windows, or Cakewalk Pro Audio. CAL dates back to Cakewalk for DOS and
has evolved through the years. Because of this, all CAL files are not compatible
with all versions of Cakewalk. Unfortunately, I do not have enough time
to verify which versions of Cakewalk the files on this page are compatible
with, but as time permits I will be checking them against Cakewalk Pro
Audio 8. 
Compatible with Cakewalk Pro Audio 8
Requires Cakewalk Professional for Windows 2.0 or later
Compatibility unknown
CAL Links
Here are some other sites that have CAL files.
Learn CAL
Here are some sites that have information that will help you learn how to use CAL.
Personal Collection
Here are some CAL files I've written. Enjoy!
Accent.CAL 1KB 
This CAL script will accent the user defined Beat and Tick in each selected measure.
AutoPan.CAL 2KB
This CAL script will insert CC10 (Pan) events at random times between the selected From and Thru times.
ChannelSurf.CAL 1KB 
This CAL script will change all selected events to a new channel.
LocalOn.CAL 1KB
This script will turn local control back on.
MinusTick.CAL 1KB 
This script will decrease the duration of all Note events by 1 tick.
ModDur.CAL 1KB 
This CAL script will modify the duration of all the notes within the selected region by the amount specified by the user.
ModDur4.CAL 1KB 
This CAL script will increase the duration of all the notes within the selected region by 4 ticks.
Random Pan.CAL 1KB
This CAL script will insert a random pan event (CC 10) after each note event in a selected region.
RandomWheel.CAL 1KB
This CAL script will insert a random pitch Wheel event before each note event in a selected region.
Range.CAL 2KB 
This CAL script will analyze a track and alert the user if the notes are outside the typical range for the selected instrument.
ResetAll1671.CAL 1KB 
This script transmits a (CC16 value 64) and a (C71 value 64)on all ports and channels.
ResetSelect1671.CAL 1KB
This script asks the user for channel and port information and then transmits (CC16 value 64) and a (C71 value 64) to the channel and port.
Seven.CAL 10KB 
This CAL script will harmonize each note in a bass line with a diatonic seventh chord.
TimpRoll.CAL 2KB 
This CAL program will create a Timpani roll based on the user defined criteria.
Velocity.CAL 1KB 
This CAL script will increase or decrease the velocity of the selected region by the amount supplied by the user.
Velocity4.CAL 1KB 
This CAL script will increase the velocity of the selected region by 4.
Ultimate CAL Collection
Here are some other CAL files I've collected.
30Down.CAL 1KB by Matt Boland 
A simple macro to scale velocities down thirty values.
30Up.CAL 1KB by Matt Boland 
A simple macro to scale velocities up thirty values.
4-4Pedal.CAL 1KB by Matt Boland 
For people who don't have a sustain pedal and phrase in whole measures in 4\4 time. This routine will help simulate the pressing and release if the sustain pedal (controller 64) at the beginning and end of the bar.
AnyHarm.CAL 11KB author unknown 
A CAL script to make a harmony part from any simple line.
Arpeggio.CAL 11KB by Yuh-Rong Leu 
Applys arpeggio effect to chords. It can generate both ascending and descending arpeggios.
Arpeggio2.CAL 2KB by R. Salbeck 
Another arpegiator.
Bank_DOS.CAL 1KB author unknown 
This routine will insert a Bank Select combination into a selected track.
BankSel.CAL 1KB author unknown 
This routine will insert a Bank Select combination into a selected track.
BankSelP.CAL 1KB by Greg Hendershott 
This routine will insert a Bank Select combination into a selected track. This is for instruments which use a "two patch changes" method for selecting banks.
Cadences 4KB by Misu Rosenberg 
This is a group of scripts will generate cadences according to user's choice of ending tonality and notes.
CAL Arpeggio Generator 144KB by MOAX 
CAL Arpeggio generator will create CAL files that then can be used in Cakewalk. Based loosely on the Amiga Bars&Pipes Arpeggiator Tool.
CALContest.ZIP 41KB various artists 
A Collection of CAL files see readme.txt for more information.
CALPower.ZIP 43KB by Noel Borthwick 
A Collection of CAL files see readme.txt for more information.
Chan.CAL 1KB by Matt Boland 
This routine will take data with a channel attribute of 1 and change it to a user specified number.
Chords 16KB by Misu Rosenberg 
These 44 scripts will generate some of the chords known in modern music. Their purpose is to allow the user to work without leaving the music and looking for them in other places.
Cmprss.CAL 1KB by Garry Simmons 
This CAL script works like a compressor/gate.
ControlX.CAL 1KB by Sergio Blostein 
This program finds the extreme controllers in selected tracks.
Convert.CAL 1KB by D. Glen Cardenas 
This program allows you to convert an event type that you may have recorded at the keyboard or perhaps inserted into a sequence in some other manner, and then convert them into another type of event.
Counterpoint 10KB by Misu Rosenberg 
These scripts will generate diatonic counterpoint based on the user's selected notes and selected tonic.
Create Gate.CAL 1KB by Jonathan Baker 
This is a sample CAL program that changes notes into controller 7 values based on note velocity.
Cut_le.CAL 1KB by Randy Bertram 
Cuts the leading space before a song starts (if there is any).
CWPABACK.ZIP 8KB by Cakewalk 
In case you've lost our corrupted the CAL files included with Cakewalk Pro
Audio here's a back up.
CWPDBACK.ZIP 17KB by Greg Wells 
In case you've lost our corrupted the CAL files included with Cakewalk Pro Audio Deluxe here's a back up.
DEL_OCTV.CAL 1KB by James M. Johnson 
Deletes every other note (useful in removing octave doubling).
Double.CAL 1KB by Scott Michael Kemp 
This adds addition octaves above or below the selection of notes. An example of use would be to octave a string riff or bass line to make it thicker.
DrumRoll.CAL 2KB by Chris Smith 
Drum Roll simulator.
Dynamics.CAL 1KB by Sergio Blostein 
This program finds the extreme velocities in selected tracks.
ElimCont.CAL 1KB by Sergio Blostein 
This program removes the second of two equal controllers.
ElimDKey.CAL 1KB by Sergio Blostein 
This program removes the second of two note keys in the same musical time.
Exclusive Triads 10KB by Misu Rosenberg 
This group of scripts will generate exclusive (containing the 12 chromatic notes) three-part chords.
Fade_Dos.CAL 2KB by Matt Boland 
This routine will create a decrescendo into a single track, within the From and Thru times the user specifies.
Fade_Win.CAL 2KB by Matt Boland 
This routine will create a decrescendo into a single track, within the From and Thru times the user specifies.
FiboNote.CAL 1KB by J. Yang 
Creates a kind of Fibbonacci (?) sequence of the start times of notes.
Flipper.CAL 1KB by Sergio Blostein 
This program flips notes respect to an axis.
FromJump.CAL 1KB by Matt Boland 
A macro routine to automate the keystrokes F5, F9, Enter. This will basically put the user back to the From marker from anywhere in the piece. Very handy if bound to a computer keystroke combination.
GetLeg.CAL 1KB by Christopher Phillips 
Program to set the duration of each note to end 1 tick past the start of the next note.
GlisDown.CAL 2KB by Michael Blakeslee 
This routine supplies the notes for glissandos like those produced on a standard pedal harp.
GlissUp.CAL 2KB by Michael Blakeslee 
This routine supplies the notes for glissandos like those produced on a standard pedal harp.
Glitch.CAL 1KB by Matt Boland 
This script cuts out notes with duration of less than 10 clock ticks (based on a timebase of 120 ppq) this comes in handy to eliminate the glitches in an entire track, caused by guitar synthesizer pitch/midi conversion.
GM_2_Krz.CAL 2KB by Miguel Ratton 
This script transposes General MIDI Drum Set to Kurzweil K2000 5 octave map. Requires Cakewalk Professional or Cakewalk Pro Audio.
GM-Pro.CAL 2KB by Miguel Ratton 
This routine converts drum notes of a GM sequence to conform Proteus drum notes.
GuitLeg.CAL 2KB by Christopher Phillips 
This program massages MIDI guitar data for proper "slide" emulation.
Harmony 19KB by Misu Rosenberg 
These scripts will generate several kinds of harmony. There is an explanation to each program.
Human.CAL 1KB by Constantine Peters 
This routine was written to add a more human touch or swing to your sequences.
Insert64.CAL 1KB by Homero Lotito 
The program places a Controller 64 of value 0 at the end of a block in such a way that it insures no notes will overlap or sustain into the next appended block.
Kurz.CAL 1KB by Ashley Morris 
This CAL routine takes a Kurzweil patch number, and converts it to a MIDI Bank/Patch change number.
Legato.CAL 1KB by Sergio Blostein 
This program makes legato.
LimitVel.CAL 1KB by Sergio Blostein 
This program limits the note velocities.
MakeNote.CAL 1KB author unknown
A script to change all notes in region to a single note
Memory.CAL 1KB by Sergio Blostein 
This program counts the events in selected tracks.
MIDIThru.CAL 1KB by Matt Boland 
This is a MIDI Thru macro to set your Thru channel to manual mode. It will start at channel 1 and increment through all 16 channels. When the desired channel is set stop answering the prompts and your thru mode will be set to manual and mapping will be set to the channel
that was set by the last prompt answered.
NStat.CAL 2KB by Russ Keegstra 
Script to determine various stats for a track.
Nt_Range.CAL 2KB by Sergio Blostein 
This program finds the extreme notes in selected tracks.
Polytonality 7KB by Misu Rosenberg 
This group of scripts will generate polytonal chords according to Mr. Beachy's method.
Pro-GM.CAL 2KB by Miguel Ratton 
This routine converts drum notes of a Proteus sequence to conform to GM drum notes.
Progressions 19KB by Misu Rosenberg 
This collection of scripts will generate invertible dodecaphonic progressions according to Nicolas Slonimsky's "Thesaurus of Scales and Melodic Patterns".
ProQuant.CAL 2KB by Mark Donahoe 
Professional 'smart' quantization with swing.
Pss2GM.CAL 3KB by Robert C. Nupp 
CAL program to convert Yamaha PSS-480 drum keys to General MIDI for all selected notes then break into separate tracks by channel then finally convert old patch values to new GM patch values.
Quatro.CAL 1KB by Sergio Blostein 
With this program you can use microtonal scales in modules key-aftertouch sensitives.
R8CALS.ZIP 4KB author unknown 
A collection of CAL routines to run the Fostex R8.
Rebender.CAL 1KB by D. Glen Cardenas 
This program will scale the pitch bend from a known bend depth to any other bend depth within the range of +/- 2 to 24 semitones.
Remove_all_controllers.CAL 2KB by Michael Nickolas 
Down and dirty - Removes all controller data from a file.
Remove controllers from a specific track.CAL 2KB by Michael Nickolas 
Removes all controller data from specified track.
Reset.CAL 1KB by Matt Boland 
This CAL routine will reset the Replace screen of the Edit/Interpolate function and after doing this, recall it. Now, for the price of one "Hot Key", the user can call up Edit/Interpolate the way they like it.
RhythmChanges.CAL 2KB by Peter Aschbacher 
This script will change the rhythm of a monophonic melody using a special serial algorithm, which shifts the lengths of notes with different lengths.
RndaVel.CAL 2KB by J. Yang 
This script adds a random value to velocity.
RndPatch.CAL 2KB by J. Yang 
This script inserts a given patch change to note events with a velocity >= a given value.
Root6Gtr.CAL 1KB author unknown 
Treats each note as the root of a major chord, and creates that chord.
RX5-U20.CAL 1KB by Sergio Blostein 
This program swaps note mappings of two drumkits.
SetVeloc.CAL 1KB by Sergio Blostein 
This program sets the velocity to a random value.
Sinus.CAL 2KB by Helmut Eberhart 
This program delivers a sine wave (of any controller value) with a wavelength possibly down to 1 beat per wave = 120 values.
SlidLast.CAL 1KB by Matt Boland 
See script comments for more information
Slur.CAL 2KB Michael Blakeslee 
This CAL routine produced slurred groups of notes--melodic segments that do not have a new attack for each pitch--by replacing note events with pitch-wheel events.
SmrtSwing.CAL 1KB Sergio Blostein 
This program makes smart swing.
Statistc.CAL 1KB Sergio Blostein 
This program counts the events by type in selected tracks.
Streggio.CAL 2KB by Joseph Mueller 
This script searches the selected area of a track, and when it encounters a chord, it offsets the starting times of the notes in the chord to give a strumming or arpeggio effect.
SwingPer.CAL 2KB by Michael Daniels 
This script is for or adding 'swing' to 8th notes in any timebase.
TempoDDL.CAL 1KB Jose L. Perez 
Given a tempo value, computes delay(1,1/2,1/4) between beats.
TG33bank.CAL 2KB by David Weatherall & Gabi Heigl 
Sends Bank/Patch Select Message to a Yamaha TG-33.
ThruJump.CAL 1KB by Matt Boland 
A macro routine to automate the keystroles F5, F10, Enter. This will basically put the user at the Thru marker from anywhere in the piece. Very handy if bound to a computer keystroke combination.
ToneRow.CAL 31KB by Robert Falesch 
This collection of scripts will take your pitch-set and convert it to an inversion, a retrograde, a retrograde-inversion, or a transposition of the prime
form in your track.
TransFrm.CAL 2KB by Dennis Drew 
Use this script on a single line of music to generate a harmony part or new melody line. Put an entire piece of music through at once and the conversion will create a new song.
The new song will be a musical variation that's often in the same style. It creates free music for you and gives you unexpected new ideas.
Transpose 8KB by Misu Rosenberg 
This group of scripts will corect the pitches of the selected notes to those of a chosen scale.
Transpose-Exotic 6KB by Misu Rosenberg 
This group of scripts will corect the pitches of the selected notes to those of a chosen scale.
Transpose-Other 7KB by Misu Rosenberg 
This group of scripts will corect the pitches of the selected notes to those of a chosen scale.
Trim.CAL 1KB by Homero Lotito 
This routine will trim off any overlapping notes at the end of the From/Thru edit region. It will not cut them out but rather adjust the note to make it durate to the end of the region.
Twang.CAL 1KB by Tony Roberts 
Modifies pitch attack - useful to simulate small plucked string instruments like Ukelele.
U20-RX5.CAL 1KB by Sergio Blostein 
This program swaps note mappings of two drumkits.
Undupe.CAL 1KB maybe by Miguel Ratton 
Remove duplicated events.
VaryDur.CAL1KB author
unknown
Randomly change durations.
VelPct.CAL1KB author unknown
This is a sample CAL program that implements an editing command to scale note
velocities by a certain percentage.
VelScale.CAL1KB by Ray Kinzler 
Scale note velocities.
VelUtils.ZIP 3KB by James M. Johnson 
A collection of velocity utilities.
VoluArc.CAL 1KB by Joshua Yang 
This script adds volume swells
Wheel.ZIP 9KB by Gerrit Davidse 
A utility intended to create precise sine shaped Pitch Wheel events in Cakewalk. See the readme for more information.
XForm.ZIP 2KB author unknown 
Change Note events to Controllers. See Calevent.txt for more information.
Xpndcm.ZIP 2KB by James M. Johnson 
This CAL program expands and compresses note velocities toward the value of 63, thereby expanding and compressing the dynamic range of the selected track(s).
Last Updated: June 18, 2000
send comments
|