From bil at ccrma.Stanford.EDU Fri May 1 03:34:23 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Fri, 1 May 2009 03:34:23 -0700 Subject: [CM] [newbie] Is CLM the right tool for me? In-Reply-To: <96E76E33-3E92-4041-A284-569199D123DE@uiuc.edu> References: <49F8ABE7.9030506@laposte.net> <0A8BB10A-1445-46BE-B945-8FF713BB477C@uiuc.edu> <20090430171137.M30400@ccrma.Stanford.EDU> <96E76E33-3E92-4041-A284-569199D123DE@uiuc.edu> Message-ID: <20090501103303.M87182@ccrma.Stanford.EDU> > would it be possible to have a way to convert a > (define-instrument ...) into .C source code string? If you look at the benchmarks in README.clm, you can see that the translation to C only speeds up with-sound by (at best) a factor of 2 or 3; in some cases, there's nothing to choose between them. Given with-threaded-sound, you can immediately get a factor of 2 or 4 from Scheme, so I think the two versions are already comparable. Also, it's very misleading to say that you can take the C code, plug it into sndlib, and run a note list or whatever; if you look at run.lisp, you'll see that much of the code is predigesting the instrument parameters and whatever the outer "let" produces into something that the C side can handle. Your FFI would either have to handle hundreds of arguments, or use the opaque and hard to debug parallel arrays that CL-CLM uses. Once you have that C code, you have an astronomical maintenance and debugging burden. You'd spend far more time fussing with your instrument in C than you could ever spend waiting for with-sound in Scheme. I think a better path would be to try to improve the Scheme run macro; it could probably be sped up, and it certainly could be extended to handle more of Scheme. I have always felt that the CL/CLM C translation was a horrible disaster, forced on me by the inadequate Lisps and FFI's of the late 80's, and that if I were to do the CL side again, I'd simply use sndlib's run.c. From bil at ccrma.Stanford.EDU Fri May 1 04:39:37 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Fri, 1 May 2009 04:39:37 -0700 Subject: [CM] [newbie] Is CLM the right tool for me? In-Reply-To: <96E76E33-3E92-4041-A284-569199D123DE@uiuc.edu> References: <49F8ABE7.9030506@laposte.net> <0A8BB10A-1445-46BE-B945-8FF713BB477C@uiuc.edu> <20090430171137.M30400@ccrma.Stanford.EDU> <96E76E33-3E92-4041-A284-569199D123DE@uiuc.edu> Message-ID: <20090501113912.M17325@ccrma.Stanford.EDU> I changed piano.scm to use defgenerator, so it's now about 25 times faster. From taube at uiuc.edu Fri May 1 06:29:33 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Fri, 1 May 2009 08:29:33 -0500 Subject: [CM] [newbie] Is CLM the right tool for me? In-Reply-To: <20090501103303.M87182@ccrma.Stanford.EDU> References: <49F8ABE7.9030506@laposte.net> <0A8BB10A-1445-46BE-B945-8FF713BB477C@uiuc.edu> <20090430171137.M30400@ccrma.Stanford.EDU> <96E76E33-3E92-4041-A284-569199D123DE@uiuc.edu> <20090501103303.M87182@ccrma.Stanford.EDU> Message-ID: <21FF294B-7585-4D82-8DBB-F2F4151B25C3@uiuc.edu> i wasnt even aware of with-threaded-sound in sndlib! ill check it out this weekend. > between them. Given with-threaded-sound, you can immediately > get a factor of 2 or 4 from Scheme, so I think the two versions > are already comparable. From rdlatimer at tjhsst.edu Fri May 1 07:34:39 2009 From: rdlatimer at tjhsst.edu (Randolph Latimer) Date: Fri, 01 May 2009 10:34:39 -0400 Subject: [CM] =?utf-8?q?=5Bnewbie=5D_Is_CLM_the_right_tool_for_me=3F?= In-Reply-To: <21FF294B-7585-4D82-8DBB-F2F4151B25C3@uiuc.edu> References: <49F8ABE7.9030506@laposte.net> <0A8BB10A-1445-46BE-B945-8FF713BB477C@uiuc.edu> <20090430171137.M30400@ccrma.Stanford.EDU> <96E76E33-3E92-4041-A284-569199D123DE@uiuc.edu> <20090501103303.M87182@ccrma.Stanford.EDU> <21FF294B-7585-4D82-8DBB-F2F4151B25C3@uiuc.edu> Message-ID: <964ec0f3c7a7167d22a9ec785e7182a6@tjhsst.edu> This is a good discussion for new people starting with clm, thanks. I just installed on Windows. I ordered Heinrich's text from Amazon, Notes from the Metalevel. Hopefully this will have some example programs to get started with clm Randy Latimer On Fri, 1 May 2009 08:29:33 -0500, Heinrich Taube wrote: > i wasnt even aware of with-threaded-sound in sndlib! ill check it > out this weekend. > >> between them. Given with-threaded-sound, you can immediately >> get a factor of 2 or 4 from Scheme, so I think the two versions >> are already comparable. > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From taube at uiuc.edu Fri May 1 08:18:38 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Fri, 1 May 2009 10:18:38 -0500 Subject: [CM] [newbie] Is CLM the right tool for me? In-Reply-To: <20090501103303.M87182@ccrma.Stanford.EDU> References: <49F8ABE7.9030506@laposte.net> <0A8BB10A-1445-46BE-B945-8FF713BB477C@uiuc.edu> <20090430171137.M30400@ccrma.Stanford.EDU> <96E76E33-3E92-4041-A284-569199D123DE@uiuc.edu> <20090501103303.M87182@ccrma.Stanford.EDU> Message-ID: <7622F9DB-6C3E-4745-972E-C8D075AF8444@uiuc.edu> bil i see with-threaded-sound mentioned in s7.h but i dont see it anywhere in sndlib-ws.scm or s7.c -- is this something that is snd only ? On May 1, 2009, at 5:34 AM, Bill Schottstaedt wrote: > Given with-threaded-sound, you can immediately > get a factor of 2 or 4 from Scheme, From bil at ccrma.Stanford.EDU Fri May 1 09:47:13 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Fri, 1 May 2009 09:47:13 -0700 Subject: [CM] [newbie] Is CLM the right tool for me? In-Reply-To: <7622F9DB-6C3E-4745-972E-C8D075AF8444@uiuc.edu> References: <49F8ABE7.9030506@laposte.net> <0A8BB10A-1445-46BE-B945-8FF713BB477C@uiuc.edu> <20090430171137.M30400@ccrma.Stanford.EDU> <96E76E33-3E92-4041-A284-569199D123DE@uiuc.edu> <20090501103303.M87182@ccrma.Stanford.EDU> <7622F9DB-6C3E-4745-972E-C8D075AF8444@uiuc.edu> Message-ID: <20090501164645.M62102@ccrma.Stanford.EDU> I just added it to sndlib-ws.scm, but haven't tried to use it. From taube at uiuc.edu Sat May 2 06:02:07 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Sat, 2 May 2009 08:02:07 -0500 Subject: [CM] [newbie] Is CLM the right tool for me? In-Reply-To: <20090501164645.M62102@ccrma.Stanford.EDU> References: <49F8ABE7.9030506@laposte.net> <0A8BB10A-1445-46BE-B945-8FF713BB477C@uiuc.edu> <20090430171137.M30400@ccrma.Stanford.EDU> <96E76E33-3E92-4041-A284-569199D123DE@uiuc.edu> <20090501103303.M87182@ccrma.Stanford.EDU> <7622F9DB-6C3E-4745-972E-C8D075AF8444@uiuc.edu> <20090501164645.M62102@ccrma.Stanford.EDU> Message-ID: <1465C35D-A5C6-40DA-832C-5A7952A56F61@uiuc.edu> > I just added it to sndlib-ws.scm, but haven't tried to use it. ok the new piano.scm is much faster! (3.6 sec vs 28 sec) threaded-with-sound works in sndlib and even with so few notes in the example its still a tiny bit faster than that (3.4) . ill try longer examples today where presumably the parallel notes will have more effect clm-3 is still faster than either at 1.1 sec. i dont know what the 3x speed up is due to, its not a big deal in this case, but when compute times start going into minutes while working on sections this adds up! ---------------------------------------------------------------- sndlib cm> (with-sound(:statistics #t) (fm-violin 0 3 (hz 'ef6) .2 :gliss-env '(0 0 .25 0 1 1) :glissando- amount .5) (p 1 :duration 2 :keyNum (key 'c4)) (p 2 :duration .25 :keyNum (key 'd6)) (p 2.666 :duration .333 :keyNum (key 'e2)) ) ;test.wav: maxamp: 1.0460 0.5094 compute time: 3.692 "test.wav" ---------------------------------------------------------------- sndlib/threaded cm> (with-threaded-sound(:statistics #t) (fm-violin 0 3 (hz 'ef6) .2 :gliss-env '(0 0 .25 0 1 1) :glissando- amount .5) (p 1 :duration 2 :keyNum (key 'c4)) (p 2 :duration .25 :keyNum (key 'd6)) (p 2.666 :duration .333 :keyNum (key 'e2)) ) ;test.wav: maxamp: 1.0383 0.4875 compute time: 3.408 "test.wav" ---------------------------------------------------------------- clm-3/sbcl * (with-sound(:statistics #t) (fm-violin 0 3 (hertz 'ef6) .2 :gliss-env '(0 0 .25 0 1 1) :glissando-amount .5) (p 1 :duration 2 :keyNum (keynum 'c4)) (p 2 :duration .25 :keyNum (keynum 'd6)) (p 2.666 :duration .333 :keyNum (keynum 'e2)) ) test.aiff: Duration: 3.7500, Last begin time: 2.6660 Compute time: 1.129, Compute ratio: 0.30 OutA max amp: 0.552 (near 2.045 secs) "test.aiff" From tbaruchel at laposte.net Sat May 2 08:23:07 2009 From: tbaruchel at laposte.net (Thomas Baruchel) Date: Sat, 2 May 2009 15:23:07 +0000 Subject: [CM] [newbie] Is CLM the right tool for me? In-Reply-To: <1465C35D-A5C6-40DA-832C-5A7952A56F61@uiuc.edu> Message-ID: <49fc655b55801_1a6e3f840d8a1fd089a5@app01.zenbe.com.tmail> On Sat, May 2, 2009 at 3:02 PM "Heinrich Taube" wrote: > > I just added it to sndlib-ws.scm, but haven't tried to use it. > ok the new piano.scm is much faster! (3.6 sec vs 28 sec) Please, could you explain more precisely what I have to do (as a very newbie) in order to use this new version. I browsed the CVS and got two files: piano.scm and sndlib-ws.scm Since the CVS website was saying they had been updated 23 hours ago I think they are the files we are speaking about. Then I replaced the two files in my /usr/local/share/snd/ directory. Then I typed: snd -l test.scm with test.scm being something like: (load-from-path "piano.scm") (load-from-path "v.scm") (with-sound () (p 0 :duration 2 :keyNum 62) etc. ) but I noticed absolutely no difference. I have a guile-based no-gui version of sound, but I can compile another version with s7 if needed. Anyway, since you are all speaking about sndlib, I assume that I have something else to do, but what? I tried to put (load-from-path "sndlib-ws.scm") at the beginning of my file but nothing changed. Best regards, -- Thomas Baruchel From bil at ccrma.Stanford.EDU Sat May 2 10:19:50 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Sat, 2 May 2009 10:19:50 -0700 Subject: [CM] [newbie] Is CLM the right tool for me? In-Reply-To: <49fc655b55801_1a6e3f840d8a1fd089a5@app01.zenbe.com.tmail> References: <1465C35D-A5C6-40DA-832C-5A7952A56F61@uiuc.edu> <49fc655b55801_1a6e3f840d8a1fd089a5@app01.zenbe.com.tmail> Message-ID: <20090502171903.M55647@ccrma.Stanford.EDU> > but nothing changed. My guess is that you don't have the run optimization turned on -- it's off by default. (set! (optimization) 6) From baruchel at zenbe.com Sat May 2 13:42:14 2009 From: baruchel at zenbe.com (Thomas Baruchel) Date: Sat, 2 May 2009 20:42:14 +0000 Subject: [CM] Using sndlib Message-ID: <49fcb02685437_14093f9d0e4c6fb8385e@app01.zenbe.com.tmail> Hi, I finally understood that what I want is probably "using sndlib from guile (or S7)" rather than "using SND". OK, but there is not many informations about that. Here is what I did (and it does'nt work!) I tell exactly what I do in order to let you see what is wrong. I use Linux Ubuntu 8.04 I have several versions of Guile. I think that the software gets linked to libguile.so.17.1.1 but the error does not seem to be related to that fact. Download the tar.gz Uncompress it. Go in the directory of the archive Type the following things: ./configure --with-alsa --with-jack --with-guile --with-gnu-ld make sudo make install (and type my password ;-) ) guile (define lib (dynamic-link "/usr/local/lib/libsndlib.so")) (dynamic-call "mus_sndlib_xen_initialize" lib) (load "sndlib-ws.scm") I get the following error: Backtrace: In unknown file: ?: 0* [primitive-load "sndlib-ws.scm"] In sndlib-ws.scm: 18: 1* (define *clm-locsig-type* mus-interp-linear) sndlib-ws.scm:18:1: In expression (define *clm-locsig-type* mus-interp-linear): sndlib-ws.scm:18:1: Unbound variable: mus-interp-linear ABORT: (unbound-variable) If it is better to use S7, why not, but HOW will I use sndlib from S7 (I found no documentation at all on that topic)? Best regards, -- Thomas Baruchel From bil at ccrma.Stanford.EDU Sat May 2 15:03:52 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Sat, 2 May 2009 15:03:52 -0700 Subject: [CM] Using sndlib In-Reply-To: <49fcb02685437_14093f9d0e4c6fb8385e@app01.zenbe.com.tmail> References: <49fcb02685437_14093f9d0e4c6fb8385e@app01.zenbe.com.tmail> Message-ID: <20090502220204.M14295@ccrma.Stanford.EDU> > (dynamic-call "mus_sndlib_xen_initialize" lib) You want to call Init_sndlib, not this function. From taube at uiuc.edu Sun May 3 07:50:07 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Sun, 3 May 2009 09:50:07 -0500 Subject: [CM] tests Message-ID: ok i ran a few timing experiments between clm-3 and sndlib using cases of a few long notes and lots of short notes-- it seems that maybe any slowness in sndlib instrumts had more to do with the way the instrument is defined than anything else? when i tried 400 short notes using v.ins the two systems were almost equivalent, with-sound seems just as fast as with-threaded-sound in all cases (which might mean im not tweeiking the threading correctly im using default values on a mac intel core duo) here is the 400 note comparison clm-3/sndlib using v.ins which is great (load "env") (load "v") (with-sound (:output "/tmp/morph.wav" :srate 44100 :channels 2 :statistics #t) (let ((amp-env '(0 0 2 .5 3 .9 5 .6 75 .2 100 0)) (spike-env '(0 .01 .2 .02 .3 .05 .35 .09 .4 .1 .425 .15 .45 .2 .5 2.5 .55 .2 .575 .15 .6 .1 .65 .09 .7 .05 .8 .02 1. .01)) (trough-env '(0 9 .2 8 .3 5 .35 4 .45 0 .5 0 .65 4 .96 8 1 9)) (notes '(261.62 261.62 261.62 277.18 293.66 311.12 311.12 311.12 329.62 329.62 329.62 349.22 369.99 391.99 391.99 391.99 415.30 440.0 466.16 493.88 523.25 523.25 523.25)) ) (do ((len 400) (amp .2) (now 0 (+ now .1)) (l (length notes)) (n 0 (+ n 1))) ((= n len) ) (fm-violin now (envelope-interp (/ n len) spike-env) (list-ref notes (random l)) amp :amp-env amp-env :reverb-amount .1 :fm-index (envelope-interp (/ n len) trough-env) ))) ) CLM-3: Compute time: 1.616, Compute ratio: 0.04 SNDLIB/WITH-SOUND: compute time: 2.367 SNDLIB/WITH-THREADED-SOUND: compute time: 2.141 wow! ------------------------------------------------------- then for trying long notes i used expandn. the versions of expandn and the input sound file are on my directory at stanford: ~hkt/expandn.ins ~hkt/expandn.scm ~hkt/strum1.aiff (8 second input file) i tried a small expansion (2x and a large one 18x). in both of these clm-3 is many times faster, about the same as the piano case (3 sec vs 24 sec and 16 sec vs 68 sec) and the output sound quality is also better, which i havent started to track down yet looking at the code i dont know what the difference is due to -- neither are using closures that i can see and both are using vectors of generators. ;------------- ;; 2x expansion (infile 8s output 21s) (load "expandn.scm") ;(progn (compile-file "expandn.ins" ) (load "expandn")) (with-sound (:output "/tmp/aeolian.wav" :srate 44100 :channels 2 :statistics #t) (let ( (infile "strum1.aiff") ) (do ((rats '(1 16/9 128/81 4/3 32/27 9/8 3/2 2) (cdr rats)) (amp .9) (now 0 (+ now .5)) (fdur (mus-sound-duration infile))) ((null? rats) ) (expandn now (* fdur (car rats)) infile amp :expand 2 :srate (car rats))))) CLM-3/SBCL: Compute time: 2.704, Compute ratio: 0.13 SNDLIB/WITH-SOUND: compute time: 24.233 SNDLIB/WITH-THREADED-SOUND: compute time: 24.465 ;---------------------- ;; 18x expansion (input 8s output 148s) (with-sound (:output "/tmp/aeolian.wav" :srate 44100 :channels 2 :statistics #t) (let ((infile "strum1.aiff")) (do ((rats '(1 16/9 128/81 4/3 32/27 9/8 3/2 2) (cdr rats)) (amp .6) (stretch 8) (now 0 (+ now 1.5)) (fdur (mus-sound-duration infile))) ((null? rats) ) (expandn now (* fdur (car rats) stretch) infile amp :expand (* fdur (car rats) stretch) :srate (car rats))))) CLM-3/SBCL: Compute time: 16.678, Compute ratio: 0.11 SNDLIB/WITH-SOUND: compute time: 66.430 SNDLIB/WITH-THREADED-SOUND: compute time: 66.067 i can try some fullmix and grani later for more soundfile mixing tests From taube at uiuc.edu Sun May 3 13:24:36 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Sun, 3 May 2009 15:24:36 -0500 Subject: [CM] make-granulate In-Reply-To: References: Message-ID: <36A474EA-0556-4ECB-B8FF-3F7ABAE75706@uiuc.edu> ahh maybe a graulate gen is actually a closure and so it doesnt get optmized? cm> (define a (make-granulate)) a cm> (procedure? a) #t From o.finnendahl at mh-freiburg.de Wed May 6 11:00:08 2009 From: o.finnendahl at mh-freiburg.de (Orm Finnendahl) Date: Wed, 6 May 2009 20:00:08 +0200 Subject: [CM] portmidi anyone? Message-ID: <20090506180008.GA16646@varese> Hi, I can't find the sources of portmidi. Can someone send a tarball or point me to a place to obtain it? -- Orm From cycle.code.media at gmail.com Wed May 6 17:54:58 2009 From: cycle.code.media at gmail.com (James Baker) Date: Thu, 7 May 2009 10:54:58 +1000 Subject: [CM] portmidi anyone? In-Reply-To: <20090506180008.GA16646@varese> References: <20090506180008.GA16646@varese> Message-ID: <428d2dc0905061754t4af9b620n5e8de064c0b443d0@mail.gmail.com> http://portmedia.sourceforge.net/ On Thu, May 7, 2009 at 4:00 AM, Orm Finnendahl wrote: > Hi, > > I can't find the sources of portmidi. Can someone send a tarball or > point me to a place to obtain it? > > -- > Orm > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > From rdlatimer at tjhsst.edu Wed May 6 20:39:29 2009 From: rdlatimer at tjhsst.edu (Randolph Latimer) Date: Wed, 06 May 2009 23:39:29 -0400 Subject: [CM] Notes from the Metalevel text In-Reply-To: <428d2dc0905061754t4af9b620n5e8de064c0b443d0@mail.gmail.com> References: <20090506180008.GA16646@varese> <428d2dc0905061754t4af9b620n5e8de064c0b443d0@mail.gmail.com> Message-ID: <54b73e6a7a01f28875e9573455a221c5@tjhsst.edu> I'm working through Heinrich Taube's text, I'm using the Windows version of cm I think these are some possible updates/changes(?) (pwd) should be (cwd) (cd) should be (chdir) (new ...) is not recognized, so (new midi) doesn't work? *scale* is not recognized unbound variable (hertz 'a4) is not recognized (keynum 'a4) is unbound is there an initialization scm file I need to load? Thanks, Randy Latimer From rm at seid-online.de Thu May 7 02:55:43 2009 From: rm at seid-online.de (Ralf Mattes) Date: Thu, 07 May 2009 11:55:43 +0200 Subject: [CM] portmidi anyone? In-Reply-To: <20090506180008.GA16646@varese> References: <20090506180008.GA16646@varese> Message-ID: <1241690143.7573.0.camel@mhflaptop01> On Wed, 2009-05-06 at 20:00 +0200, Orm Finnendahl wrote: > Hi, > > I can't find the sources of portmidi. Can someone send a tarball or > point me to a place to obtain it? Errm, how about 'apt-get source portmidi' ? Cheers, RalfD :-) > -- > Orm > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From taube at uiuc.edu Thu May 7 03:49:33 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Thu, 7 May 2009 05:49:33 -0500 Subject: [CM] Notes from the Metalevel text In-Reply-To: <54b73e6a7a01f28875e9573455a221c5@tjhsst.edu> References: <20090506180008.GA16646@varese> <428d2dc0905061754t4af9b620n5e8de064c0b443d0@mail.gmail.com> <54b73e6a7a01f28875e9573455a221c5@tjhsst.edu> Message-ID: <6AF997B3-179D-4565-9126-5919044F18B3@uiuc.edu> Hi You need to use the CM2 branch of cm with the book, or else change the examples. (the book is 4 years old , meanwhile things have continued to evolve in a cm3 line, which you are using) you can use CM2 with either sbcl or clisp with the GraceCL app that you can build from sources and it works on windows. I will make a new release as soon as school is out, ie within the month On May 6, 2009, at 10:39 PM, Randolph Latimer wrote: > I'm working through Heinrich Taube's text, I'm using the Windows > version of > cm > I think these are some possible updates/changes(?) > > (pwd) should be (cwd) > (cd) should be (chdir) > (new ...) is not recognized, so (new midi) doesn't work? > > *scale* is not recognized unbound variable > > (hertz 'a4) is not recognized > (keynum 'a4) is unbound > > is there an initialization scm file I need to load? > Thanks, Randy Latimer > > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From rdlatimer at tjhsst.edu Thu May 7 05:39:25 2009 From: rdlatimer at tjhsst.edu (Randolph Latimer) Date: Thu, 07 May 2009 08:39:25 -0400 Subject: [CM] Notes from the Metalevel text In-Reply-To: <6AF997B3-179D-4565-9126-5919044F18B3@uiuc.edu> References: <20090506180008.GA16646@varese> <428d2dc0905061754t4af9b620n5e8de064c0b443d0@mail.gmail.com> <54b73e6a7a01f28875e9573455a221c5@tjhsst.edu> <6AF997B3-179D-4565-9126-5919044F18B3@uiuc.edu> Message-ID: <9b4ed5c1ea7c6e3b6ab963b89c95c6d0@tjhsst.edu> Okay, thanks for the update. I'd prefer to keep with CM3, keep current. Perhaps there are equivalent functions/variables in CM3 for CM2 items, such as (pwd) -> (cwd) and (cd) -> (chdir) let me know if there are equivalents to *scale*, (hertz..) (keynum...) (new...) These are nice examples in the text, it'd be good to be able to keep similar examples, just update the syntax Randy On Thu, 7 May 2009 05:49:33 -0500, Heinrich Taube wrote: > Hi You need to use the CM2 branch of cm with the book, or else change > the examples. (the book is 4 years old , meanwhile things have > continued to evolve in a cm3 line, which you are using) you can use > CM2 with either sbcl or clisp with the GraceCL app that you can build > from sources and it works on windows. > I will make a new release as soon as school is out, ie within the month > > On May 6, 2009, at 10:39 PM, Randolph Latimer wrote: > >> I'm working through Heinrich Taube's text, I'm using the Windows >> version of >> cm >> I think these are some possible updates/changes(?) >> >> (pwd) should be (cwd) >> (cd) should be (chdir) >> (new ...) is not recognized, so (new midi) doesn't work? > >> >> *scale* is not recognized unbound variable >> >> (hertz 'a4) is not recognized >> (keynum 'a4) is unbound >> >> is there an initialization scm file I need to load? >> Thanks, Randy Latimer >> >> >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From taube at uiuc.edu Thu May 7 06:29:07 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Thu, 7 May 2009 08:29:07 -0500 Subject: [CM] Notes from the Metalevel text In-Reply-To: <9b4ed5c1ea7c6e3b6ab963b89c95c6d0@tjhsst.edu> References: <20090506180008.GA16646@varese> <428d2dc0905061754t4af9b620n5e8de064c0b443d0@mail.gmail.com> <54b73e6a7a01f28875e9573455a221c5@tjhsst.edu> <6AF997B3-179D-4565-9126-5919044F18B3@uiuc.edu> <9b4ed5c1ea7c6e3b6ab963b89c95c6d0@tjhsst.edu> Message-ID: On May 7, 2009, at 7:39 AM, Randolph Latimer wrote: > Okay, thanks for the update. I'd prefer to keep with CM3, keep > current. > Perhaps there are equivalent functions/variables in CM3 for CM2 items, > such as > (pwd) -> (cwd) and (cd) -> (chdir) i guess maybe i should add the old names back, this wasnt intended to change. for now you can do (define pwd cwd) (define cd chdir) > let me know if there are equivalents to *scale*, (hertz..) > (keynum...) in general cm3 names are terser (you want to keep typing down when you send things interactively ) hertz -> hz keynum -> key you dont need *scale* anymore, a scale is just a list of (probably floating point) key numbers. if you want to define your own scales you can use the handy 'scale' function, for example this will define a just major scale on middle C over two octaves (15 steps): (define just-c-major (let ((just-major '(9/8 10/9 16/15 9/8 10/9 9/8 16/15))) (scale 15 60 (ratio->steps just-major))) since a scale is list you can do anything you want with it, eg (list-ref just-c-major 7) (pick just-c-major) (make-cycle just-c-major) > (new...) there are no objects. just use lists to hold your data. to send data somewhere use one of the send methods or its underlyin function, eg (mp:midi :key 90) (send "mp:midi" :key (between 60 90)) > These are nice examples in the text, it'd be good to be able to keep > similar examples, just update the syntax its on my todo list, but unfortunately that list is infinately long. ill do some this summer, if you figure things out send them to me so i dont have to do it From rdlatimer at tjhsst.edu Thu May 7 07:29:55 2009 From: rdlatimer at tjhsst.edu (Randolph Latimer) Date: Thu, 07 May 2009 10:29:55 -0400 Subject: [CM] Notes from the Metalevel text In-Reply-To: References: <20090506180008.GA16646@varese> <428d2dc0905061754t4af9b620n5e8de064c0b443d0@mail.gmail.com> <54b73e6a7a01f28875e9573455a221c5@tjhsst.edu> <6AF997B3-179D-4565-9126-5919044F18B3@uiuc.edu> <9b4ed5c1ea7c6e3b6ab963b89c95c6d0@tjhsst.edu> Message-ID: Is it possible that the Windows version has bugs as far as loading scm progs from within cm? I'm getting strange error messages for simple files from Chap 7. For example.. chap7.scm (I think that's an ok file name?) (define x 1) (define (scale-hz hz mul) (* hz (expt 2 mul))) <--- If I save this, then load (see below) from cm, this may work ok, but when I add in the next function, then resave, I may get error messages (define lowest-freq 6.875) (define (keynum->hertz knum) (* lowest-freq (expt 2 (/ (+ knum 3) 12)))) cm>(load "chap7.scm") <--- sometimes loads ok, sometimes gives strange error messages I'm using Vim, but seems to act oddly also with xemacs I'm in Windows Do you think the cm for windows may be a little buggy, loading scm files this way? or maybe it's something I'm doing? On Thu, 7 May 2009 08:29:07 -0500, Heinrich Taube wrote: > On May 7, 2009, at 7:39 AM, Randolph Latimer wrote: > >> Okay, thanks for the update. I'd prefer to keep with CM3, keep >> current. >> Perhaps there are equivalent functions/variables in CM3 for CM2 items, >> such as >> (pwd) -> (cwd) and (cd) -> (chdir) > > i guess maybe i should add the old names back, this wasnt intended to > change. for now you can do > (define pwd cwd) > (define cd chdir) > > >> let me know if there are equivalents to *scale*, (hertz..) >> (keynum...) > > in general cm3 names are terser (you want to keep typing down when you > send things interactively ) > > hertz -> hz > keynum -> key > > you dont need *scale* anymore, a scale is just a list of (probably > floating point) key numbers. if you want to define your own scales you > can use the handy 'scale' function, for example this will define a > just major scale on middle C over two octaves (15 steps): > > (define just-c-major > (let ((just-major '(9/8 10/9 16/15 9/8 10/9 9/8 16/15))) > (scale 15 60 (ratio->steps just-major))) > > since a scale is list you can do anything you want with it, eg > > (list-ref just-c-major 7) > (pick just-c-major) > (make-cycle just-c-major) > >> (new...) > > there are no objects. just use lists to hold your data. to send data > somewhere use one of the send methods or its underlyin function, eg > > (mp:midi :key 90) > (send "mp:midi" :key (between 60 90)) > > >> These are nice examples in the text, it'd be good to be able to keep >> similar examples, just update the syntax > > > its on my todo list, but unfortunately that list is infinately long. > ill do some this summer, if you figure things out send them to me so i > dont have to do it From taube at uiuc.edu Thu May 7 08:18:16 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Thu, 7 May 2009 10:18:16 -0500 Subject: [CM] Notes from the Metalevel text In-Reply-To: References: <20090506180008.GA16646@varese> <428d2dc0905061754t4af9b620n5e8de064c0b443d0@mail.gmail.com> <54b73e6a7a01f28875e9573455a221c5@tjhsst.edu> <6AF997B3-179D-4565-9126-5919044F18B3@uiuc.edu> <9b4ed5c1ea7c6e3b6ab963b89c95c6d0@tjhsst.edu> Message-ID: <83102697-5427-44AA-9FD8-80AB414D4476@uiuc.edu> is this an exe you downloaded or did you build it recently from svn sources? If the former i could make a "beta" of the current svn and post it on pinhead. On May 7, 2009, at 9:29 AM, Randolph Latimer wrote: > Is it possible that the Windows version has bugs as far as loading scm > progs from within cm? > > I'm getting strange error messages for simple files from Chap 7. > > For example.. > chap7.scm (I think that's an ok file name?) > > (define x 1) > > (define (scale-hz hz mul) > (* hz (expt 2 mul))) <--- If I save this, then load (see > below) from cm, this may work ok, but when > I add in the next function, > then > resave, I may get error messages > > (define lowest-freq 6.875) > > (define (keynum->hertz knum) > (* lowest-freq (expt 2 (/ (+ knum 3) 12)))) > > > > cm>(load "chap7.scm") <--- sometimes loads ok, sometimes gives > strange > error messages > > I'm using Vim, but seems to act oddly also with xemacs > > I'm in Windows > > Do you think the cm for windows may be a little buggy, loading scm > files > this way? or maybe it's something I'm doing? > > > > > On Thu, 7 May 2009 08:29:07 -0500, Heinrich Taube > wrote: >> On May 7, 2009, at 7:39 AM, Randolph Latimer wrote: >> >>> Okay, thanks for the update. I'd prefer to keep with CM3, keep >>> current. >>> Perhaps there are equivalent functions/variables in CM3 for CM2 >>> items, >>> such as >>> (pwd) -> (cwd) and (cd) -> (chdir) >> >> i guess maybe i should add the old names back, this wasnt intended to >> change. for now you can do >> (define pwd cwd) >> (define cd chdir) >> >> >>> let me know if there are equivalents to *scale*, (hertz..) >>> (keynum...) >> >> in general cm3 names are terser (you want to keep typing down when >> you >> send things interactively ) >> >> hertz -> hz >> keynum -> key >> >> you dont need *scale* anymore, a scale is just a list of (probably >> floating point) key numbers. if you want to define your own scales >> you >> can use the handy 'scale' function, for example this will define a >> just major scale on middle C over two octaves (15 steps): >> >> (define just-c-major >> (let ((just-major '(9/8 10/9 16/15 9/8 10/9 9/8 16/15))) >> (scale 15 60 (ratio->steps just-major))) >> >> since a scale is list you can do anything you want with it, eg >> >> (list-ref just-c-major 7) >> (pick just-c-major) >> (make-cycle just-c-major) >> >>> (new...) >> >> there are no objects. just use lists to hold your data. to send data >> somewhere use one of the send methods or its underlyin function, eg >> >> (mp:midi :key 90) >> (send "mp:midi" :key (between 60 90)) >> >> >>> These are nice examples in the text, it'd be good to be able to keep >>> similar examples, just update the syntax >> >> >> its on my todo list, but unfortunately that list is infinately long. >> ill do some this summer, if you figure things out send them to me >> so i >> dont have to do it From rdlatimer at tjhsst.edu Thu May 7 08:33:09 2009 From: rdlatimer at tjhsst.edu (Randolph Latimer) Date: Thu, 07 May 2009 11:33:09 -0400 Subject: [CM] Notes from the Metalevel text In-Reply-To: <83102697-5427-44AA-9FD8-80AB414D4476@uiuc.edu> References: <20090506180008.GA16646@varese> <428d2dc0905061754t4af9b620n5e8de064c0b443d0@mail.gmail.com> <54b73e6a7a01f28875e9573455a221c5@tjhsst.edu> <6AF997B3-179D-4565-9126-5919044F18B3@uiuc.edu> <9b4ed5c1ea7c6e3b6ab963b89c95c6d0@tjhsst.edu> <83102697-5427-44AA-9FD8-80AB414D4476@uiuc.edu> Message-ID: Yes, I used the "windows exe" installer from this site http://sourceforge.net/project/showfiles.php?group_id=9766&package_id=106649&release_id=652318 cm-3.2.4-win32.zip I noticed you're also working on a ruby version, that would be more attractive syntactically. I teach in a high school in northern VA - Thomas Jefferson HS for Sci and Tech, there are students here doing computer science related senior projects who are interested in the computer science/music connections. I like lisp/scheme, but I'm "old school", kids nowadays have a difficult time with it, lose patience pretty quickly. Python/Ruby are easier for them to pick up. We also teach some C, I like this too, but again, it's tougher for kids to pick up. Anyway, looks like you've got alot built up around scheme at this point. I wonder if that's the problem with loading the files from within cm. Maybe it would work better with a straight common lisp file? Although, the syntax for scheme is probably a little more attractive. I had a bright student in the late 80s who used Forth, I see you've even got a Forth version. At school here, we have a linux workstation lab. My teacher laptop is windows, so is my home computer, that's why I'd like to get the windows version working. Thanks On Thu, 7 May 2009 10:18:16 -0500, Heinrich Taube wrote: > is this an exe you downloaded or did you build it recently from svn > sources? > If the former i could make a "beta" of the current svn and post it on > pinhead. > > On May 7, 2009, at 9:29 AM, Randolph Latimer wrote: > >> Is it possible that the Windows version has bugs as far as loading scm >> progs from within cm? >> >> I'm getting strange error messages for simple files from Chap 7. >> >> For example.. >> chap7.scm (I think that's an ok file name?) >> >> (define x 1) >> >> (define (scale-hz hz mul) >> (* hz (expt 2 mul))) <--- If I save this, then load (see >> below) from cm, this may work ok, but when >> I add in the next function, >> then >> resave, I may get error messages >> >> (define lowest-freq 6.875) >> >> (define (keynum->hertz knum) >> (* lowest-freq (expt 2 (/ (+ knum 3) 12)))) >> >> >> >> cm>(load "chap7.scm") <--- sometimes loads ok, sometimes gives >> strange >> error messages >> >> I'm using Vim, but seems to act oddly also with xemacs >> >> I'm in Windows >> >> Do you think the cm for windows may be a little buggy, loading scm >> files >> this way? or maybe it's something I'm doing? >> >> >> >> >> On Thu, 7 May 2009 08:29:07 -0500, Heinrich Taube >> wrote: >>> On May 7, 2009, at 7:39 AM, Randolph Latimer wrote: >>> >>>> Okay, thanks for the update. I'd prefer to keep with CM3, keep >>>> current. >>>> Perhaps there are equivalent functions/variables in CM3 for CM2 >>>> items, >>>> such as >>>> (pwd) -> (cwd) and (cd) -> (chdir) >>> >>> i guess maybe i should add the old names back, this wasnt intended to >>> change. for now you can do >>> (define pwd cwd) >>> (define cd chdir) >>> >>> >>>> let me know if there are equivalents to *scale*, (hertz..) >>>> (keynum...) >>> >>> in general cm3 names are terser (you want to keep typing down when >>> you >>> send things interactively ) >>> >>> hertz -> hz >>> keynum -> key >>> >>> you dont need *scale* anymore, a scale is just a list of (probably >>> floating point) key numbers. if you want to define your own scales >>> you >>> can use the handy 'scale' function, for example this will define a >>> just major scale on middle C over two octaves (15 steps): >>> >>> (define just-c-major >>> (let ((just-major '(9/8 10/9 16/15 9/8 10/9 9/8 16/15))) >>> (scale 15 60 (ratio->steps just-major))) >>> >>> since a scale is list you can do anything you want with it, eg >>> >>> (list-ref just-c-major 7) >>> (pick just-c-major) >>> (make-cycle just-c-major) >>> >>>> (new...) >>> >>> there are no objects. just use lists to hold your data. to send data >>> somewhere use one of the send methods or its underlyin function, eg >>> >>> (mp:midi :key 90) >>> (send "mp:midi" :key (between 60 90)) >>> >>> >>>> These are nice examples in the text, it'd be good to be able to keep >>>> similar examples, just update the syntax >>> >>> >>> its on my todo list, but unfortunately that list is infinately long. >>> ill do some this summer, if you figure things out send them to me >>> so i >>> dont have to do it > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From taube at uiuc.edu Thu May 7 08:59:38 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Thu, 7 May 2009 10:59:38 -0500 Subject: [CM] Notes from the Metalevel text In-Reply-To: References: <20090506180008.GA16646@varese> <428d2dc0905061754t4af9b620n5e8de064c0b443d0@mail.gmail.com> <54b73e6a7a01f28875e9573455a221c5@tjhsst.edu> <6AF997B3-179D-4565-9126-5919044F18B3@uiuc.edu> <9b4ed5c1ea7c6e3b6ab963b89c95c6d0@tjhsst.edu> <83102697-5427-44AA-9FD8-80AB414D4476@uiuc.edu> Message-ID: > windows, so is my home computer, that's why I'd like to get the > windows > version working. Thanks ill try to make a windows beta this weekend and ill post a message when i have it. your file loding issue may be a windows \\ directory delimiter problem that i fixed several weeks ago. > I noticed you're also working on a ruby version, that would be more > attractive syntactically. CM has no ruby, thats SND. So im not sure what system you are referring to. I teach my algorithmic composition courses using SAL , which is bascially an infix scheme supported in grace. it only takes my intro class about 2 weeks to become 'programmers' using sal. the grace editor supports both scheme and sal syntax. if you use Emacs you can use sal.el to give you 'sal buffer' syntax. look in Grace's Help>Tutorial submenu to teach yourself From landspeedrecord at gmail.com Thu May 7 13:06:43 2009 From: landspeedrecord at gmail.com (Landspeedrecord) Date: Thu, 7 May 2009 16:06:43 -0400 Subject: [CM] CM2 vs. CM3 Message-ID: Hi! After a long hiatus I am going through the book again and got everything going on a winXP machine relatively easily with the GraceCL binary and CM2. Thanks Heinrich! It was much much easier this time around! (as opposed to Emacs/Slime/CM2). Any advice on where to go next? The whole thing is confusing... so many different OSes and versions and then other programs that work complementarily and then others that seem to be plug-ins or extensions etc... The first thing I would like to do is output MIDI to somewhere besides the Windows Media Player where I have more control of the instrument/synthesis playing the notes. Should I use SND for that? Or SndLib? Or just a VSTi? I know it depends on what I am wanting to do control-wise but I just want get something set up fast that will balance exploration and fun vs. difficulty of setup and and a steep learning curve. Is there a happy medium? The other thing I would like to do is transition over to Grace/CM3 but goof off with the examples from the book since they are familiar. Is the transition in terms of control/programming merely a matter of mastering the differences between Lisp and Scheme and learning some new terminology/functions? Thanks, Charles -- Glycon protect us from the plague-cloud! -------------- next part -------------- An HTML attachment was scrubbed... URL: From plewto at gmail.com Thu May 7 21:40:35 2009 From: plewto at gmail.com (Steven Jones) Date: Thu, 7 May 2009 23:40:35 -0500 Subject: [CM] Looking for sound card suggestions Message-ID: <58a9955a0905072140q280e52c4i9f827559a58175ab@mail.gmail.com> I have a new Dell Studio 1737 laptop and would like suggestions on external sound cards. The machine is duel boot (Vista and Fedora 10). I would be using Fedora for audio work. My typical work habits is to use either Nyquist or CLM to directly generate sound files so I have fairly modest needs. I would like decent recording ability, multi channel would be nice but not absolutely necessary. Also I have been using external MIDI equipment of late so decent MIDI support would also be nice. I have a budget around $200 but could go a bit higher if need be. Thanks Steven Jones From ahcnz at ihug.co.nz Thu May 7 22:40:20 2009 From: ahcnz at ihug.co.nz (Adam) Date: Fri, 8 May 2009 17:40:20 +1200 Subject: [CM] Notes from the Metalevel text In-Reply-To: References: <20090506180008.GA16646@varese> Message-ID: <200905081740.20709.ahcnz@ihug.co.nz> Can CM3 and Scheme be run from Emacs, on MS or Linux? Or only in its own GUI exe and internal text editor. On Friday 08 May 2009 03:59 am, Heinrich Taube wrote: > > windows, so is my home computer, that's why I'd like to get the > > windows > > version working. Thanks > > ill try to make a windows beta this weekend and ill post a message > when i have it. your file loding issue may be a windows \\ directory > delimiter problem that i fixed several weeks ago. > > > I noticed you're also working on a ruby version, that would be more > > attractive syntactically. > > CM has no ruby, thats SND. So im not sure what system you are > referring to. > I teach my algorithmic composition courses using SAL , which is > bascially an infix scheme supported in grace. it only takes my intro > class about 2 weeks to become 'programmers' using sal. the grace > editor supports both scheme and sal syntax. if you use Emacs you can > use sal.el to give you 'sal buffer' syntax. look in Grace's > Help>Tutorial submenu to teach yourself > > > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From errordeveloper at gmail.com Fri May 8 01:09:53 2009 From: errordeveloper at gmail.com (errordeveloper at gmail.com) Date: Fri, 8 May 2009 08:09:53 +0000 Subject: [CM] Snd icon Message-ID: <20090508080953.GA26612@00110101.errordevlopment.0> Hello list. I have just drawn an icon for Snd, I done it in Inkscape. It looks ok in inkscape and svgview, but some other programs (such as display) show it a bit wrond .. i recon it will work ok for window or desktop icon, of course you can convert it to png ..as well ;) may be we want lamda there as well? cheers, -- ilya .d -------------- next part -------------- A non-text attachment was scrubbed... Name: snd-48x48.svg Type: image/svg+xml Size: 3890 bytes Desc: not available URL: From bil at ccrma.Stanford.EDU Fri May 8 02:57:23 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Fri, 8 May 2009 02:57:23 -0700 Subject: [CM] Snd icon In-Reply-To: <20090508080953.GA26612@00110101.errordevlopment.0> References: <20090508080953.GA26612@00110101.errordevlopment.0> Message-ID: <20090508094532.M55380@ccrma.Stanford.EDU> Thanks! That's a cute icon, but I'm kind of partial to the current icon. From taube at uiuc.edu Fri May 8 04:36:34 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Fri, 8 May 2009 06:36:34 -0500 Subject: [CM] Notes from the Metalevel text In-Reply-To: <200905081740.20709.ahcnz@ihug.co.nz> References: <20090506180008.GA16646@varese> <200905081740.20709.ahcnz@ihug.co.nz> Message-ID: <242FACF9-BDE1-4AE1-8D25-42E280B4A6B8@uiuc.edu> > > > Can CM3 and Scheme be run from Emacs, on MS or Linux? > Or only in its own GUI exe and internal text editor. yes. when you build from sources you get a console app 'bin/ cm' (sndlib/cm3) that you can use in a terminal or as a scheme process under emacs. the readme.text explains how to use emacs. you can build cm sources on windows under mingw/msys, you dont need to install juce i have an experimental version that builds sndlib and cm using the native microsoft compiler but i havent had time to test it or send it to bil. On May 8, 2009, at 12:40 AM, Adam wrote: > > > On Friday 08 May 2009 03:59 am, Heinrich Taube wrote: >>> windows, so is my home computer, that's why I'd like to get the >>> windows >>> version working. Thanks >> >> ill try to make a windows beta this weekend and ill post a message >> when i have it. your file loding issue may be a windows \\ >> directory >> delimiter problem that i fixed several weeks ago. >> >>> I noticed you're also working on a ruby version, that would be more >>> attractive syntactically. >> >> CM has no ruby, thats SND. So im not sure what system you are >> referring to. >> I teach my algorithmic composition courses using SAL , which is >> bascially an infix scheme supported in grace. it only takes my intro >> class about 2 weeks to become 'programmers' using sal. the grace >> editor supports both scheme and sal syntax. if you use Emacs you can >> use sal.el to give you 'sal buffer' syntax. look in Grace's >> Help>Tutorial submenu to teach yourself >> >> >> >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From rdlatimer at tjhsst.edu Fri May 8 06:50:55 2009 From: rdlatimer at tjhsst.edu (Randolph Latimer) Date: Fri, 08 May 2009 09:50:55 -0400 Subject: [CM] Notes from the Metalevel text In-Reply-To: <200905081740.20709.ahcnz@ihug.co.nz> References: <20090506180008.GA16646@varese> <200905081740.20709.ahcnz@ihug.co.nz> Message-ID: <667ba4c5fa801091037da4b1d86b954f@tjhsst.edu> I was wondering about this too, to clarify your question for myself- (I'm more familiar with vim/gvim as a editor, less familiar with emacs) The environment I'm using is to work from the cm command line, as if I'm inside a lisp runtime environment. It sounds like, from your question, that cm can be run from within emacs? I'm not used to running the program from within the editor, although maybe this is how cm is meant to be run? My version is different, I'm trying to be within the cm runtime environment, and load files from the cm command line...like cm>(load "file.scm") On Fri, 8 May 2009 17:40:20 +1200, Adam wrote: > Can CM3 and Scheme be run from Emacs, on MS or Linux? > Or only in its own GUI exe and internal text editor. > > > On Friday 08 May 2009 03:59 am, Heinrich Taube wrote: >> > windows, so is my home computer, that's why I'd like to get the >> > windows >> > version working. Thanks >> >> ill try to make a windows beta this weekend and ill post a message >> when i have it. your file loding issue may be a windows \\ directory >> delimiter problem that i fixed several weeks ago. >> >> > I noticed you're also working on a ruby version, that would be more >> > attractive syntactically. >> >> CM has no ruby, thats SND. So im not sure what system you are >> referring to. >> I teach my algorithmic composition courses using SAL , which is >> bascially an infix scheme supported in grace. it only takes my intro >> class about 2 weeks to become 'programmers' using sal. the grace >> editor supports both scheme and sal syntax. if you use Emacs you can >> use sal.el to give you 'sal buffer' syntax. look in Grace's >> Help>Tutorial submenu to teach yourself >> >> >> >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From ahcnz at ihug.co.nz Fri May 8 13:35:02 2009 From: ahcnz at ihug.co.nz (Adam) Date: Sat, 9 May 2009 08:35:02 +1200 Subject: [CM] Notes from the Metalevel text In-Reply-To: <667ba4c5fa801091037da4b1d86b954f@tjhsst.edu> References: <20090506180008.GA16646@varese> <200905081740.20709.ahcnz@ihug.co.nz> <667ba4c5fa801091037da4b1d86b954f@tjhsst.edu> Message-ID: <200905090835.04580.ahcnz@ihug.co.nz> On Saturday 09 May 2009 01:50 am, Randolph Latimer wrote: > I was wondering about this too, to clarify your question for myself- > (I'm more familiar with vim/gvim as a editor, less familiar with emacs) > > The environment I'm using is to work from the cm command line, as if I'm > inside a lisp runtime environment. > It sounds like, from your question, that cm can be run from within emacs? CM2 could be run from Emacs, so its great to hear that CM3 can be built to do so too. > I'm not used to running the program from within the editor, although maybe > this is how cm is meant to be run? For new users, and for teaching, the one binary with GUI makes much sense. Its probably much the same, either way, Randolph. Some of us like evaluating CM or Lisp or Scheme directly from within the single page of Emacs text - its the advantage of having the editor right there, and having quick access to evaluating CM or Lisp of Scheme decode. We all use some editor. > My version is different, I'm trying to be within the cm runtime > environment, and load files from the cm command line...like cm>(load > "file.scm") From rdlatimer at tjhsst.edu Sat May 9 10:38:57 2009 From: rdlatimer at tjhsst.edu (Randolph Latimer) Date: Sat, 09 May 2009 13:38:57 -0400 Subject: [CM] Notes from the Metalevel text In-Reply-To: <200905090835.04580.ahcnz@ihug.co.nz> References: <20090506180008.GA16646@varese> <200905081740.20709.ahcnz@ihug.co.nz> <667ba4c5fa801091037da4b1d86b954f@tjhsst.edu> <200905090835.04580.ahcnz@ihug.co.nz> Message-ID: <181da8427392a77c3810a72b0d316bef@tjhsst.edu> Okay, I'll try running from Emacs editor. That may work out better than trying to load the files from the cm command prompt. Don't have the book with me here, I'll try this on Monday On Sat, 9 May 2009 08:35:02 +1200, Adam wrote: > On Saturday 09 May 2009 01:50 am, Randolph Latimer wrote: >> I was wondering about this too, to clarify your question for myself- >> (I'm more familiar with vim/gvim as a editor, less familiar with emacs) >> >> The environment I'm using is to work from the cm command line, as if I'm >> inside a lisp runtime environment. >> It sounds like, from your question, that cm can be run from within emacs? > > CM2 could be run from Emacs, so its great to hear that CM3 can be > built to do so too. > >> I'm not used to running the program from within the editor, although >> maybe >> this is how cm is meant to be run? > > For new users, and for teaching, the one binary with GUI makes much sense. > > Its probably much the same, either way, Randolph. > > Some of us like evaluating CM or Lisp or Scheme directly from within > the single page of Emacs text - its the advantage of having the > editor right there, and having quick access to evaluating CM or > Lisp of Scheme decode. We all use some editor. > >> My version is different, I'm trying to be within the cm runtime >> environment, and load files from the cm command line...like cm>(load >> "file.scm") > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From rbastian at free.fr Sun May 10 02:24:53 2009 From: rbastian at free.fr (R. Bastian) Date: Sun, 10 May 2009 11:24:53 +0200 Subject: [CM] [newbie] Is CLM the right tool for me? In-Reply-To: <0A8BB10A-1445-46BE-B945-8FF713BB477C@uiuc.edu> References: <49F8ABE7.9030506@laposte.net> <0A8BB10A-1445-46BE-B945-8FF713BB477C@uiuc.edu> Message-ID: <20090510112453.43918fca@KUBUNTU64> On Thu, 30 Apr 2009 11:36:35 -0500 Heinrich Taube scribit: > > Could you give me an > > example of how you would get such a combination with the scheme-piano > > instrument? (say for instance: a long C while a short D occur then a > > short rest then a short E, and then both the initial C and the E > > finish > > together). What if another instrument (say a violin) plays at the same > > time? Is it possible? > > > > > Here is an example of what you want. but the piano seems really slow > to me, on my machine this 3 second example takes 28 seconds to compute! No matter: time is not an aesthetic criterion. > > > > (load "piano.scm") > (load "v.scm") > > (with-sound () > (fm-violin 0 3 (hz 'ef6) .2 :gliss-env '(0 0 .25 0 1 1) :glissando- > amount .5) > (p 1 :duration 2 :keyNum (key 'c4)) > (p 2 :duration .25 :keyNum (key 'd6)) > (p 2.666 :duration .333 :keyNum (key 'e2)) > ) > > Hello, At 2006 I installed a very small room dedicated to algorithmic music. The equipment is not so bad: http://www.avantgarde-acoustic.de/hornlautsprecher_einleitung.php?produkt=duo&produkt_id=3 (+ CambridgeAudio player, Benchmark converter, FlyingMole amplifiers). I hoped that some composers of algorithmic music would be interested, but there seems that algorithmic music does exist only at school level. So I organize concerts with "musique concr?te" (Michel Chion, ...) or "landscape music" (Albert Mayr, ...). This month, videos with Michael Bach (Cellist) and next month Finnish instrumental music (R. Moingeon, V. Lhermet). later will follow german experimental music with Stefan Wunderlich & Hans Rudolf Zeller and early german electonic music with Josef Anton Riedl. Some composers pretend they compose 'algorithmic music' (AM) - but they use MIDI and similar industrial means. I compose in Python since 2003: it is a language I understand (I thought & think I am too old to begin with CLM - nevertheless I am happy to use CMN). I would be glad to organize concerts with true AM - compiling 'in situ' (Lisp, C, etc). Any interest ? Ren? Bastian rbastian at free.fr > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > From kbranting at gmail.com Sun May 10 10:09:02 2009 From: kbranting at gmail.com (Karl Branting) Date: Sun, 10 May 2009 13:09:02 -0400 Subject: [CM] WIn binary that matches the Common Music Reference Manual Message-ID: <520db0c70905101009y6262700p9f5ebcb9575d35fe@mail.gmail.com> I am an experienced lisp programmer, and I'd like a cm windows binary that matches the Common Music Reference Manual or some more up-to-date reference. I would prefer to use emacs as my interface, but in the past I have found discrepancies between the cm2 binaries that I could find for windows and both the CMRM and "Notes from the Metalevel". Does an appropriate windows-binary/documentation pair exist? Thanks, Karl Branting -------------- next part -------------- An HTML attachment was scrubbed... URL: From taube at uiuc.edu Mon May 11 07:37:49 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Mon, 11 May 2009 09:37:49 -0500 Subject: [CM] improvements to sndlib support Message-ID: <4ECEDD8B-00B1-4BEE-851B-B3DC1E52B472@uiuc.edu> svn now has some improvements to sndlib support in Grace: 1. new Autoload button lets you mark/unmark instruments for autoloading at start up (stored in preferences) 2. loading instruments in the Instrument Browser now handles instrument dependancies 3. added 'vkey.scm', a virtual sampler that uses expandn and fullmix with sample databases. (the vkey-db function will set up a database and assign a keynumber to each sample in it automatically) 4. updated the built-in sndlib instruments to the latest versions,added piano.scm and animals.scm 5. new 'directory' function can be used to when building sample databases . From taube at uiuc.edu Mon May 11 08:06:01 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Mon, 11 May 2009 10:06:01 -0500 Subject: [CM] WIn binary that matches the Common Music Reference Manual In-Reply-To: <520db0c70905101009y6262700p9f5ebcb9575d35fe@mail.gmail.com> References: <520db0c70905101009y6262700p9f5ebcb9575d35fe@mail.gmail.com> Message-ID: > > Does an appropriate windows-binary/documentation pair exist? hello if you check out the latest cm2 line the documentation for it should be correct: it has nothing to do with windows, its pure common lisp: svn co http://commonmusic.svn.sf.net/svnroot/commonmusic/branches/cm2 cm2 > I am an experienced lisp programmer, and I'd like a cm windows > binary that matches the Common Music Reference Manual or some more > up-to-date reference. I would prefer to use emacs as my interface, > but in the past I have found discrepancies between the cm2 binaries > that I could find for windows and both the CMRM and "Notes from the > Metalevel". If you want to use examples in notes from the metalevel you will need to use the cm2 line of common music. Most of the examples should work inthe most recent version of cm2 (2.12.0), but there are undoubtabvly some issues since the book is now four years old. you can use cm2 with emacs, or with GraceCL, a gui that replaces emacs/slime (include synta highlighting and provides all the common emacs keyboard commands) the GraceCl app is actually part of cm3 (its a stripped down version of Grace that works with common lisp. to check out cm3 sources do: svn co http://commonmusic.svn.sf.net/svnroot/commonmusic/trunk cm you can build it on windows if you have mingw/msys. look in the archives to this list for step by step instruction how to build it (or see readme.text) From bil at ccrma.Stanford.EDU Mon May 11 11:05:08 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Mon, 11 May 2009 11:05:08 -0700 Subject: [CM] improvements to sndlib support In-Reply-To: <4ECEDD8B-00B1-4BEE-851B-B3DC1E52B472@uiuc.edu> References: <4ECEDD8B-00B1-4BEE-851B-B3DC1E52B472@uiuc.edu> Message-ID: <20090511180319.M91524@ccrma.Stanford.EDU> also in that regard, I've made some progress in speeding up the run macro: fm-violin: 1071 694 expandn: 1198 770 fullmix: 257 225 piano: 6964 3126 animals: 15034 11129 These are callgrind numbers (divided by a million, or maybe a billion). Still many things to optimize... From taube at uiuc.edu Mon May 11 11:10:55 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Mon, 11 May 2009 13:10:55 -0500 Subject: [CM] improvements to sndlib support In-Reply-To: <20090511180319.M91524@ccrma.Stanford.EDU> References: <4ECEDD8B-00B1-4BEE-851B-B3DC1E52B472@uiuc.edu> <20090511180319.M91524@ccrma.Stanford.EDU> Message-ID: this is terrific news, and just in time for summer music making... i cant wait to do a piece with this stuff! On May 11, 2009, at 1:05 PM, Bill Schottstaedt wrote: > also in that regard, I've made some progress in speeding up the run > macro: > > fm-violin: 1071 694 > expandn: 1198 770 > fullmix: 257 225 > piano: 6964 3126 > animals: 15034 11129 > > These are callgrind numbers (divided by a million, or maybe a > billion). > Still many things to optimize... > > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From rdlatimer at tjhsst.edu Mon May 11 12:26:56 2009 From: rdlatimer at tjhsst.edu (Randolph Latimer) Date: Mon, 11 May 2009 15:26:56 -0400 Subject: [CM] =?utf-8?q?remainder_function=3F?= In-Reply-To: References: <4ECEDD8B-00B1-4BEE-851B-B3DC1E52B472@uiuc.edu> <20090511180319.M91524@ccrma.Stanford.EDU> Message-ID: <7feb116c1698c462b788a4fe1c993c0a@tjhsst.edu> What's the new version for remainder (mod)? For example, (from "Notes" text) (loop for k from 0 downto -12 collect (mod k 12)) mod doesn't work I tried rem (/ 11 12) returns the fraction On Mon, 11 May 2009 13:10:55 -0500, Heinrich Taube wrote: > this is terrific news, and just in time for summer music making... i > cant wait to do a piece with this stuff! > > On May 11, 2009, at 1:05 PM, Bill Schottstaedt wrote: > >> also in that regard, I've made some progress in speeding up the run >> macro: >> >> fm-violin: 1071 694 >> expandn: 1198 770 >> fullmix: 257 225 >> piano: 6964 3126 >> animals: 15034 11129 >> >> These are callgrind numbers (divided by a million, or maybe a >> billion). >> Still many things to optimize... >> >> >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From bil at ccrma.Stanford.EDU Mon May 11 12:44:39 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Mon, 11 May 2009 12:44:39 -0700 Subject: [CM] remainder function? In-Reply-To: <7feb116c1698c462b788a4fe1c993c0a@tjhsst.edu> References: <4ECEDD8B-00B1-4BEE-851B-B3DC1E52B472@uiuc.edu> <20090511180319.M91524@ccrma.Stanford.EDU> <7feb116c1698c462b788a4fe1c993c0a@tjhsst.edu> Message-ID: <20090511194243.M794@ccrma.Stanford.EDU> s7 is scheme, not common lisp -- you want modulo and remainder, not mod and rem. (/ 7 4) or whatever is supposed to return a fraction, even in CL. From rdlatimer at tjhsst.edu Mon May 11 12:52:06 2009 From: rdlatimer at tjhsst.edu (Randolph Latimer) Date: Mon, 11 May 2009 15:52:06 -0400 Subject: [CM] =?utf-8?q?remainder_function=3F?= In-Reply-To: <7feb116c1698c462b788a4fe1c993c0a@tjhsst.edu> References: <4ECEDD8B-00B1-4BEE-851B-B3DC1E52B472@uiuc.edu> <20090511180319.M91524@ccrma.Stanford.EDU> <7feb116c1698c462b788a4fe1c993c0a@tjhsst.edu> Message-ID: <0aed0d9a8a8bcd241ed47442f8f5258c@tjhsst.edu> modulo On Mon, 11 May 2009 15:26:56 -0400, Randolph Latimer wrote: > What's the new version for remainder (mod)? > > For example, (from "Notes" text) > (loop for k from 0 downto -12 collect (mod k 12)) > > mod doesn't work > I tried rem > > (/ 11 12) returns the fraction > > > On Mon, 11 May 2009 13:10:55 -0500, Heinrich Taube wrote: >> this is terrific news, and just in time for summer music making... i >> cant wait to do a piece with this stuff! >> >> On May 11, 2009, at 1:05 PM, Bill Schottstaedt wrote: >> >>> also in that regard, I've made some progress in speeding up the run >>> macro: >>> >>> fm-violin: 1071 694 >>> expandn: 1198 770 >>> fullmix: 257 225 >>> piano: 6964 3126 >>> animals: 15034 11129 >>> >>> These are callgrind numbers (divided by a million, or maybe a >>> billion). >>> Still many things to optimize... >>> >>> >>> _______________________________________________ >>> Cmdist mailing list >>> Cmdist at ccrma.stanford.edu >>> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist >> >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From rdlatimer at tjhsst.edu Mon May 11 12:53:06 2009 From: rdlatimer at tjhsst.edu (Randolph Latimer) Date: Mon, 11 May 2009 15:53:06 -0400 Subject: [CM] =?utf-8?q?remainder_function=3F?= In-Reply-To: <20090511194243.M794@ccrma.Stanford.EDU> References: <4ECEDD8B-00B1-4BEE-851B-B3DC1E52B472@uiuc.edu> <20090511180319.M91524@ccrma.Stanford.EDU> <7feb116c1698c462b788a4fe1c993c0a@tjhsst.edu> <20090511194243.M794@ccrma.Stanford.EDU> Message-ID: <232319b4a7d89feb8adefe006acdfcdf@tjhsst.edu> Thank you, I just found an example with modulo right before I got your email On Mon, 11 May 2009 12:44:39 -0700, "Bill Schottstaedt" wrote: > s7 is scheme, not common lisp -- you want modulo > and remainder, not mod and rem. > > (/ 7 4) or whatever is supposed to return a fraction, > even in CL. From taube at uiuc.edu Mon May 11 14:45:59 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Mon, 11 May 2009 16:45:59 -0500 Subject: [CM] remainder function? In-Reply-To: <7feb116c1698c462b788a4fe1c993c0a@tjhsst.edu> References: <4ECEDD8B-00B1-4BEE-851B-B3DC1E52B472@uiuc.edu> <20090511180319.M91524@ccrma.Stanford.EDU> <7feb116c1698c462b788a4fe1c993c0a@tjhsst.edu> Message-ID: <12468E72-45C3-465D-B46B-2FE434192EB1@uiuc.edu> cm3 (scheme): modulo cm2 (common lisp): mod if you are using Grace (cm3) you can use the Help>Documentation>Scheme menu item to read the scheme manual also in the Grace's editor use Command-D to lookup documentation on the symbol under the cursor otherwise the scheme manual is here: http://schemers.org/Documents/Standards/R5RS/HTML/ On May 11, 2009, at 2:26 PM, Randolph Latimer wrote: > What's the new version for remainder (mod)? > > For example, (from "Notes" text) > (loop for k from 0 downto -12 collect (mod k 12)) > > mod doesn't work > I tried rem > > (/ 11 12) returns the fraction > > > On Mon, 11 May 2009 13:10:55 -0500, Heinrich Taube > wrote: >> this is terrific news, and just in time for summer music making... i >> cant wait to do a piece with this stuff! >> >> On May 11, 2009, at 1:05 PM, Bill Schottstaedt wrote: >> >>> also in that regard, I've made some progress in speeding up the run >>> macro: >>> >>> fm-violin: 1071 694 >>> expandn: 1198 770 >>> fullmix: 257 225 >>> piano: 6964 3126 >>> animals: 15034 11129 >>> >>> These are callgrind numbers (divided by a million, or maybe a >>> billion). >>> Still many things to optimize... >>> >>> >>> _______________________________________________ >>> Cmdist mailing list >>> Cmdist at ccrma.stanford.edu >>> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist >> >> _______________________________________________ >> Cmdist mailing list >> Cmdist at ccrma.stanford.edu >> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From rdlatimer at tjhsst.edu Tue May 12 12:15:16 2009 From: rdlatimer at tjhsst.edu (Randolph Latimer) Date: Tue, 12 May 2009 15:15:16 -0400 Subject: [CM] =?utf-8?q?remainder_function=3F?= In-Reply-To: <12468E72-45C3-465D-B46B-2FE434192EB1@uiuc.edu> References: <4ECEDD8B-00B1-4BEE-851B-B3DC1E52B472@uiuc.edu> <20090511180319.M91524@ccrma.Stanford.EDU> <7feb116c1698c462b788a4fe1c993c0a@tjhsst.edu> <12468E72-45C3-465D-B46B-2FE434192EB1@uiuc.edu> Message-ID: I think I've got a basic start now with cm3 on Windows, thanks for your help. I'm using Grace and SAL for now, though I'd like to do these in scheme too. Here's a simple first question...I want to do the high note sequence followed by the low note sequence. The way I've got this, it plays the two sequences simultaneously How would I do simple() followed by simplelow()? thanks define process simple() run repeat 40 send "mp:midi", key: between(60, 96) wait .1 end define process simplelow() run repeat 20 send "mp:midi", key: between(20, 56) wait .1 end sprout list(simple(),simplelow()), "C:\\Program Files\\CLMWindows\\cm-3.2.4-win32\\cm\\MyProgs\\test.mid" On Mon, 11 May 2009 16:45:59 -0500, Heinrich Taube wrote: > cm3 (scheme): modulo > > cm2 (common lisp): mod > > > if you are using Grace (cm3) you can use the > Help>Documentation>Scheme menu item to read the scheme manual > also in the Grace's editor use Command-D to lookup documentation on > the symbol under the cursor > > > otherwise the scheme manual is here: > http://schemers.org/Documents/Standards/R5RS/HTML/ > > > > > > On May 11, 2009, at 2:26 PM, Randolph Latimer wrote: > >> What's the new version for remainder (mod)? >> >> For example, (from "Notes" text) >> (loop for k from 0 downto -12 collect (mod k 12)) >> >> mod doesn't work >> I tried rem >> >> (/ 11 12) returns the fraction >> >> >> On Mon, 11 May 2009 13:10:55 -0500, Heinrich Taube >> wrote: >>> this is terrific news, and just in time for summer music making... i >>> cant wait to do a piece with this stuff! >>> >>> On May 11, 2009, at 1:05 PM, Bill Schottstaedt wrote: >>> >>>> also in that regard, I've made some progress in speeding up the run >>>> macro: >>>> >>>> fm-violin: 1071 694 >>>> expandn: 1198 770 >>>> fullmix: 257 225 >>>> piano: 6964 3126 >>>> animals: 15034 11129 >>>> >>>> These are callgrind numbers (divided by a million, or maybe a >>>> billion). >>>> Still many things to optimize... >>>> >>>> >>>> _______________________________________________ >>>> Cmdist mailing list >>>> Cmdist at ccrma.stanford.edu >>>> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist >>> >>> _______________________________________________ >>> Cmdist mailing list >>> Cmdist at ccrma.stanford.edu >>> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist From taube at uiuc.edu Wed May 13 17:03:43 2009 From: taube at uiuc.edu (Heinrich Taube) Date: Wed, 13 May 2009 19:03:43 -0500 Subject: [CM] windows beta Message-ID: <037F73A0-5C79-412A-B275-18AFB7CAD451@uiuc.edu> ive made that windows snapshot of the current cm + sndlib and placed it on pinhead. it contains all three apps (cm, Grace and GraceCL) http://pinhead.music.uiuc.edu/~hkt/cm-3.2.4.beta-win32.zip since its svn trunk you can expect problems especially since this is the first build that is 100% Visual Studio and i may not have found all the compiler issues in sndlib's source code. i am able to generate a sound file using 'wave' and 'fm-violin'. I will depend on people trying the three apps and (hopfully) helping me fix them as problems are found. bil will be encorporating the vs2005 files that andrew burson and i developed into the sndlib tarball so at some point soon you can download sndlib and build it in visual studio. to build cm in vs2005 you do premake --verbose --target vs2005 --sndlib sndlib then double click the cm.vcproj file. maybe i should start shipping vs2005 and xcode projects for cm with the sources... From k.s.matheussen at notam02.no Tue May 19 05:51:29 2009 From: k.s.matheussen at notam02.no (Kjetil S. Matheussen) Date: Tue, 19 May 2009 14:51:29 +0200 (CEST) Subject: [CM] Documentation about the garbage collector used by Snd-rt. Message-ID: Hi, Here is my paper for icmc 2009: http://users.notam02.no/~kjetism/rollendurchmesserzeitsammler/gc_icmc2009.pdf It documents the garbage collector used in snd-rt, plus benchmarks, extensions, and discussions about realtime music programming. I wanted to add some illustrations, larger fonts for the pseudo code, more white-space in the item lists, more references, more information about previous work, more detailed explanations and discussions, etc., but it couldn't be included because of limited space. I hope it should be quite understandable and readable anyway. Abstract: " Garbage-producing and efficient programming languages such as Haskell, Lisp or ML have traditionally not been used for generating individual samples in realtime. The reason is a lack of garbage collector fast and predictably enough to make these languages viable alternatives to C and C++ for high performing audio DSP. This paper shows how conservative garbage collectors can be used efficiently for realtime audio signal processing. Two new garbage collectors are described. The first collector can easily replace garbage collectors in many existing programming languages and has successfully been used for the Stalin Scheme implementation. The second garbage collector has a higher memory overhead and requires a simple write barrier, but does not restrain the amount of memory. Both collectors find garbage by running a parallel mark-and-sweep on snapshots. The snapshot buffers are either copied to between soundcard interrupts or filled up by write barriers. To ensure predictability, worst-case is simulated about once a second, and all running garbage collectors are synchronized to avoid more than one garbage collector to block audio simultaneously. " From bil at ccrma.Stanford.EDU Fri May 22 07:18:13 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Fri, 22 May 2009 07:18:13 -0700 Subject: [CM] 'run' progress report Message-ID: <20090522141423.M90998@ccrma.Stanford.EDU> Still hacking away... (time (with-sound () (fm-violin 0 20 440 .1))) sbcl: 0.197 Snd+s7: 0.218 (time (with-sound (:reverb jc-reverb) (fm-violin 0 20 440 .1))) sbcl: 0.433 Snd+s7: 0.425 (time (with-sound () (do ((i 0 (+ i 1))) ((= i 10000)) (fm-violin (* i .001) .01 440 .001)))) sbcl: 1.607 Snd+s7: 1.683 (time (load "popi.scm")) or (time (load "popi.clm")) sbcl: 1.185 Snd+s7: 1.315 (time (with-sound () (p 0 3))) or (time (with-sound () (p 0 :duration 3.0))) sbcl: 0.321 Snd+s7: 1.122 (time (with-sound () (expandn 0 10 "oboe.snd" 1 :expand 4))) sbcl: 0.096 Snd+s7: 0.232 (time (with-sound () (singer 0 .1 (list (list .4 ehh.shp test.glt 523.0 .8 0.0 .0 1) (list .6 oo.shp test.glt 523.0 .7 .1 .01))))) sbcl: 0.072 Snd+s7: 0.225 (time (with-sound () (pins 0 3 "oboe.snd" 1.0 :max-peaks 8))) sbcl: 0.064 Snd+s7: 0.233 But these "time" results are all over the map -- treat with the usual skepticism. From bil at ccrma.Stanford.EDU Thu May 28 03:57:00 2009 From: bil at ccrma.Stanford.EDU (Bill Schottstaedt) Date: Thu, 28 May 2009 03:57:00 -0700 Subject: [CM] Snd 10.6 Message-ID: <20090528105612.M98778@ccrma.Stanford.EDU> Snd 10.6 more Ruby and Forth improvements from Mike. sndlib.vsproj and other files for MS C sndlib from Rick and Andrew Burnson. polyoid-env generator (generators.scm). run improved. checked: mpc 0.6, gmp 4.3.0|1, sbcl 1.0.28, gtk 2.17.0, fth 1.2.4 Thanks!: Mike Scholz, Thomas Baruchel, Rick, Andrew Burnson.