From anders.vinjar at bek.no Tue Apr 4 11:49:44 2017 From: anders.vinjar at bek.no (anders.vinjar at bek.no) Date: Tue, 04 Apr 2017 20:49:44 +0200 Subject: [CM] CM patterns in OM and as 'CL stand alone' Message-ID: <874ly4dn3r.fsf@bek.no> Hi there. This might be of interest to some reading this group as well. I've set up a version of Common Musics patterns for OpenMusic. At the moment the lib is made available here: https://forge.ircam.fr/p/omlibraries/downloads/631/ All of Rick's various pattern classes from Common Music are included, except 'transposer and 'chord. The current lib is based on the code found in cm2. Rick's examples from the various pages following branches/cm2/doc/dict/patterns-topic.html are remade as OM patches, and available inside OMs standard help system after loading the lib. If you just want to use the patterns in any lisp heap i think you can just load the two files utils.lisp pattern-classes.lisp which should provide the usual cycle, heap, pval, new... -anders From anders.vinjar at bek.no Tue Apr 4 12:12:42 2017 From: anders.vinjar at bek.no (anders.vinjar at bek.no) Date: Tue, 04 Apr 2017 21:12:42 +0200 Subject: [CM] 64bit version of OM for Linux Message-ID: <87zifwc7h1.fsf@bek.no> Worth to mention also, OM6.12 has been available as 64-bit builds for Linux since around february. Amongst other important changes is a new Juce-based Audio i/o. Plus piles of bug-fixes and enhancements. RPMs and DEBs, plus a tarball (using that you don't need to install anything apart from the fonts package), are available at http://repmus.ircam.fr/openmusic/linux -anders From orm.finnendahl at selma.hfmdk-frankfurt.de Sun Apr 9 04:30:15 2017 From: orm.finnendahl at selma.hfmdk-frankfurt.de (Orm Finnendahl) Date: Sun, 9 Apr 2017 13:30:15 +0200 Subject: [CM] blocking processes in cm Message-ID: <20170409113015.GA1432@T460s-orm> Hi, is there an easy way to define a sequence of processes in cm without having to determine the length of the process beforehand? As far as I know, the recommended way to have multiple processes is using a sprout which schedules the processes in parallel and the timing is done with the wait which inserts the sprouts at the respective position in the queue. My idea would be to have the process block until the subprocess scheduling is done and then trigger the next iteration of the process loop with an optional wait parameter. I'm aware of ways to get this mechanism working outside of cm, but as I'm teaching cm to my students I would prefer a way with the means of cm itself. -- Orm From taube at illinois.edu Sun Apr 9 05:16:15 2017 From: taube at illinois.edu (Taube, Heinrich K) Date: Sun, 9 Apr 2017 12:16:15 +0000 Subject: [CM] blocking processes in cm In-Reply-To: <20170409113015.GA1432@T460s-orm> References: <20170409113015.GA1432@T460s-orm> Message-ID: <750456ED-33A3-4126-BBFE-87C764367E3B@illinois.edu> orm I think you can use the ?finally? clause: process foo(xyz) repeat 100 dosomething() dosomethingelse() finally sprout ( foo(123)) end > On Apr 9, 2017, at 6:30 AM, Orm Finnendahl wrote: > > Hi, > > is there an easy way to define a sequence of processes in cm without > having to determine the length of the process beforehand? As far as I > know, the recommended way to have multiple processes is using a sprout > which schedules the processes in parallel and the timing is done with > the wait which inserts the sprouts at the respective position in the > queue. > > My idea would be to have the process block until the subprocess > scheduling is done and then trigger the next iteration of the process > loop with an optional wait parameter. > > I'm aware of ways to get this mechanism working outside of cm, but as > I'm teaching cm to my students I would prefer a way with the means of > cm itself. > > -- > Orm > > > _______________________________________________ > Cmdist mailing list > Cmdist at ccrma.stanford.edu > https://cm-mail.stanford.edu/mailman/listinfo/cmdist > From k.s.matheussen at gmail.com Fri Apr 14 03:58:36 2017 From: k.s.matheussen at gmail.com (Kjetil Matheussen) Date: Fri, 14 Apr 2017 12:58:36 +0200 Subject: [CM] s7: Whether to use WITH_GMP Message-ID: On Thu, Apr 13, 2017 at 9:05 PM, wrote: > Let me > know if the gc protection functions are too slow -- > internally in s7, I sometimes use the scheme stack > for quick GC protection, especially when I can't > guarantee I'll reach the unprotect code -- that > process could be exported. When using s7_gc_unprotect_at instead of just s7_gc_unprotect, the GC protection functions are probably more than fast enough for my usage. Regarding big numbers, I wonder if I should compile with gmp. It feels safer not to risk losing accuracy. But are calculations slower with gmp if you don't use big numbers? I.e. will (+ 1 1) and (+ 1.1 1.5) always run equally fast whether you use libgmp or not? -------------- next part -------------- An HTML attachment was scrubbed... URL: From bil at ccrma.Stanford.EDU Fri Apr 14 04:41:22 2017 From: bil at ccrma.Stanford.EDU (bil at ccrma.Stanford.EDU) Date: Fri, 14 Apr 2017 04:41:22 -0700 Subject: [CM] =?utf-8?q?s7=3A_Whether_to_use_WITH=5FGMP?= In-Reply-To: References: Message-ID: <43a412ca6502f55dc115e4c1537c58a8@ccrma.stanford.edu> In the gmp version, it's probably safest to assume everything is going through gmp. In cases where the optimizer can ascertain ranges, s7 will use faster code, but I just tore out half the optimizer, and am rebuilding it. So I don't know how the in-between stuff interacts with gmp -- give me a month or two! My old timings indicated that gmp could be 10 to 50 times slower than straight C (but at least it gave the right answer). From k.s.matheussen at gmail.com Fri Apr 14 04:54:05 2017 From: k.s.matheussen at gmail.com (Kjetil Matheussen) Date: Fri, 14 Apr 2017 13:54:05 +0200 Subject: [CM] s7: Whether to use WITH_GMP In-Reply-To: <43a412ca6502f55dc115e4c1537c58a8@ccrma.stanford.edu> References: <43a412ca6502f55dc115e4c1537c58a8@ccrma.stanford.edu> Message-ID: Thank you. How about float vs. integer? Is gmp used only for integers, or is it used for floats as well? In Radium, I think only calculations with floating points are important to be fast. And only integer calculations needs to be accurate. Big-number accuracy for floating points are probably not important, and normal 64 bit "double" should be good enough. Would it make sense to enable gmp for s7 in Radium before the optimizer is rebuilt? On Fri, Apr 14, 2017 at 1:41 PM, wrote: > In the gmp version, it's probably safest to assume > everything is going through gmp. In cases where the > optimizer can ascertain ranges, s7 will use > faster code, but I just tore out half the optimizer, > and am rebuilding it. So I don't know how the > in-between stuff interacts with gmp -- give me a > month or two! My old timings indicated that gmp > could be 10 to 50 times slower than straight C (but at > least it gave the right answer). > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From k.s.matheussen at gmail.com Fri Apr 14 05:10:39 2017 From: k.s.matheussen at gmail.com (Kjetil Matheussen) Date: Fri, 14 Apr 2017 14:10:39 +0200 Subject: [CM] s7: Whether to use WITH_GMP In-Reply-To: References: <43a412ca6502f55dc115e4c1537c58a8@ccrma.stanford.edu> Message-ID: Hmm, looking a bit at the code now, and most likely, the scheme math operations in Radium probably takes significantly less time than other things. Math speed probably doesn't matter, so I'm going to try to enable gmp for a while. On Fri, Apr 14, 2017 at 1:54 PM, Kjetil Matheussen wrote: > Thank you. How about float vs. integer? Is gmp > used only for integers, or is it used for floats as well? > > In Radium, I think only calculations with floating > points are important to be fast. And only > integer calculations needs to be accurate. Big-number > accuracy for floating points are probably not important, > and normal 64 bit "double" should be good enough. > > Would it make sense to enable gmp for s7 in Radium > before the optimizer is rebuilt? > > > > On Fri, Apr 14, 2017 at 1:41 PM, wrote: > >> In the gmp version, it's probably safest to assume >> everything is going through gmp. In cases where the >> optimizer can ascertain ranges, s7 will use >> faster code, but I just tore out half the optimizer, >> and am rebuilding it. So I don't know how the >> in-between stuff interacts with gmp -- give me a >> month or two! My old timings indicated that gmp >> could be 10 to 50 times slower than straight C (but at >> least it gave the right answer). >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bil at ccrma.Stanford.EDU Fri Apr 14 05:18:52 2017 From: bil at ccrma.Stanford.EDU (bil at ccrma.Stanford.EDU) Date: Fri, 14 Apr 2017 05:18:52 -0700 Subject: [CM] =?utf-8?q?s7=3A_Whether_to_use_WITH=5FGMP?= In-Reply-To: References: <43a412ca6502f55dc115e4c1537c58a8@ccrma.stanford.edu> Message-ID: <19f92d2e3b7164776a7bfd747abaf218@ccrma.stanford.edu> gmp and its friends mpfr and mpc are used for all numerical calculations. You could perhaps set bignum-precision to 64 to mimic C doubles, and get faster float calculations.