From: owner-sc-users-digest@lists.io.com (sc-users-digest) To: sc-users-digest@lists.io.com Subject: sc-users-digest V1 #346 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 Tuesday, August 21 2001 Volume 01 : Number 346 ---------------------------------------------------------------------- Date: Sun, 19 Aug 2001 13:06:00 -0400 From: "felix" <---@---.---> Subject: Re: Synth question > Hi! > I am trying to plot an envelope while playing. > I can't use Synth.collect. > I guess there must be some better way than this in SC2.2.11? > Jesper you could record the output of EnvGen.kr into a buffer. if the timing is exact,that's the best way. trigger the EnvGen and the RecBuff reset to start using the same triger, and exactly at the end, slam the record level to 0. in any case, with the method below, you should allocate the whole signal and then .put into it, rather than add which can be very slow. or perhaps use add, but make sure the signal is already the size you will need. > > > > ( > Synth.play({arg syn; > var w, v1, env, eg, sig, len, n, zoom, s1, s2, s3, s4, s5, trig, kr, krps; > trig = Impulse.kr(1); > kr = syn.blockSize / Synth.sampleRate; > krps = Synth.sampleRate / syn.blockSize; > sig = Signal.newClear(0); > > w = GUIWindow.new("Envelope", Rect.newBy( 40, 40, 528, 420 )); > v1 = SignalView.new( w, Rect.newBy( 21, 23, 460, 200 ), y, -1, 1); > > s1 = SliderView.new( w, Rect.newBy( 21, 260, 460, 20 ), " ", 0.1, 0.0, > 0.3); > s2 = SliderView.new( w, Rect.newBy( 21, 290, 460, 20 ), " ", 0.3, 0.0, > 0.5); > s3 = SliderView.new( w, Rect.newBy( 21, 320, 460, 20 ), " ", 0.3, 0.0, > 0.5); > s4 = SliderView.new( w, Rect.newBy( 21, 350, 460, 20 ), " ", 1.0, 0.1, > 1.0); > s5 = SliderView.new( w, Rect.newBy( 21, 380, 460, 20 ), " ", 0.1, -16, > 16); > > env = Env.linen(s1.value, s2.value, s3.value, s4.value, s5.value); > eg = EnvGen.kr(env); > > TSpawn.ar({arg spawn, count, s; > sig = Signal.newClear(0); > env = Env.linen(s1.value, s2.value, s3.value, s4.value, s5.value); > eg = EnvGen.kr(env); > len = env.times.sum; > zoom = ceil(len / v1.bounds.width); > v1.zoom = zoom; > n = (krps * len).floor; > s.repeatN( kr, kr, n, { sig = sig.add(eg.poll); }); > s.sched( kr * n, { v1.signal = sig; v1.refresh; }); > Plug.kr(0) * eg; > }, 1, nil, trig); > > Spawn.ar({ > SinOsc.ar(444, 0, EnvGen.kr( > Env.linen(s1.value, s2.value, s3.value, s4.value, > s5.value))); > }, 1, 1); > }); > > > GUIWindow.closeAll; > ) > > > > ------------------------------ Date: Sun, 19 Aug 2001 19:20:01 +0200 From: jr@xs4all.nl (joel ryan) Subject: Rapid Environement swaps Is there any limit of speed or size in maintaining multiple Environments? If I have 5-10 players each with its own environment (of size comparable to a protoevent) each swapping in it's own environment at e.g. grain spawn rates, am I going to run into problems? Up to now I have been using fixed global arrays addressable by players to hold dynamically (midi, OSC, presets) updated parameters. I recognize the advantages of Environments but wonder about the limitations. - -- - -=-=-=-=---=-=-=-=-===-----=-==-=-=-====---=------=-------- Joel Ryan STEIM :: Ballett Frankfurt :: Institute of Sonology Achtergracht 19, 1017WL Amsterdam +31 (20) 624-3886 +31 (20) 626-4262 fax http://www.frankfurt-ballett.de/joel.html http://www.steim.nl ------------------------------ Date: Sun, 19 Aug 2001 12:32:54 -0500 From: James McCartney <---@---.---> Subject: Re: Rapid Environement swaps on 8/19/01 12:20 PM, joel ryan at jr@xs4all.nl wrote: > Is there any limit of speed or size > in maintaining multiple Environments? > > If I have 5-10 players each with its own > environment (of size comparable to a protoevent) > each swapping in it's own environment at e.g. grain spawn rates, > am I going to run into problems? An Environment is just an IdentityDictionary. IdentityDictionary is a hash table and so has O(1) constant time lookup. You should have no problem. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sun, 19 Aug 2001 13:38:52 -0400 From: "felix" <---@---.---> Subject: Re: Re: GC signal memory Is the problem (that you are trying to solve) about reusing the same sound files ? like using the same sample many times but ensuring you only load one copy ? I have a class that is used by other classes that either loads a sound file (and loads its data: shorter samples), or returns a sharable instance of that soundfile. there is no retain/release type counting, as many of my objects don't know when they get destroyed. i just do SharedSamples.startSharing; which enables sharing and clears the cache (IdentityDictionary keyed on path names). Samples are held until .stopSharing or a new session starts. you can have it if it sounds like its of use. or that you are trying to reuse buffer space (using the buffers for reverbs, delays, sampling etc.) ? > >Does anyone have any recommendations > >re recycling sound file (signal) memory? > >I'm looking for the object: dictionary, array, list, > >which is best suited to storing sounds > >but whose memory is garbage collected rapidly after > >references are purged. > > > >I'm reluctant to use a sophisticated construction > >which might keep references around I don't know about. > > > >Julian's Signal Bank method seems foolproof > >but I would prefer to use named references (like Library3). > >SignalBanks use of List indexes makes keeping track of which file is where > >a bit awkward since numerical order of the objects shifts each time > >files are is deleted > >JRyan > >-- > > true, I've had this problem, too. > I could make a version that uses an IdentityDictionary mapping paths > to indices, so that this problem is solved. > > > ------------------------------ Date: Sun, 19 Aug 2001 12:40:25 -0500 From: James McCartney <---@---.---> Subject: Re: Plug rules on 8/18/01 10:02 AM, Ronald J. Kuivila at rkuivila@mail.wesleyan.edu wrote: >> >>> (The above example is written in SC2 style, but the question applies to >>> SC3. Also, what are the different mode's of a plug?) >> >> What do you mean by modes? >> >> > there is a 'mode' argument in the SC3 version of plug. It is set to > \gate in some examples. > > RJK > In SC3 the mode and the lagTime determine the curve when setting the source. Mode can be \gate, or one of the Env segment types: \linear, \exponential, \sine, \welch. updates. If the mode is nil, then you get Lag behaviour as in version 2. If mode is some other thing, then you get that shape for the lagTime duration. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sun, 19 Aug 2001 21:07:03 +0200 From: Jesper El=?ISO-8859-1?B?6Q==?=n <---@---.---> Subject: Re: Synth question 01-08-19 19.06, skrev felix på felix@crucial-systems.com följande: >> Hi! >> I am trying to plot an envelope while playing. >> I can't use Synth.collect. >> I guess there must be some better way than this in SC2.2.11? >> Jesper > > > you could record the output of EnvGen.kr into a buffer. if the timing is > exact,that's the best way. > trigger the EnvGen and the RecBuff reset to start using the same triger, and > exactly at the end, slam the record level to 0. > > in any case, with the method below, you should allocate the whole signal and > then .put into it, rather than add which can be very slow. or perhaps use > add, but make sure the signal is already the size you will need. > Aha! RecBuff I will try. That sounds like the thing I've been looking for. Thanks Felix. Jesper - -- Jesper Elén Österväg 24 621 45 Visby Sweden phones: privat: +46-498-271565 VITC: +46-498-249900 also fax. +46-498-249907 Tonis: +46-498-284848 +46-498-284810 also fax. email: j.elen@telia.com jesper.elen@centreforcomposers.org ------------------------------ Date: Sun, 19 Aug 2001 18:58:53 -0400 From: "crucial" <---@---.---> Subject: Re: Synth question / Env plotting > >Aha! RecBuff I will try. >That sounds like the thing I've been looking for. >Thanks Felix. > >Jesper the other trick I noticed with EnvGen / Env plotting: look at jmc's code for Env.plot basically you shouldn't make a 4 second buffer, just a very short one ( timeScale: duration * 0.05 ) is sufficient. _____(( http://crucial-systems.com _________________))_______ ------------------------------ Date: Sun, 19 Aug 2001 19:06:21 -0400 From: "crucial" <---@---.---> Subject: Re: Rapid Environement swaps notice too that a Spawn when created saves the currentEnvironment that it was in. each event time, it swaps that environment back in. so if your grain players are each created within an environment, they will swap in that environment themselves via primitive. >Is there any limit of speed or size >in maintaining multiple Environments? > >If I have 5-10 players each with its own >environment (of size comparable to a protoevent) >each swapping in it's own environment at e.g. grain spawn rates, >am I going to run into problems? > >Up to now I have been using fixed global arrays addressable by players >to hold dynamically (midi, OSC, presets) updated parameters. >I recognize the advantages of Environments >but wonder about the limitations. > > >-- >-=-=-=-=---=-=-=-=-===-----=-==-=-=-====---=------=-------- >Joel Ryan >STEIM :: Ballett Frankfurt :: Institute of Sonology >Achtergracht 19, 1017WL Amsterdam >+31 (20) 624-3886 >+31 (20) 626-4262 fax >http://www.frankfurt-ballett.de/joel.html >http://www.steim.nl > > _____(( http://crucial-systems.com _________________))_______ ------------------------------ Date: Mon, 20 Aug 2001 01:42:53 +0200 From: jr@xs4all.nl (joel ryan) Subject: Re: GC signal memory At 15:09 +0200 8/19/01, you wrote: >> >>Julian's Signal Bank method seems foolproof >>but I would prefer to use named references (like Library3). >>SignalBanks use of List indexes makes keeping track of which file is where >>a bit awkward since numerical order of the objects shifts each time >>files are is deleted >>JRyan >>-- > >true, I've had this problem, too. >I could make a version that uses an IdentityDictionary mapping paths >to indices, so that this problem is solved. do you mean to store the sounds in the dictionary or just just a dictionary to refer to indexes via symbols jr - -- - -=-=-=-=---=-=-=-=-===-----=-==-=-=-====---=------=-------- Joel Ryan STEIM :: Ballett Frankfurt :: Institute of Sonology Achtergracht 19, 1017WL Amsterdam +31 (20) 624-3886 +31 (20) 626-4262 fax http://www.frankfurt-ballett.de/joel.html http://www.steim.nl ------------------------------ Date: Mon, 20 Aug 2001 01:40:50 +0200 From: jr@xs4all.nl (joel ryan) Subject: Re: GC signal memory >Is the problem (that you are trying to solve) about reusing the same >sound files ? like using the same sample many times but ensuring >you only load one copy ? > >or that you are trying to reuse buffer space (using the buffers for >reverbs, delays, sampling etc.) ? its the latter, I just want to be sure that I can reuse memory of old sample files for new ones in SC1 I was used to a "purge" function which allowed me to manually recycle big hunks for this purpose though sharedSamples class seems useful I dont (think I) have currently any routines which compete for samples I just need advice I think on a safe place to store sounds and be sure all references to them are deleted when I decide jr - -- - -=-=-=-=---=-=-=-=-===-----=-==-=-=-====---=------=-------- Joel Ryan STEIM :: Ballett Frankfurt :: Institute of Sonology Achtergracht 19, 1017WL Amsterdam +31 (20) 624-3886 +31 (20) 626-4262 fax http://www.frankfurt-ballett.de/joel.html http://www.steim.nl ------------------------------ Date: Mon, 20 Aug 2001 03:01:57 +0200 From: Julian Rohrhuber <---@---.---> Subject: Re: GC signal memory >At 15:09 +0200 8/19/01, you wrote: > >>> >>>Julian's Signal Bank method seems foolproof >>>but I would prefer to use named references (like Library3). >>>SignalBanks use of List indexes makes keeping track of which file is where >>>a bit awkward since numerical order of the objects shifts each >>>time files are is deleted >>>JRyan >>>-- >> >>true, I've had this problem, too. >>I could make a version that uses an IdentityDictionary mapping >>paths to indices, so that this problem is solved. > >do you mean to store the sounds in the dictionary >or just just a dictionary to refer to indexes via symbols >jr when storing all data in dictionaries, it can't be accessed by index, unless one would create an extra dict that maps indices to keys. I think maybe it would be good to just leave it as it is and to change the remove method so that the signal is just set to nil. PlayBank would then have to check if the signal is nil, but that would be easy. This way SampleBank would work very similar to WavesampleBank in sc3 which would make it easy to move later, too. jr ------------------------------ Date: Mon, 20 Aug 2001 03:22:35 +0200 From: Julian Rohrhuber <---@---.---> Subject: sc2 soundfile GUI example //record a soundfile: Synth.record({ Pan2.ar(Resonz.ar(WhiteNoise.ar(0.5), Line.kr(5000, 40, 10), 0.1), SinOsc.kr(Line.kr(1, 5, 10))) }, 10, ":sounds:wn"); //play it: ( var path, sf,sr, signal, funk, size, zoom, stream, dstream, fstream, fpat, pat, dpat, blendpat, blendstream; var pstrange, strange; var arr, n; var w, sv; w = GUIWindow.new("(\\)", Rect.newBy(407, 199, 400, 251)); sv = SignalView.new( w, Rect.newBy(47, 40, 289, 150), nil, -1, 1); path = ":sounds:wn"; sf = SoundFile.new; sf.read(path); signal = sf.data; size = signal.at(0).size; sr = sf.sampleRate; sv.signal_(signal.at(0)); zoom = size / 300; sv.zoom = zoom; funk = { arg start, end, rate=1, sustain, blend; var env, env2, st, en; env = Env.linen(0.01, 0.8, 0.2); env2 = Env.linen(0.02, 0.1, 0.8); st = start*size; en = end*size; PlayBuf.ar(signal, sr, rate, st, st, en) * EnvGen2.kr(env, env2, blend, timeScale: sustain) }; pstrange = { arg inval; Prout({ i = rrand(0.0, 1); loop({ i= inval.poll*i*(1-i); (i).yield; }) }) }; pat = Pseq([0, 0.1, 0.2, 0.5, 0, 0.1], inf); dpat = Pseq([0.1, 0.1, 0.01], inf); fpat = Pseq([1, 1.3, 0.9, 2, 0.3, 0.9, 1], inf); blendpat = Pseq([0, 0, 0, 1, 0.5], inf); stream = pat.asStream; dstream = dpat.asStream; fstream = fpat.asStream; blendstream = blendpat.asStream; { arg synth; var my, mx; my = MouseY.kr(0, 1); mx = MouseX.kr(0, 0.05); strange = pstrange.value(3 + my).asStream; TSpawn.ar({ var st, en, mul; st = stream.next + my.poll; en = st + mx.poll;//(st + dstream.next + mx.poll).clip(st, 1); mul = strange.next; sv.setSelection((st*size).asInteger, (en*size).asInteger); funk.value(st, en, fstream.next, en-st * size / sr, blendstream.next) * mul }, 2, nil, Impulse.ar(8), 0.4) }.play; w.close; ) ------------------------------ Date: Mon, 20 Aug 2001 09:17:50 +0200 From: Julian Rohrhuber <---@---.---> Subject: Re: GC signal memory >At 15:09 +0200 8/19/01, you wrote: > >>> >>>Julian's Signal Bank method seems foolproof >>>but I would prefer to use named references (like Library3). >>>SignalBanks use of List indexes makes keeping track of which file is where >>>a bit awkward since numerical order of the objects shifts each >>>time files are is deleted >>>JRyan >>>-- >> >>true, I've had this problem, too. >>I could make a version that uses an IdentityDictionary mapping >>paths to indices, so that this problem is solved. > >do you mean to store the sounds in the dictionary >or just just a dictionary to refer to indexes via symbols >jr there is a new version on http://swiki.hfbk.uni-hamburg.de:8080/MusicTechnology/140, in my opinion the recycling has improved usability. ------------------------------ Date: Mon, 20 Aug 2001 16:29:37 +0200 From: John Eacott <---@---.---> Subject: jeReBirth This is a multi-part message in MIME format. - --------------2F1FC91663B8131FDB00D971 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, The enclosed is an attempt to make a graphic interface for making beats etc. a-la ReBirth. When playing the peak CPU is around 100% (on my G3 266) but the average CPU is much lower (10 - 20%). Is there a way that I could programme it so it uses less (peak) CPU? - -- john eacott ======================================== composer - interactive sound design informal.org --- strangeattraction.com --- wmin.ac.uk eacottj@wmin.ac.uk --- john@informal.org - --------------2F1FC91663B8131FDB00D971 Content-Type: application/x-stuffit; x-mac-type="53495435"; x-mac-creator="53495421"; name="JDrum.sc.sit" Content-Transfer-Encoding: base64 Content-Description: Unknown Document Content-Disposition: inline; filename="JDrum.sc.sit" U3R1ZmZJdCAoYykxOTk3LTE5OTggQWxhZGRpbiBTeXN0ZW1zLCBJbmMuLCBodHRwOi8vd3d3 LmFsYWRkaW5zeXMuY29tL1N0dWZmSXQvDQoaAAUQAAAERgAAAHIAAQAAAHIpbQ2lpVJlc2Vy dmVkpaUApaWlpQEAADgAELeQn+G3ng4PAAAAAAAAAAAAAAAAAAhdIgAABj0AAAF8AAAAAA8A SkRydW0uc2MAASZ5VEVYVFNDam0BAAAAAQEAAAAAAAAAAAAAgAAAAAAAAAAAAAlIAAAB7gAA AAAPAELB1J39+u6IWGj/+yqdvIz3FkV7jMko9v6Z8GmW7oXVy+2gg7+z/bD3Apv1UDRjRO2+ /7XQuOacz5KTmaX4whHHYpNdmDGI3HgXWfgDMm0BIAc+jgslVgZeYqgN65COvXYFExWAFIc3 vCCwDPUVZ2tYMf4+rOb2Qxp7fJNMb8F7wZmGLIt0tT128FYDCpJeIxcdqcBebNo+LBcw5yOZ UwFERl8g5n2abN763aDJz+Wc5lDzdAawhhqM3J9XXiDyhhY+svTacVySXtGUDI90XkqqSy3f UCwOXWdKd5hnQc7VBSPmvqYjFAzA1KUDJR2xuFM925wT06t5+1XyuSuQA4HU0cA7eBX71J1h Jxy1HDC214UKaXKClu8LtGgey3/0CNvc3gCi9H51dK04alTCkOp8QtsxQQv/1CYuQEV4ujGl 4ojujVjxTm6tQxSt0TlRemew3K1uvsfG/XrIyMrTneUkUBfl/kH8yNgegk/sV4jpl1HeHG0o IWNZkKebqqgC+mTcRcjCqItsFTncMT+6BjfgxgUTiPKCKbtNbKRkb8bHzNqMuqpyFS2XEnnZ P3TwC+3JzVNTx6xOBXxyJ8cMT7C73KRZ8rSXHnOOQKuGjxbqEjX0dxE4hWVK9QvyyQCi0tL5 nmFAk1XpH5xl2MwAQsHU0A20v7y7zUH0OvSso8vYOQTch8ALj6JnXei3Lxi8xHa3jRW4rQ7D G9XrpRnhE8/X7NnEERgYmBJrEzSL/MUhUxQj5kDdZHXe7uT3Rd1kbbbVOjY2p4orPUYogAE+ 1vVKrP/9J3ZBrzcE/aArkt/n9UKbrNrmOnDwfVTxJHymBMdWfIJLmvD06URzAwzk2E3LUJEO NDunaUK0QV666zpXyYLl2j0aHjUr3nad+QyHna8qXugIab68WmtbL4+Xvi8LBGwNJBKGWb47 OzxCNUtt9uXdlHFvKxuC6y/jeK9fo2EP+5T7MwfhUWzpbZ0zMKvgE5ajrIT3+OMQZC99Q5Au 2Yow3DlFhiFGX/XT8VMkzRyxLq9sKWPwSo4oovZ//137b3Jv9vlExcEd9msQR06IHbUN2s34 HAqPtXpjvQinPdDwh/5nqIQBdclrKHrvfZPb/Ay8R783ZOwKaD199tGLd/32/hsXhcsH44od f5NtfFPkI2QXINPdyrg= - --------------2F1FC91663B8131FDB00D971 Content-Type: application/x-stuffit; x-mac-type="53495435"; x-mac-creator="53495421"; name="jeReBirth1.38.sit" Content-Transfer-Encoding: base64 Content-Description: Unknown Document Content-Disposition: inline; filename="jeReBirth1.38.sit" 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 rjog87gySuw6Cax4gXAETyHwuR7XFbQA - --------------2F1FC91663B8131FDB00D971-- ------------------------------ Date: Mon, 06 Feb 2040 05:41:07 +0100 From: jo <---@---.---> Subject: auth.code Hi James... S.C. comes up with a box requiring me to enter a new serial number/authorization code?.... I guess we'll need a new one? (* why does it always happen when I just have a brilliant idea that I want to try out *) *sigh* :) Greetings, Joachim ------------------------------ Date: Mon, 06 Feb 2040 05:55:35 +0100 From: jo <---@---.---> Subject: Re: auth.code this was an accident -> sorry ------------------------------ Date: Mon, 20 Aug 2001 17:43:15 +0100 From: Arie van Schutterhoef <---@---.---> Subject: Re: auth.code >this was an accident -> sorry - -go to support@audiosynth.com AvS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .................................................................. ^ Arie van Schutterhoef | arsche@xs4all.nl ^_±±±±±±±±±±±±±±±±±±±±±±±__""""""""""""""""""""""""""""""""" | ` |Schreck Ensemble http://www.xs4all.nl/~schreck/ | ` |# -laboratory for live electro-acoustic music- # | ` |Tel: 00-31-71-5612287 Fax: 00-31-70-3859268 | *========================================================++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .................................................................. ------------------------------ Date: Tue, 21 Aug 2001 04:20:06 +0200 From: Paul Modler <---@---.---> Subject: how to send 255 to MIDIOut Does anyone know how to send the value 255 as *one* byte out the MIDIOut port in sc 2.2.11 ? cheers Paul ------------------------------ Date: Tue, 21 Aug 2001 04:39:23 +0200 From: Paul Modler <---@---.---> Subject: MidiInput devices, how to clear MIDIController James, Is it possible in SC2.2.11 to select between different MIDI Input Ports ( like the different input ports from a motu midi interface) Is it possible to * clear * the value of a MIDIController ? I'm trying to controll a MIDIController from an endless knob, but the MIDIController stays on the last value, which means, that also not turning the knob, the MIDIController gives a value != 0, (which is ugly). cheers Paul ------------------------------ Date: Tue, 21 Aug 2001 18:02:20 +0200 From: Jesper El=?ISO-8859-1?B?6Q==?=n <---@---.---> Subject: Re: Synth question / Env plotting 01-08-20 00.58, skrev crucial på felix@crucial-systems.com följande: > the other trick I noticed with EnvGen / Env plotting: > look at jmc's code for Env.plot > > basically you shouldn't make a 4 second buffer, > just a very short one ( timeScale: duration * 0.05 ) > is sufficient. Yes! That works nicely thanks. Jesper ------------------------------ Date: Tue, 21 Aug 2001 19:14:40 +0200 From: Fredrik Olofsson <---@---.---> Subject: Re: jeReBirth >Hi, >The enclosed is an attempt to make a graphic interface for making beats >etc. a-la ReBirth. > >When playing the peak CPU is around 100% (on my G3 266) but the average >CPU is much lower (10 - 20%). > >Is there a way that I could programme it so it uses less (peak) CPU? hi john! by using if-statements routing the signal inside those Pbind ugenFuncs you could save about 20% cpu. i use it all the time as some kind of Pause substitute. e.g. *bd1 { arg amp = 0.5, pan = 0, volume = 0.5, release = 0.3, pitch = 50; if (amp>0,{ ^Pan2.ar( Mix.ar(SinOsc.ar([pitch-15, pitch, pitch+15])) * Line.kr(amp/2, 0, amp*release) ,pan,volume) },{ ^FSinOsc.ar(0,0) //dummy ugen })} *sd1 { arg amp = 0.6, pan = 0, volume = 0.5, release = 0.25, pitch = 2000; if (amp>0,{ ^Pan2.ar( Resonz.ar( WhiteNoise.ar, pitch, 0.4) * EnvGen.kr(Env.perc(0.01, amp*release, amp*2)) ,pan,volume) },{ ^FSinOsc.ar(0,0) //dummy ugen })} and so on... ps. cool. can't wait to see a bunch of filters implemented. /fredrik - -- #| http://olofsson.da.ru |# ------------------------------ End of sc-users-digest V1 #346 ******************************