From: owner-sc-users-digest@lists.io.com (sc-users-digest) To: sc-users-digest@lists.io.com Subject: sc-users-digest V1 #73 Reply-To: sc-users Sender: owner-sc-users-digest@lists.io.com Errors-To: owner-sc-users-digest@lists.io.com Precedence: bulk sc-users-digest Wednesday, November 17 1999 Volume 01 : Number 073 ---------------------------------------------------------------------- Date: Thu, 11 Nov 1999 21:47:48 -0700 From: James McCartney <---@---.---> Subject: Re: DIGI 001 >Date: Tue, 5 Oct 1999 15:29:20 -0600 >To: sc-users@lists.io.com >From: James McCartney <---@---.---> >Subject: Re: Digi001 > > >I asked Digi and the 001 does use DirectIO so SC should work with it >without any specific support. >Unfortunately due to a problem that they are aware of, >you cannot use the 001's MIDI ports and DirectIO at the same time. >Thus you can use SC with the 001 but you can't use its MIDI ports. >They say that this will be fixed at some point. >Minimum buffer size is 256 samples, the same as ProTools24. > --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Fri, 12 Nov 1999 16:44:57 +0000 From: finer@easynet.co.uk Subject: memory Sorry to keep banging on but I need to figure this memory lark out for once and for all - On top of the "power of 2" allocation for soundfiles (lets say 115 Mb 16 bit SD2 soundfiles which needs 128 Mb of RAM) how much RAM does SC need to be really happy ? Thanks Jem ------------------------------ Date: Fri, 12 Nov 1999 16:10:04 -0500 From: Mic Berends <---@---.---> Subject: Quasimodo. this is interesting: http://www.op.net/~pbd/quasimodo/ - -- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>v ^ Mic Berends : in the end, : Tomorrow Maximum v ^ MINDESIGN limited : there can be : Heaven Kissing EP v ^ http://www.mindesign.com/ : only one. : available now. v ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ------------------------------ Date: Sat, 13 Nov 1999 19:31:03 +1100 From: Lulu Ong <---@---.---> Subject: OS9 On Thu, 11 Nov 1999, James McCartney wrote: > > Once we are running in a separate thread in MacOSX there is a better > way to fix it. However the sound architecture on MacOSX is still not > clear. > Speaking of which, any news of when SC2 and OS9 will co-exist? I made the mistake of installing OS9 on both my home and work machines before that message about the incompatabilities came out and have been reluctant to go back to 8.6 since then...but than again...not being able to run SC2... a real dilemma. > > > > ------------------------------ Date: Sat, 13 Nov 1999 02:38:11 -0700 From: James McCartney <---@---.---> Subject: Re: OS9 At 1:31 AM -0700 11/13/99, Lulu Ong wrote: >Speaking of which, any news of when SC2 and OS9 will co-exist? I made the >mistake of installing OS9 on both my home and work machines before that >message about the incompatabilities came out and have been reluctant to go >back to 8.6 since then...but than again...not being able to run SC2... a >real dilemma. Download and install the following. This will fix it : --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Sat, 13 Nov 1999 09:03:23 -0500 From: David Crandall <---@---.---> Subject: Sound Manager 3.3?? [ot] Sorry for the off topic (and cross postings), but I just got a copy of the new LiSA from Steim but it requires "Apple Sound Manager 3.3" which doesn't seem to be on any of the regular US download sites. Is it some patch that was distributed outside the US in advance of OS 8? Can anyone tell me where it can be found? Need it for a performance next Thursday... thanks in advance, dc ------------------------------ Date: Sat, 13 Nov 1999 15:56:54 +0100 (CET) From: Arie van Schutterhoef <---@---.---> Subject: Re: Sound Manager 3.3?? [ot] >"Apple Sound Manager 3.3"... - -This is part of QT4, so if you have that installed on your machine, it should be around somewhere in your extensions... >thanks in advance, - -good luck with your concert greetings AvS <<<<<<<<<<<<<<<<<<<<<<<<<-////||\\\\->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Arie van Schutterhoef artistic director Schreck Ensemble # -laboratory for live electro-acoustic music- # The Netherlands e-mail:arsche@stad.dsl.nl http://www.xs4all.nl/~schreck/ Tel: 00-31-71-5612287 Fax: 00-31-70-3859268 <<<<<<<<<<<<<<<<<<<<<<<<<-////||\\\\->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ------------------------------ Date: Sat, 13 Nov 1999 12:35:40 -0700 From: James McCartney <---@---.---> Subject: Re: memory At 9:44 AM -0700 11/12/99, finer@easynet.co.uk wrote: >Sorry to keep banging on but I need to figure this memory lark out for once >and for all - > >On top of the "power of 2" allocation for soundfiles (lets say 115 Mb 16 >bit SD2 soundfiles which needs 128 Mb of RAM) how much RAM does SC need to >be really happy ? Well it depnds on what you are doing, but if you just add your sound file needs to its normal size then you'll be fine unless you've got some other huge data structure. --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Sun, 14 Nov 1999 02:32:07 -0500 From: christian hresko <---@---.---> Subject: Synth_Make okay, this might seem like an obvious and / or really stupid question. i was showing a friend my new found 'joy' (a.k.a. supercollider) and mentioned the fact that it was completely software based, and wasn't dependent on a soundcard. so he posed the question of how the computer generated sounds via c code. i thought for a second, shuffled through some papers, and gave a bullshit answer that both of us knew was incorrect. seems like a simple answer, but i guess i'm just too 'simple.' i'm in the process of studying programming and synthesis, but don't know enough about hardware / software configurations to explain this. (and it's driving me nuts because i'd really like to know as well.) anyway, if it requires a very long explanation, please email me off list. (or direct me towards a website or a book that would aid me in programming for synthesis...) fft, ifft, fir, iir, convolution, etc... i already know about. (well, kinda..) stumped on the c++ turned into complex waveforms via the 1/8" jack on the back of my G3... cheers, christian - -- " there's nothing worse in life than being ordinary " ------------------------------ Date: Sun, 14 Nov 1999 17:49:57 +0900 From: "kevin parks" <---@---.---> Subject: Re: Synth_Make I was able to understand a *smidge* when i looked at Cmix a while back, but that i am sure is not a helpful answer. However i learned something from: Principles of Digital Audio -- Ken C. Pohlmann Computer Music : Synthesis, Composition, and Performance Charles Dodge, Thomas A. Jerse The Computer Music Tutorial -- Curtis Roads F. Richard Moore's computer music book is one that many use as well. Though i am not sure it is available anymore. cheers, kevin parks Seoul, Korea Free, fast e-mail accessible anytime, anywhere http://www.imaginemail.com ------------------------------ Date: Sun, 14 Nov 1999 06:04:04 -0700 From: James McCartney <---@---.---> Subject: Re: Synth_Make At 12:32 AM -0700 11/14/99, christian hresko wrote: >soundcard. so he posed the question of how the computer generated sounds via c >code. Every time the sound card needs a buffer of sound, it calls a function. That function runs supercollider which fills the next buffer full of sound and returns. Then the sound card writes that buffer out to the DAC. Supercollider's function runs the top level synth to generate the buffer. The synth runs all the ugens it contains. Each ugen has C code that calculates the audio sample values for its own output. --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Sun, 14 Nov 1999 17:47:48 +0100 From: rkuivila@mail.wesleyan.edu (Ron Kuivila) Subject: Task? Hi James, I tried exercising the 'task' message in the Synth man page and SC does not believe the function is a Function... ( // { arg synth; var freqCtl; freqCtl = Plug.kr(800, 0); // use a Plug to change a value synth.task(1, { 12.do({ freqCtl.source = rrand(400,2000); 0.125.wait; // wait }); freqCtl.source = 2000; }); // schedule a task SinOsc.ar(freqCtl, 0, 0.2); // return oscillator as output }.play * ERROR: Thread function arg not a Function. ) ------------------------------ Date: Sun, 14 Nov 1999 08:56:12 -0800 From: david gunn <---@---.---> Subject: Re: Synth_Make computer music tutorial, curtis roads d - -- David B. Gunn 510.636.7515 i'm a man on a mission- don't stand in my way, or i'll have to take you along and show you the stars. i *WILL* change this world. ------------------------------ Date: Sun, 14 Nov 1999 23:22:14 -0700 From: James McCartney <---@---.---> Subject: Re: Task? At 9:47 AM -0700 11/14/99, Ron Kuivila wrote: >Hi James, > >I tried exercising the 'task' message in the Synth man page and >SC does not believe the function is a Function... > Oh, I changed the argument order for Task but didn't update Synth::task. Change it to this and recompile: task { arg start, func, stackSize = 512, seed = -1; var task; task = Task(func, this, stackSize, seed); this.sched(start.value, { task.next }); } --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: < ------------------------------ Date: Mon, 15 Nov 1999 20:01:06 +1100 From: Garth Paine <---@---.---> Subject: Sonic Residues - Call for Works Please Excuse multiple postings *************************** CALL FOR WORKS ***************** SONIC RESIDUES 02 A WEEK OF ELECTROACOUSTIC MUSIC AND SOUND ART EVENTS A web of interactions defined by the score, the space, the time, the performer. An ever-changing, ever-evolving, temporal event that explains itself by leaving a residue; a fine mist of vibrations outlining the web. March 6 - 12, 2000. Australian Center for Contemporary Arts, Melbourne SONIC RESIDUES 02 is a week long festival of electroacoustic music, sound art and installations. ======================= Call for works Garth Paine (curator) and Lawrence Harvey (Assistant Curator) are calling for works that fall within two primary categories. 1) Evolutionary Pieces These pieces will be established within one of several galleries, or a garden space attached to the gallery. They should evolve and change over a lengthy period of time (ie four to eight hours). They may draw on audience or visitor presence as an interactive response and they may use acoustic performers as part of the evolutionary process at different points during the day. It should be understood that these works will become part of a more complex background environment and should therefore be written with consideration for the other sonic events that will occur in the gallery, or in close proximity, throughout the day. 2) Works of Finite Duration These works are being sought for five concerts that will occur daily, and twice on Saturday, March 11. Works should be not more than 15 minutes duration, and unless the composer can provide the hardware, of not more than eight tracks (Tascam DA38 Possibly ADAT). The curators are looking for a variety of work that reflect the following four approaches to this genre: 1. Works that are generated solely from text or voice-based material. 2. Works that use found sounds, molded to create new sonic worlds that extend our notions of acoustic reality. 3. Works that use exclusively electronically generated sounds. Sounds that do not draw on any naturally occurring noises as source material for their synthesis. 4. Interactive works - works that allow you to physically engage with them through your movement and behavior to create and/or experiencing the multifaceted sound world of the work itself. The Environment - ----------------- The overall theme is one of environment and interaction. There will undoubtedly be a lot of interaction between the pieces occurring within the space during the day. Works will not be separated by soundproofing nor doors, so a reasonable level of cross talk between exhibits can be expected. The curators will take the character of each work into consideration when developing the relationships between the works. Interactive performance is encouraged and could take the form of audience interaction, dance, movement, singing, text and acoustic instruments. Consideration of Spatialisation is highly recommended. It is hoped that an eight-channel dissemination system will be available for the concerts. No fees can be paid, however an APRA license will be current and those who register their works can claim a performance royalty. The deadline for submission outlines is December 30, 2000 All submissions should include a detailed statement of required equipment with an indication by the artist of how much of that equipment they themselves can supply. - --------------------------- Final recordings or scores must be received no later than January 17, 2000. Scores should be accompanied by a recording of the work. - --------------------------- The objective of this event is to encourage a wider public interest in electroacoustic music and sound art. We wish to thank the Australian Center for Contemporary Art (ACCA) for their generous sponsorship of this event. Sonic Residues is generously supported through the 2000 Arts Grants of the Cultural Development Branch of the City of Melbourne. Please contact Garth Paine. Telephone - 61 3 95720133 FAX - 61 3 95720153 E-mail - garth@activatedspace.com.au Cheers, Garth Listen to some of the tracks from my latest CD at http://www.activatedspace.com.au See my MAP1 installation http://www.activatedspace.com.au/Map1/map1.html (RealVideo) ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,. Activated Space . Composer, Sound Designer, Installation Artist .. Interactives Designer, Exhibition Consultant ........ph. 61 3 95720133 .,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,. ------------------------------ Date: Mon, 15 Nov 1999 23:35:01 +1100 From: Lulu Ong <---@---.---> Subject: Re: OS9 works like a charm. Excellent! thank you. On Sat, 13 Nov 1999, James McCartney wrote: > At 1:31 AM -0700 11/13/99, Lulu Ong wrote: > >Speaking of which, any news of when SC2 and OS9 will co-exist? I made the > >mistake of installing OS9 on both my home and work machines before that > >message about the incompatabilities came out and have been reluctant to go > >back to 8.6 since then...but than again...not being able to run SC2... a > >real dilemma. > > Download and install the following. This will fix it : > > > > > > --- james mccartney james@audiosynth.com http://www.audiosynth.com > If you have a PowerMac check out SuperCollider2, a real time synth program: > > > > > ------------------------------ Date: Mon, 15 Nov 1999 07:50:36 -0500 From: David Crandall <---@---.---> Subject: Re: Sound Manager 3.3?? [ot] Many thanks to the many people who replied to my Sound manager 3.3 question. It turned out to be part of QT 4, and I got it working fine. The only caveat is to be sure to get QT Musical Instruments, which I skipped to save download time. It's not required but if not there, extra "error" dialogs come up that must be OK'd before getting into any sound program. Not a problem, but a nuisance. Sure wish that Lisa demo was of the "use it for 10 days" sort. I wanted my theater company to buy the program for this performance but since I couldn't demo saving/quickly recalling libraries & samples, etc., they ended up saying, "well, just do it using the software you already have..." (sigh) but anyway, thanks for replying. dc ------------------------------ Date: Tue, 16 Nov 1999 09:33:53 +0000 From: finer@easynet.co.uk Subject: synth arguments I thought this would be easy : I have a function in which there is a synth.sched. I'm declaring the function before I get to the actual synth.play body of the program. To cut a long story short : funcWithASynth = {arg aSynth,some other args; aSynth.sched(5,{ . . . . .}); blah;blah;blah}; synth.play({arg synth; funcWithASynth.value(synth); }) This doesn't work ! What's the trick . thanks, Jem ------------------------------ Date: Tue, 16 Nov 1999 03:43:42 -0700 From: James McCartney <---@---.---> Subject: Re: synth arguments At 2:33 AM -0700 11/16/99, finer@easynet.co.uk wrote: >I thought this would be easy : > >I have a function in which there is a synth.sched. >I'm declaring the function before I get to the actual synth.play body of >the program. > >To cut a long story short : > >funcWithASynth = {arg aSynth,some other args; > aSynth.sched(5,{ . . . . .}); > blah;blah;blah}; > >synth.play({arg synth; >funcWithASynth.value(synth); >}) > >This doesn't work ! What's the trick . > >thanks, > >Jem I see no reason why that should not work. There must be something more than you are showing. --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Tue, 16 Nov 1999 10:24:48 +0000 From: finer@easynet.co.uk Subject: Re: synth arguments >I see no reason why that should not work. There must be something >more than you are showing. > I'll try again ! >At 2:33 AM -0700 11/16/99, finer@easynet.co.uk wrote: >>I thought this would be easy : >> >>I have a function in which there is a synth.sched. >>I'm declaring the function before I get to the actual synth.play body of >>the program. >> >>To cut a long story short : >> >>funcWithASynth = {arg aSynth,some other args; >> aSynth.sched(5,{ . . . . .}); >> blah;blah;blah}; >> >>synth.play({arg synth; >>funcWithASynth.value(synth); >>}) >> >>This doesn't work ! What's the trick . >> >>thanks, >> >>Jem > > > --- james mccartney james@audiosynth.com http://www.audiosynth.com >If you have a PowerMac check out SuperCollider2, a real time synth program: > ------------------------------ Date: Tue, 16 Nov 1999 17:44:29 +0100 From: Alberto de Campo <---@---.---> Subject: Minor File reading bug in 2.2.3 Hi James and all, I found a little problem with trying to read non-existent files: ( var myTable; myTable = Wavetable.read("myPresetTable") // may exist or not. ? // If not, Wavetable.sineFill(2048, 1/[1,2,3,4]); // make a simple default table. myTable.plot; ) This worked with Version 2.2.1, but with 2.2.3, If myPresetTable does not exist, the read method ends with: ERROR: Message 'div' not understood. RECEIVER: nil etc ... this div: happens in the method File.readAllFloat: readAllFloat { ^this.prFileRequestSync(\readAllFloat, FloatArray.new(this.length div: 4)); } A file that is not found with the given path has a length of nil, and nil cannot be divided by 4, (or 2 for Int16 arrays, etc.); so the RawArray.read method needs to check for a file length of nil: *read { arg path; // Meta_RawArray::read method as is in SC2.2.3 var file, array; file = File.new(path, "rb"); if (file.notNil, { array = this.readNew(file); file.close; ^array }); ^nil } *read { arg path; var file, array; file = File.new(path, "rb"); if (file.length.notNil, { // suggested fix. array = this.readNew(file); file.close; ^array }); ^nil } Hope this helps, AdC ------------------------------ Date: Tue, 16 Nov 1999 17:03:04 +0000 From: finer@easynet.co.uk Subject: synth as argument Here is a patch that follows the previous idea : ( var e,f; e = Env.new([0,1,0],[0.5,0.5]); f = {arg aSynth,freq; EnvGen.ar(e,SinOsc.ar(freq)); aSynth.sched(10,{EnvGen.ar(e,SinOsc.ar(250))}); }; Synth.play({arg synth;f.value(synth,500)}) ) and doesn't work. Wondering why. Jem ------------------------------ Date: Tue, 16 Nov 1999 17:44:29 +0100 From: Alberto de Campo <---@---.---> Subject: Minor File reading bug in 2.2.3 Hi James and all, I found a little problem with trying to read non-existent files: ( var myTable; myTable = Wavetable.read("myPresetTable") // may exist or not. ? // If not, Wavetable.sineFill(2048, 1/[1,2,3,4]); // make a simple default table. myTable.plot; ) This worked with Version 2.2.1, but with 2.2.3, If myPresetTable does not exist, the read method ends with: ERROR: Message 'div' not understood. RECEIVER: nil etc ... this div: happens in the method File.readAllFloat: readAllFloat { ^this.prFileRequestSync(\readAllFloat, FloatArray.new(this.length div: 4)); } A file that is not found with the given path has a length of nil, and nil cannot be divided by 4, (or 2 for Int16 arrays, etc.); so the RawArray.read method needs to check for a file length of nil: *read { arg path; // Meta_RawArray::read method as is in SC2.2.3 var file, array; file = File.new(path, "rb"); if (file.notNil, { array = this.readNew(file); file.close; ^array }); ^nil } *read { arg path; var file, array; file = File.new(path, "rb"); if (file.length.notNil, { // suggested fix. array = this.readNew(file); file.close; ^array }); ^nil } Hope this helps, AdC ------------------------------ Date: Tue, 16 Nov 1999 17:03:04 +0000 From: finer@easynet.co.uk Subject: synth as argument Here is a patch that follows the previous idea : ( var e,f; e = Env.new([0,1,0],[0.5,0.5]); f = {arg aSynth,freq; EnvGen.ar(e,SinOsc.ar(freq)); aSynth.sched(10,{EnvGen.ar(e,SinOsc.ar(250))}); }; Synth.play({arg synth;f.value(synth,500)}) ) and doesn't work. Wondering why. Jem ------------------------------ Date: Tue, 16 Nov 1999 21:54:04 -0700 From: James McCartney <---@---.---> Subject: Re: synth as argument At 10:03 AM -0700 11/16/99, finer@easynet.co.uk wrote: >Here is a patch that follows the previous idea : > >( >var e,f; >e = Env.new([0,1,0],[0.5,0.5]); > >f = {arg aSynth,freq; > EnvGen.ar(e,SinOsc.ar(freq)); > aSynth.sched(10,{EnvGen.ar(e,SinOsc.ar(250))}); > }; > >Synth.play({arg synth;f.value(synth,500)}) > >) > > > >and doesn't work. > >Wondering why. because you do not return a ugen or array of ugens as output from your ugen graph function. You return the result of 'sched' which is just the synth itself. Your function must return its intended output. --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Tue, 16 Nov 1999 21:55:45 -0700 From: James McCartney <---@---.---> Subject: Re: synth as argument At 10:03 AM -0700 11/16/99, finer@easynet.co.uk wrote: >Here is a patch that follows the previous idea : > >( >var e,f; >e = Env.new([0,1,0],[0.5,0.5]); > >f = {arg aSynth,freq; > EnvGen.ar(e,SinOsc.ar(freq)); > aSynth.sched(10,{EnvGen.ar(e,SinOsc.ar(250))}); > }; > >Synth.play({arg synth;f.value(synth,500)}) > >) > > > >and doesn't work. > >Wondering why. > > >Jem Oh also, you cannot create new ugens in a sched function. ugens must be created when the synth is created. sched functions are for causing things to happen. If you need to spawn new collections of ugens you must use Spawn or TSpawn. --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Wed, 17 Nov 1999 02:09:27 -0700 From: James McCartney <---@---.---> Subject: Re: Minor File reading bug in 2.2.3 A mysterious voice says (with apparent ring modulation and spring reverb effects) : "This is the Illuminati Online (io.com). Stop playing cards and get back to work on the SC Tutorial. We will check back in 2.7 Galactic Standard Time Units. Over and Out.." (in the background can be heard sweepy sine oscillator sounds..) At 9:44 AM -0700 11/16/99, Alberto de Campo wrote: >martin laerkes wrote: >> But 'nutrition Nazis' can be used as a plot to turn _any_ group into a >> science group......_not_ just the ones in play. > >>From the CardFAQ: > >"Can you play NN when you are attempting to control a card out of your >hand? >You may not establish a link to a card that is not yet in play!" > >By the same argument, this would extend to any cards no longer in play. > > >This is probably already been settled somewhere, but in OBD rules, are >groups in the uncontrolled area considered "in play" or "just played"? --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Wed, 17 Nov 1999 09:20:25 +0000 From: finer@easynet.co.uk Subject: should have learned that one by now ! James thanks, >because you do not return a ugen or array of ugens as output >from your ugen graph function. >You return the result of 'sched' which is just the synth itself. >Your function must return its intended output. Jem ------------------------------ Date: Wed, 17 Nov 1999 10:40:57 +0100 From: rkuivila@mail.wesleyan.edu (Ron Kuivila) Subject: synth as argument vs. thisSynth Hi James, Is there any reason to pass 'synth' as an argument now that there is the pseudo-variable thisSynth ? Also, is thisSynth valid when a Task runs? RJK ------------------------------ Date: Wed, 17 Nov 1999 06:09:31 -0500 From: Mic Berends <---@---.---> Subject: granular resynthesis. have another cigarette. has anyone written code to umm, "resynthesise" a sound file by having playback grain size/duration/density and amplitude controlled by live input frequency and amplitude? or vice versa (e.g. sound file controls live input granularisation)? care to share? this would be fun with PSinGrain as well as GrainTap... FloatingFloatingFloating, Mic. P.S. my smoker's cough works very nicely as a percussion instrument looping in the granulate-input example. - -- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>v ^ Mic Berends : in the end, : Tomorrow Maximum v ^ MINDESIGN limited : there can be : Heaven Kissing EP v ^ http://www.mindesign.com/ : only one. : available now. v ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ------------------------------ Date: Wed, 17 Nov 1999 13:35:38 +0100 From: Alberto de Campo <---@---.---> Subject: Re: Minor File reading bug in 2.2.3 James McCartney wrote: > A mysterious voice says (with apparent ring modulation and > spring reverb effects) : > > "This is the Illuminati Online (io.com). Stop playing cards and > get back to work on the SC Tutorial. We will check back in > 2.7 Galactic Standard Time Units. Over and Out.." > > (in the background can be heard sweepy sine oscillator sounds..) Guilty, guilty, guilty... I AM back at it right now. AdC ------------------------------ Date: Wed, 17 Nov 1999 13:39:14 +0100 From: Alberto de Campo <---@---.---> Subject: Re: Minor File reading bug in 2.2.3 By the way, I donīt have the slighest idea where the second mail came from, or who martin laerkes is, nor do I even play cards at all... > +At 9:44 AM -0700 11/16/99, Alberto de Campo wrote: > >martin laerkes wrote: > >> But 'nutrition Nazis' can be used as a plot to turn _any_ group into a > >> science group......_not_ just the ones in play. > > > >>From the CardFAQ: > > > >"Can you play NN when you are attempting to control a card out of your > >hand? > >You may not establish a link to a card that is not yet in play!" > > > >By the same argument, this would extend to any cards no longer in play. > > > > > >This is probably already been settled somewhere, but in OBD rules, are > >groups in the uncontrolled area considered "in play" or "just played"? > > --- james mccartney james@audiosynth.com http://www.audiosynth.com > If you have a PowerMac check out SuperCollider2, a real time synth program: > ------------------------------ Date: Wed, 17 Nov 1999 09:48:59 -0700 From: James McCartney <---@---.---> Subject: Re: Minor File reading bug in 2.2.3 At 5:39 AM -0700 11/17/99, Alberto de Campo wrote: >By the way, >I donīt have the slighest idea where the second mail came from, >or who martin laerkes is, nor do I even play cards at all... Whoah, maybe the net IS controlled by the Illuminati.. or there has been a disruption in the Matrix.. ..or io.com's mail server must have screwed up.. The email is discussing Illuminati New World Order, a trading card game, which I am not too familiar with except for the fact that it has a pretty funny premise. You begin as an Illuminati such as Cthulu or UFOs and try to control Groups such as TV Preachers, Rosicrucians, CIA, Al Gore.. --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Wed, 17 Nov 1999 09:53:06 -0700 From: James McCartney <---@---.---> Subject: Re: synth as argument vs. thisSynth At 2:40 AM -0700 11/17/99, Ron Kuivila wrote: >Hi James, > > Is there any reason to pass 'synth' as an argument now that there is the >pseudo-variable thisSynth ? > not really, but taking it out would break code. > Also, is thisSynth valid when a Task runs? it should be. however I think that after calls to the OS it may not be correct. I'll have to check. --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Wed, 17 Nov 1999 12:19:35 -0700 From: James McCartney <---@---.---> Subject: Re: Minor File reading bug in 2.2.3 File::open no longer returns nil if it fails. This is because I wanted it to be asynchronous. If it had to wait until the request completed then it would be a synchronous operation. For writing files, you'd like it to be asynchronous so that you can just blast requests without pauses. Another fix is to add a method: isOpen { // allow pending requests to complete thisProcess.toolboxSync; // fileptr will be zero if the file is closed ^ fileptr == 0 } And then write: if (file.isOpen, { ... --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Wed, 17 Nov 1999 18:51:00 -0500 From: Scott Wilson <---@---.---> Subject: RangeView Pardon me if this turns out to be some stupid oversight on my part, but I'm having trouble using the range value of RangeView to control synthesis parameters, eg mul. Is there a way of using Plug to get this value? Or should I be using synth.trepeat to poll it? I'd appreciate it if you could post a short example. Thanks, Scott ------------------------------ Date: Wed, 17 Nov 1999 16:55:53 -0800 From: david gunn <---@---.---> Subject: Re: RangeView Here is what I did. If you use my code, please keep my name in it. Thanks. ( // Additive Synthesis Model. // Code by David Gunn var w, aFreq, bFreq, cFreq, aNumOsc, bNumOsc, cNumOsc, aTranTime, bTranTime, cTranTime, aSusTime, bSusTime, cSusTime, aAmp, bAmp, cAmp, aOnOff, bOnOff, cOnOff; w = GUIWindow.new("[...Insert Title of Composition Here...]", Rect.newBy(145, 48, 858, 625)).backColor_(rgb(76,76,76)); aFreq = RangeView.new( w, Rect.newBy(12, 39, 108, 150), "RangeView", 100, 200, 20, 3000, 1, 'linear').backColor_(rgb(255,12,0)).rangeColor_(rgb(253,245,255)); StringView.new( w, Rect.newBy(12, 14, 150, 20), "Frequency Range(20-3K)-A").backColor_(rgb(255,12,0)); aNumOsc = SliderView.new( w, Rect.newBy(203, 39, 29, 147), "aNumOsc", 2, 1, 12, 1, 'linear').backColor_(rgb(89,255,23)).knobColor_(rgb(253,245,255)); StringView.new( w, Rect.newBy(189, 197, 76, 19), "# of Osc.-A").backColor_(rgb(89,255,23)); aTranTime = SliderView.new( w, Rect.newBy(345, 39, 63, 153), "aTranTime", 4, 1, 10, 1, 'linear').backColor_(rgb(196,0,255)).knobColor_(rgb(253,245,255)); StringView.new( w, Rect.newBy(330, 15, 78, 19), "Next Event-A").backColor_(rgb(196,0,255)); aSusTime = SliderView.new( w, Rect.newBy(268, 39, 57, 153), "aSusTime", 9, 1, 15, 1, 'linear').backColor_(rgb(10,186,255)).knobColor_(rgb(253,245,255)); StringView.new( w, Rect.newBy(233, 16, 93, 19), "Sutain Time-A").backColor_(rgb(10,186,255)); aAmp = SliderView.new( w, Rect.newBy(140, 39, 35, 150), "aAmp", 0, 0, 0.08, 0.001, 'linear').backColor_(rgb(255,157,0)).knobColor_(rgb(253,245,255)); StringView.new( w, Rect.newBy(110, 198, 77, 19), "Amplitude-A").backColor_(rgb(255,157,0)); aOnOff = CheckBoxView.new( w, Rect.newBy(172, 229, 100, 26), "On/Off-A", 0, 0, 1, 0, 'linear'); bFreq = RangeView.new( w, Rect.newBy(17, 326, 103, 149), "RangeView", 100, 500, 20, 10000, 1, 'linear').backColor_(rgb(255,12,0)).labelColor_(rgb(76,76,76)).rangeColor_(rgb(0,0,0)); StringView.new( w, Rect.newBy(15, 485, 150, 20), "Frequency Range(20-10K)-B").backColor_(rgb(255,12,0)); bNumOsc = SliderView.new( w, Rect.newBy(215, 327, 25, 149), "bNumOsc", 2, 1, 12, 1, 'linear').backColor_(rgb(89,255,23)).knobColor_(rgb(0,0,0)); StringView.new( w, Rect.newBy(194, 297, 76, 19), "# of Osc.-B").backColor_(rgb(89,255,23)); bTranTime = SliderView.new( w, Rect.newBy(353, 326, 63, 153), "bTranTime", 4, 1, 10, 1, 'linear').backColor_(rgb(196,0,255)).knobColor_(rgb(0,0,0)); StringView.new( w, Rect.newBy(338, 485, 78, 19), "Next Event-B").backColor_(rgb(196,0,255)); bSusTime = SliderView.new( w, Rect.newBy(275, 325, 57, 153), "bSusTime", 9, 1, 15, 1, 'linear').backColor_(rgb(10,186,255)).knobColor_(rgb(0,0,0)); StringView.new( w, Rect.newBy(241, 485, 93, 19), "Sustain Time-B").backColor_(rgb(10,186,255)); bAmp = SliderView.new( w, Rect.newBy(145, 324, 36, 151), "bAmp", 0, 0, 0.08, 0.001, 'linear').backColor_(rgb(255,157,0)).knobColor_(rgb(0,0,0)); StringView.new( w, Rect.newBy(116, 297, 77, 19), "Amplitude-B").backColor_(rgb(255,157,0)); bOnOff = CheckBoxView.new( w, Rect.newBy(172, 261, 100, 26), "On/Off-B", 0, 0, 1, 0, 'linear'); cFreq = RangeView.new( w, Rect.newBy(455, 40, 140, 437), "cFreq", 20, 100, 20, 500, 1, 'linear').backColor_(rgb(0,0,0)).rangeColor_(rgb(21,0,255)); StringView.new( w, Rect.newBy(454, 485, 150, 20), "XtraBass Range(20-500)-C").backColor_(rgb(227,227,227)); cNumOsc = SliderView.new( w, Rect.newBy(609, 42, 40, 154), "cNumOsc", 2, 1, 12, 1, 'linear').backColor_(rgb(0,0,0)).knobColor_(rgb(16,0,243)); StringView.new( w, Rect.newBy(608, 201, 78, 20), "# of Osc-C").backColor_(rgb(227,227,227)); cTranTime = SliderView.new( w, Rect.newBy(609, 328, 40, 154), "cTranTime", 4, 1, 10, 1, 'linear').backColor_(rgb(0,0,0)).knobColor_(rgb(16,0,243)); StringView.new( w, Rect.newBy(607, 485, 83, 19), "Next Event-C").backColor_(rgb(227,227,227)); cSusTime = SliderView.new( w, Rect.newBy(741, 326, 40, 154), "cSusTime", 4, 1, 15, 1, 'linear').backColor_(rgb(0,0,0)).knobColor_(rgb(16,0,243)); StringView.new( w, Rect.newBy(723, 485, 83, 19), "Sustain Time").backColor_(rgb(227,227,227)); cAmp = SliderView.new( w, Rect.newBy(741, 42, 40, 154), "cAmp", 0, 0, 0.08, 0.001, 'linear').backColor_(rgb(0,0,0)).knobColor_(rgb(16,0,243)); StringView.new( w, Rect.newBy(723, 203, 78, 20), "Amplitude-C").backColor_(rgb(227,227,227)); cOnOff = CheckBoxView.new( w, Rect.newBy(296, 244, 100, 20), "On/Off-Bass", 0, 0, 1, 0, 'linear'); { var atran, aenvelope, asus, aoscNum, aamp, btran, benvelope, bsus, boscNum, bamp, ctran, cenvelope, csus, coscNum, camp; atran = Plug.kr(aTranTime); asus = Plug.kr(aSusTime); aamp = Plug.kr(aAmp); aoscNum = Plug.kr(aNumOsc); aenvelope = Env.linen(0.2, 0.5, 0.3); btran = Plug.kr(bTranTime); bsus = Plug.kr(bSusTime); bamp = Plug.kr(bAmp); boscNum = Plug.kr(bNumOsc); benvelope = Env.linen(0.2, 0.5, 0.3); ctran = Plug.kr(cTranTime); csus = Plug.kr(cSusTime); camp = Plug.kr(cAmp); coscNum = Plug.kr(cNumOsc); cenvelope = Env.linen(0.2, 0.5, 0.3); Pause.ar({ Spawn.ar({ Pan2.ar( EnvGen.ar(aenvelope, Klang.ar(`[ Array.rand(aoscNum.poll, aFreq.value, aFreq.range+aFreq.value)], 1, 0, aamp.poll), timeScale: asus.poll), 1.0.rand)}, 2, {atran.poll}) }, aOnOff.kr(10) ) + Pause.ar({ Spawn.ar({ Pan2.ar( EnvGen.ar(benvelope, Klang.ar(`[ Array.rand(boscNum.poll, bFreq.value, bFreq.range+bFreq.value)], 1, 0, bamp.poll), timeScale: bsus.poll), 1.0.rand)}, 2, {btran.poll}) }, bOnOff.kr(10) ) + Pause.ar({ Spawn.ar({ Pan2.ar( EnvGen.ar(cenvelope, Klang.ar(`[ Array.rand(coscNum.poll, cFreq.value, cFreq.range+cFreq.value)], 1, 0, camp.poll), timeScale: csus.poll), 1.0.rand)}, 2, {ctran.poll}) }, cOnOff.kr(10) ) }.play; ) Pause Scott Wilson wrote: > > Pardon me if this turns out to be some stupid oversight on my part, but I'm > having trouble using the range value of RangeView to control synthesis > parameters, eg mul. Is there a way of using Plug to get this value? Or > should I be using synth.trepeat to poll it? > > I'd appreciate it if you could post a short example. > > Thanks, > > Scott - -- David B. Gunn 510.636.7515 i'm a man on a mission- don't stand in my way, or i'll have to take you along and show you the stars. i *WILL* change this world. ------------------------------ End of sc-users-digest V1 #73 *****************************