| Author |
Message |
Dovdimus Prime

Joined: Jul 26, 2004 Posts: 664 Location: Bristol, UK
Audio files: 6
|
Posted: Thu Oct 14, 2004 8:29 am Post subject:
Do you know CAL? |
 |
|
Hi all
Can anyone here program CAL, the application language for Cakewalk? I would like to use it to select sections of a piece and apply transformations, e.g. flattening the 7th or whatever. Can it be used for this sort of thing? I just don't want to learn it if it can't do this sort of thing.
Thanks
Dovder _________________ This message was brought to you from Beyond The Grave. |
|
|
Back to top
|
|
 |
mosc
Site Admin

Joined: Jan 31, 2003 Posts: 18523 Location: Durham, NC
Audio files: 266
G2 patch files: 60
|
|
|
Back to top
|
|
 |
Dovdimus Prime

Joined: Jul 26, 2004 Posts: 664 Location: Bristol, UK
Audio files: 6
|
Posted: Thu Oct 14, 2004 2:25 pm Post subject:
|
 |
|
| mosc wrote: | | Use the search function. |
Err, Christ, that looks pretty complicated. Can you search for, say, any Bs, and then change them to Bflat instead? Still, that's still not quite as easy as having a function where you can change music in any scale straight into music in any other scale.
Might have to hit Bachus up and see if he knows if it can be done... _________________ This message was brought to you from Beyond The Grave. |
|
|
Back to top
|
|
 |
bachus

Joined: Feb 29, 2004 Posts: 2924 Location: Up in that tree over there.
Audio files: 5
|
Posted: Thu Oct 14, 2004 3:14 pm Post subject:
|
 |
|
| Dovdimus Prime wrote: | | mosc wrote: | | Use the search function. |
Err, Christ, that looks pretty complicated. Can you search for, say, any Bs, and then change them to Bflat instead? Still, that's still not quite as easy as having a function where you can change music in any scale straight into music in any other scale.
Might have to hit Bachus up and see if he knows if it can be done... |
Sure, CAL could do any of that. I would be surprised if there is not already a CAL routine, somewhere, that will transpose for you. Try some searching on the web. It's a lot more fun to download CAL than to write it  _________________ The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham |
|
|
Back to top
|
|
 |
bachus

Joined: Feb 29, 2004 Posts: 2924 Location: Up in that tree over there.
Audio files: 5
|
Posted: Thu Oct 14, 2004 3:20 pm Post subject:
|
 |
|
Um... what do you want to do that SONAR's builtin transpose function won't already do? _________________ The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham |
|
|
Back to top
|
|
 |
Dovdimus Prime

Joined: Jul 26, 2004 Posts: 664 Location: Bristol, UK
Audio files: 6
|
Posted: Fri Oct 15, 2004 1:04 am Post subject:
|
 |
|
Hi Bachus
I use Cakewalk 9 rather than one of the Sonar series, so it's possible that the Transpose fucntion doesn't do the same stuff. If memory serves, the Transpose function on the Edit menu does just that - transpose the selection up or down a specified number of semitones. I'll have to look into it. If you can do these kinds of transformations in CAL I think it's worth me learning how to do it, cos I'm always messing around with that sort of thing. I'm halfway nifty in other languages so it shouldn't be too hard, provided I can find a decent tutorial.
Which is what I was going to ask you. Do you know of a decent web resource for learning it? I had a look a couple of months ago and didn't find much, including on the Cakewalk website.
Just an aside. I was talking to my friend Chapman last night who is a computer programmer. I mentioned to him about CAL and that it is a cross between C and LISP and he instantly replied "Why don't they call it 'thee'?"
He's such a wag!  _________________ This message was brought to you from Beyond The Grave. |
|
|
Back to top
|
|
 |
bachus

Joined: Feb 29, 2004 Posts: 2924 Location: Up in that tree over there.
Audio files: 5
|
Posted: Fri Oct 15, 2004 4:36 am Post subject:
|
 |
|
| Dovdimus Prime wrote: | Hi Bachus
Which is what I was going to ask you. Do you know of a decent web resource for learning it? I had a look a couple of months ago and didn't find much, including on the Cakewalk website. |
No, sorry to say, I don't know of any tutorials. I had written many thousands of lines in C and Common Lisp when I started so I had no problems with it, other than its limitations. Must say I don’t see much relation between it and C. A tutorial on lisp or scheme might help you if you are not familiar with this class of languages. But CAL is at best the paraplegic brother of these. _________________ The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham |
|
|
Back to top
|
|
 |
Dovdimus Prime

Joined: Jul 26, 2004 Posts: 664 Location: Bristol, UK
Audio files: 6
|
Posted: Fri Oct 15, 2004 6:24 am Post subject:
|
 |
|
It's cool, I've found a really good tutorial pdf written by a cheery Dutch chap. Nice one, cheery Dutch chap!
Boy, this looks like one cack language! Bizarre syntax, limited flexibility, arbitrary changes between versions. What a joy!
Think I've got far enough to have a stab at implementing the sort of functions I want to write though. Although the codec will be quite tricky... _________________ This message was brought to you from Beyond The Grave. |
|
|
Back to top
|
|
 |
