Cakewalk CAL Template Changes MIDI Note Numbers
by Tony Decap (001107 MMD)

In response to Craig Smith's request for help I include an empty CAL template that can be easily adapted to change any one scale to an other.  Some explanation is included.  If needed, I can provide any CAL program.

As CAL is limited, not all edits imaginable are possible.  That's why I am now working on MIDI-FX, a feature in Cakewalk (that is supposed to work on other music programs if supported) that has many more possibilities, including non-destructive (real-time) editing.  This means that the MIDI track is processed in real-time before output, so that you can hear the result without changing the actual track.  Changing the actual track can then be done at any time by pressing a button.

This is, for example, very handy if you want to work in real-time on an organ that has a drum set.  These notes must be forwarded in time.  So you can put them on the exact musical spot, and the MIDI-FX will offset the timing for you in real time.

Best regards,

Tony Decap
Herentals, Belgium
Date: Tue, 7 Nov 2000 15:10:42 +0100



;Leeg template CAL programma om noot nummers te veranderen.
;Empty template CAL for changing note numbers.

;Zet een ..... om naar een ..... (vul in)
;Changes a .....key to a .....key organ (fill in)

;Hoe dit Cal programma invullen?:
;Het eerste cijfer in elke zin is de noot die veranderd zal worden
;Op het einde van elke zin, net VOOR het sluitend haakje, vul je de
;noot in welke het moet worden. Voorbeeld:
;				18	(= Note.Key 115)
;Dit wil zeggen dat noot 18 veranderd wordt in noot 115.
;Als nu bv. noot 18 weg moet in plaats van een andere noot te worden,
;doe je het volgende:
;				18	(delete)
;(delete) wil zeggen verwijderen in het Engels.
;Denk eraan dat in computer de eerste noot 0 (nul) genoemd wordt.
;Dus de eerste noot (het dichtst tegen de giet) is noot 0.
;De tweede noot is noot 1, enz.
;Van de noten waarmee niets gebeuren moet, MOET je de hele zin verwijderen.

;How to use this CAL program?:
;The first digits in the sentence is the note that you want to change
;On the end of the sentence, just BEFORE the closing bracket, you must input
;the note # to which you want to change the note. Example:
;			18	(= Note.Key 115)
;This means that note # 18 is changed to note # 115
;If a note must be deleted in stead of changed, do the following:
;				18	(delete)
;You can insert extra notes if needed. Contact me at decap@ping.be for help if needed.
;DON'T LEAVE ANY LINE THAT HAS NO PURPOSE, AS AN ERROR WILL OCCUR. REMOVE LINES NOT USED.

;Best regards, Tony Decap.

; prolog
(do
	(= From 0)
	(= Thru End)
)
; body
(do
	(if (== Event.Kind NOTE)
		(do
			(switch Note.Key
				0		(= Note.Key )
				1		(= Note.Key )
				2		(= Note.Key )
				3		(= Note.Key )
				4		(= Note.Key )
				5		(= Note.Key )
				6		(= Note.Key )
				7		(= Note.Key )
				8		(= Note.Key )
				9		(= Note.Key )
				10	(= Note.Key )
				11	(= Note.Key )
				12	(= Note.Key )
				13	(= Note.Key )
				14	(= Note.Key )
				15	(= Note.Key )
				16	(= Note.Key )
				17	(= Note.Key )
				18	(= Note.Key )
				19	(= Note.Key )
				20	(= Note.Key )
				21	(= Note.Key )
				22	(= Note.Key )
				23	(= Note.Key )
				24	(= Note.Key )
				25	(= Note.Key )
				26	(= Note.Key )
				27	(= Note.Key )
				28	(= Note.Key )
				29	(= Note.Key )
				30	(= Note.Key )
				31	(= Note.Key )
				32	(= Note.Key )
				33	(= Note.Key )
				34	(= Note.Key )
				35	(= Note.Key )
				36	(= Note.Key )
				37	(= Note.Key )
				38	(= Note.Key )
				39	(= Note.Key )
				40	(= Note.Key )
				41	(= Note.Key )
				42	(= Note.Key )
				43	(= Note.Key )
				44	(= Note.Key )
				45	(= Note.Key )
				46	(= Note.Key )
				47	(= Note.Key )
				48	(= Note.Key )
				49	(= Note.Key )
				50	(= Note.Key )
				51	(= Note.Key )
				52	(= Note.Key )
				53	(= Note.Key )
				54	(= Note.Key )
				55	(= Note.Key )
				56	(= Note.Key )
				57	(= Note.Key )
				58	(= Note.Key )
				59	(= Note.Key )
				60	(= Note.Key )
				61	(= Note.Key )
				62	(= Note.Key )
				63	(= Note.Key )
				64	(= Note.Key )
				65	(= Note.Key )
				66	(= Note.Key )
				67	(= Note.Key )
				68	(= Note.Key )
				69	(= Note.Key )
				70	(= Note.Key )
				71	(= Note.Key )
				72	(= Note.Key )
				73	(= Note.Key )
				74	(= Note.Key )
				75	(= Note.Key )
				76	(= Note.Key )
				77	(= Note.Key )
				78	(= Note.Key )
				79	(= Note.Key )
				80	(= Note.Key )
				81	(= Note.Key )
				82	(= Note.Key )
				83	(= Note.Key )
				84	(= Note.Key )
				85	(= Note.Key )
				86	(= Note.Key )
				87	(= Note.Key )
				88	(= Note.Key )
				89	(= Note.Key )
				90	(= Note.Key )
				91	(= Note.Key )
				92	(= Note.Key )
				93	(= Note.Key )
				94	(= Note.Key )
				95	(= Note.Key )
				96	(= Note.Key )
				97	(= Note.Key )
				98	(= Note.Key )
				99	(= Note.Key )
				100	(= Note.Key )
				101	(= Note.Key )
				102	(= Note.Key )
				103	(= Note.Key )
				104	(= Note.Key )
				105	(= Note.Key )
				106	(= Note.Key )
				107	(= Note.Key )
				108	(= Note.Key )
				109	(= Note.Key )
				110	(= Note.Key )
				111	(= Note.Key )
				112	(= Note.Key )
				113	(= Note.Key )
				114	(= Note.Key )
				115	(= Note.Key )
				116	(= Note.Key )
				117	(= Note.Key )
				118	(= Note.Key )
				119	(= Note.Key )
				120	(= Note.Key )
				121	(= Note.Key )
				122	(= Note.Key )
				123	(= Note.Key )
				124	(= Note.Key )
				125	(= Note.Key )
				126	(= Note.Key )
				127	(= Note.Key )
			)
		)
		NIL
	)
)

; epilog
NIL


08 November 2000, 10 November 2000