HEXACHORD
Music Web Design Resources Contact
 

What is CAL?Buy Cakewalk Power!

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. Buy SONAR Power!

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. Buy SONAR Quick Start Guide/CD-ROM!
Cakewalk Lars Ahlzén's CAL Page
Cakewalk User's Guild MIDI Mighty Skills
CAL Archive@colorado.edu Programs and Macros for Cakewalk
John S. Allen's Music Site

Learn CAL

Here are some sites that have information that will help you learn how to use CAL.
How can I learn to use CAL? eMusician Article Archives
Cakewalk CAL Newsgroup Expanded information for Cakewalk CAL programmers!
CAL Tutorial Project Examples using the CAL DLL command

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