Dovdimus Prime

Joined: Jul 26, 2004 Posts: 664 Location: Bristol, UK
Audio files: 6
|
Posted: Sat Oct 16, 2004 2:55 am Post subject:
|
 |
|
Hmmm. I really want to be able to input scales to my function as patterns of intervals, e.g.
101011010101 = ionian
But CAL doesn't do binary variables, and doesn't have any data types big enough to store 12 digit denary numbers!!
I get the impression from the tutorial I read that frustration is a constant companion of the CAL programmer. _________________ This message was brought to you from Beyond The Grave. |
|
|
Back to top
|
|
 |
bachus

Joined: Feb 29, 2004 Posts: 2924 Location: Up in that tree over there.
Audio files: 5
|
Posted: Sat Oct 16, 2004 3:44 am Post subject:
|
 |
|
| Dovdimus Prime wrote: | | I get the impression from the tutorial I read that frustration is a constant companion of the CAL programmer. |
Yea, My routines relied heavily on floating point ops and it has only integer arithmetic. So.... you learn to be clever and exercise your vocabulary of curse words. _________________ The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham |
|
|
Back to top
|
|
 |
mosc
Site Admin

Joined: Jan 31, 2003 Posts: 18523 Location: Durham, NC
Audio files: 266
G2 patch files: 60
|
Posted: Sat Oct 16, 2004 6:50 am Post subject:
|
 |
|
Errr. Hmmm. I haven't used CAL nor do I expect to, but Dovster, if you're just getting started with this, you might take a look at Keykit by our own TJT. It is a great language for doing manipulations on MIDI information. If you want to do things like transpose, invert, and rescaling it's a natural. Keykit is suitable for realtime MIDI processing too.
Keykit was written for algorithmic composition. It is more like C than LISP (fortunately IMHO). Actually, it's more like AWK. It has built in constructs for notes and phrases, The language is very well documented, there are superb tutorials, and there is an email list for support. I've used keykit for years and it is a thing of beauty.
Tim started working on that when he was at Bell Labs, which is known for the C, C++, and AWK languages. I think I'd put Keykit in that list as well, but it's not that well know because of its specialized target application - MIDI music.
It is free too. See: http://nosuch.com/keykit/
I thought I heard that the Cakewalk people are not going to continue with support of CAL. Anywho, if you are going to spend time learing something, you might as well learn something cool and imaginative, not something where you have to expand your vocabulary for more curse words.
Just my opinion, of course. _________________ --Howard
my music and other stuff |
|
|
Back to top
|
|
 |
diskonext

Joined: Aug 26, 2004 Posts: 306 Location: London, UK
|
Posted: Sun Oct 17, 2004 4:22 am Post subject:
|
 |
|
Hmmm,
keykit sounds... interesting. Thanks for that link, checking it out!
For MIDI-mangling you could use PD (pure data) as well, the open-source version of Max/MSP.
Of course, both these methods would force you to play a track in your sequencer, filter it through one of these programs and record to a new track, but they work
If you go the PD route I can hook you up with some examples real quick.
-diskonext _________________ :wq |
|
|
Back to top
|
|
 |
mosc
Site Admin

Joined: Jan 31, 2003 Posts: 18523 Location: Durham, NC
Audio files: 266
G2 patch files: 60
|
Posted: Sun Oct 17, 2004 8:22 am Post subject:
|
 |
|
CAL is dependent on prerecorded MIDI, but Keykit can process the MIDI on the fly in real time. I guess PD would be able to do that as well. In Keykit here is even a nice MIDI echo tool that Tim wrote to some design requests by me. It's great for realtime playing. I don't use it much anymore because I can use the G2 to do those things now. _________________ --Howard
my music and other stuff |
|
|
Back to top
|
|
 |
diskonext

Joined: Aug 26, 2004 Posts: 306 Location: London, UK
|
Posted: Sun Oct 17, 2004 11:03 am Post subject:
|
 |
|
Ahem,
and I just found out Jan has written a beatiful tool to do MIDI-mangling and generation:
midimod
http://www.iaf.nl/Users/BlueHell/ goto: Software->MidiMod
Way to go, Jan!
-diskonext _________________ :wq |
|
|
Back to top
|
|
 |
blue hell
Former site admin

Joined: Apr 03, 2004 Posts: 24864 Location: The Netherlands, Enschede
Audio files: 353
G2 patch files: 320
|
Posted: Sun Oct 17, 2004 11:19 am Post subject:
|
 |
|
| diskonext wrote: | Ahem,
and I just found out Jan has written a beatiful tool to do MIDI-mangling and generation:
midimod
|
... ehm ... a sin of youth lets say ... it needs a lot of work to make it ok ... I even managed to mess up the source code for it. A _long_ way to go :-)
If only there could be just a few more hours in a day (without selling my soul for it) ...
Jan. |
|
|
Back to top
|
|
 |
|