From: owner-sc-users-digest@lists.io.com (sc-users-digest) To: sc-users-digest@lists.io.com Subject: sc-users-digest V1 #372 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 Monday, October 22 2001 Volume 01 : Number 372 ---------------------------------------------------------------------- Date: Sat, 20 Oct 2001 19:30:14 -0600 From: Michael Theodore <---@---.---> Subject: Re: FFT bin extraction > > > extracting and manipulating individual frequency bands/bins in realtime is > CPU intensive (very). While this is certainly true, one can have many ffts running in real-time on a G4 (a friend of mine said that he had 15 independent frequency domain processes running the other day). In Max/MSP, for example, one can access and modify individual fft bins rather easily. The tabla and computer piece that I posted here a few weeks ago made extensive use of real-time bin manipulation.... - -M ------------------------------ Date: Sat, 20 Oct 2001 22:47:43 -0400 From: Andrei <---@---.---> Subject: [OT] PowerBook annoyance I was wondering if anyone else has this problem ? I have a FireWire G3 PowerBook ("Pismo") and often if I'm using the battery and I just let the machine sitting idle for a few minutes it'll freeze. This never happens when it's plugged in. I don't think it's my Energy Saver settings. Any ideas ? Andrei ------------------------------ Date: Sun, 21 Oct 2001 01:44:06 -0400 From: christian adam hresko <---@---.---> Subject: Re: FFT bin extraction Michael Theodore wrote: > > > > > > extracting and manipulating individual frequency bands/bins in realtime is > > CPU intensive (very). > > While this is certainly true, one can have many ffts running in > real-time on a G4 (a friend of mine said that he had 15 independent > frequency domain processes running the other day). In Max/MSP, > for example, one can access and modify individual fft bins rather > easily. The tabla and computer piece that I posted here a few weeks > ago made extensive use of real-time bin manipulation.... > > -M i guess i should rephrase my statement. accessing and modifying MANY ffts bins in realtime is quite difficult. a lot of times, you're performing a single process over a series of bins. however, let's say you want to delay one bin, filter the next bin, pitch shift the next bin, etc, etc... and spit it all back out in realtime. that's not an easy task. (mathematically or CPU wise) i'm not familiar enough with Max/MSP to comment on what scheme is being used within that software. a lot of this also depends on how large of a window you're using. (or how many bins you're using) i'll have to go back and take a look at the piece you posted. i could very well just be wrong... ch. ------------------------------ Date: Sun, 21 Oct 2001 02:01:19 -0400 From: christian adam hresko <---@---.---> Subject: Re: PlugIn docs Ian Pojman wrote: > Hi list. > > Are there any docs out there describing SC 3's PlugIn api? Any > developers out there working on them? > > Also, what is the "ProjectName Data" subfolder for? > (the CWSettingsMacOS.stg file? I don't see how to specify that from > within CW5 gold) > > RE: FFT bins... maybe it'd be nice if there was some kind of API for > that - maybe a non-UGen plugin - I'm assuming those are just as feasible > within the SC machine right? > > Ian take a look at the paper james presented at the ICMC. it details the framework for an SC plugin. re: stg files you should be working with the project files. to compile each plugin, you need to specify the path(s) of the #include files. re: API for FFT plugins i don't think james is going to make a separate API for specific plugins. the API is just there as a framework. since he can't predict (i don't think...) what kinda plugin(s) people are going to make, the entire framework is relatively 'generic.' by non-ugen plugin, do you mean a primitive? i don't think this is what you want. you probably want to stick with a ugen. (notice the phase vocoder plugin is a ugen and the array plugin is a primitive...) ch. ------------------------------ Date: Sun, 21 Oct 2001 08:44:27 -0600 From: Michael Theodore <---@---.---> Subject: Re: FFT bin extraction > > > i guess i should rephrase my statement. > > accessing and modifying MANY ffts bins in realtime is quite difficult. > > a lot of times, you're performing a single process over a series of bins. > however, let's say you want to delay one bin, filter the next bin, pitch shift > the next bin, etc, etc... and spit it all back out in realtime. that's not an > easy task. (mathematically or CPU wise) I see what you mean. I was talking mostly about modifying the degree to which individual bins are resynthesized or not. My patch was based on the "Forbidden Planet" patch in the MSP distribution. You take, say, a 1024 point FFT, draw (or algorithmically define) a curve in a window, convert that curve to a table, then convolve the FFT w. that table. You can do all sorts of hard filtering this way, and can change the table at the control rate. > i'm not familiar enough with Max/MSP to comment on what scheme is being used > within that software. There is altivec optimizations, but even with this turned off, the scheme described above eats a suprisingly small amount of cpu. > > i'll have to go back and take a look at the piece you posted. i could very > well just be wrong... Actually, I just posted the results. It was done in MSP and Supercollider. The only FFT things done in Supercollider (in that piece) were based on the examples in sc 2, and didn't involve getting directly at the actual bins. - -m ------------------------------ Date: Sun, 21 Oct 2001 17:19:21 +0100 From: Arie van Schutterhoef <---@---.---> Subject: Re: FFT bin extraction >I see what you mean. I was talking mostly about modifying the >degree to which individual bins are resynthesized or not. My patch was >based on the "Forbidden Planet" patch in the MSP distribution. You >take, say, a 1024 point FFT, draw (or algorithmically define) a curve in a >window, convert >that curve to a table, then convolve the FFT w. that table. - -Which is basically a kind of 'amplitude modulation'; >There is altivec optimizations, but even with this turned off, the scheme >described above eats a suprisingly small amount of cpu. - -Modern cpu's are quite good at that; Especially the PPC's have basic DSP instructions on board. 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: Sun, 21 Oct 2001 14:15:20 -0400 From: felix <---@---.---> Subject: Re: FFT bin extraction on 10/21/01 10:44 AM, Michael Theodore at michael.theodore@colorado.edu was talking mostly about modifying the > degree to which individual bins are resynthesized or not. My patch was > based on the "Forbidden Planet" patch in the MSP distribution. You > take, say, a 1024 point FFT, draw (or algorithmically define) a curve in a > window, convert > that curve to a table, then convolve the FFT w. that table. You can do > all sorts of hard filtering this way, and > can change the table at the control rate. sc2: FFT returns an array of Complex ( each with a ugen in its real and imag slots ). while building your graph function, you can multiply individual bins in that array however you like, scramble them, forget about some of them, multiply them by things. then pass it to the ifft. you would want to fft.collect({ arg complex,i; complex * curveTable.at(i) }) // i think you can just multiply the complex // maybe have to Complex.new(complex.real * mod, complex.imag * mod) or am i missing something ? >> i'm not familiar enough with Max/MSP to comment on what scheme is being used >> within that software. > > There is altivec optimizations, but even with this turned off, the scheme > described above eats a suprisingly small amount of cpu. sc2 takes maybe 4-6% on my g3 to do fft / ifft with some kind of wacky filtering in between. >> >> i'll have to go back and take a look at the piece you posted. i could very >> well just be wrong... > > Actually, I just posted the results. It was done in MSP and Supercollider. > The only FFT things done in Supercollider > (in that piece) were based on the examples in sc 2, and didn't involve > getting directly at the actual bins. i was trying to do a split, separating the audio into three separate ranges of bins, then ifft them each individually. it ended up not being that applicable to my problem. i also tried throwing strange windows at the ifft. it was alright. > > -m > > > > ------------------------------ Date: Sun, 21 Oct 2001 14:11:49 -0800 From: anthony burr <---@---.---> Subject: Re: FFT bin extraction i think the fft ugen returns a complex valued signal, so you can apply all the usual arrayed collection methods and math stuff to the spectrum--i've had good success with this kind of thing. also, just fiddling around with odd windowing/overlap ideas can gain you a lot of mileage. i guess though that all these strategies deal on the signal level rather than with the individual bin values. re: spectral plugins for sc3, just look in the plugin dev folder in projects, PV_Ugens i think. all the source for the slew of great phase vocoder ugens james wrote is in there, and the framework is pretty clear. has anyone used the spectral rate oscillator in sc2 successfully??? anthony > > >> >> i guess i should rephrase my statement. >> >> accessing and modifying MANY ffts bins in realtime is quite difficult. >> >> a lot of times, you're performing a single process over a series of bins. >> however, let's say you want to delay one bin, filter the next bin, >>pitch shift >> the next bin, etc, etc... and spit it all back out in realtime. >>that's not an >> easy task. (mathematically or CPU wise) > >I see what you mean. I was talking mostly about modifying the >degree to which individual bins are resynthesized or not. My patch was >based on the "Forbidden Planet" patch in the MSP distribution. You >take, say, a 1024 point FFT, draw (or algorithmically define) a curve in a >window, convert >that curve to a table, then convolve the FFT w. that table. You can do >all sorts of hard filtering this way, and >can change the table at the control rate. > > >> i'm not familiar enough with Max/MSP to comment on what scheme is being used >> within that software. > >There is altivec optimizations, but even with this turned off, the scheme >described above eats a suprisingly small amount of cpu. > >> >> i'll have to go back and take a look at the piece you posted. i could very >> well just be wrong... > >Actually, I just posted the results. It was done in MSP and Supercollider. >The only FFT things done in Supercollider >(in that piece) were based on the examples in sc 2, and didn't involve >getting directly at the actual bins. > >-m - -- ------------------------------ Date: Sun, 21 Oct 2001 13:55:41 -0700 From: MarkDavid <---@---.---> Subject: Is the SWIKI site down? I am having trouble connecting. - -MarkDavid - -- Experience After-Life on the Bardo Plane of Existence: http://www.mdhosale.com/BookOfTheDead ------------------------------ Date: Sun, 21 Oct 2001 16:23:44 -0500 From: Ian Pojman <---@---.---> Subject: Re: Is the SWIKI site down? Yes. I've been having problems for days ( no response ) On Sunday, October 21, 2001, at 03:55 PM, MarkDavid wrote: > I am having trouble connecting. > -MarkDavid > > -- > Experience After-Life on the Bardo Plane of Existence: > http://www.mdhosale.com/BookOfTheDead > > ------------------------------ Date: Sun, 21 Oct 2001 16:29:14 -0500 From: Ian Pojman <---@---.---> Subject: Re: PlugIn docs On Sunday, October 21, 2001, at 01:01 AM, christian adam hresko wrote: > > > Ian Pojman wrote: > >> Hi list. >> >> Are there any docs out there describing SC 3's PlugIn api? Any >> developers out there working on them? >> >> Also, what is the "ProjectName Data" subfolder for? >> (the CWSettingsMacOS.stg file? I don't see how to specify that from >> within CW5 gold) >> >> RE: FFT bins... maybe it'd be nice if there was some kind of API for >> that - maybe a non-UGen plugin - I'm assuming those are just as >> feasible >> within the SC machine right? >> >> Ian > > take a look at the paper james presented at the ICMC. it details the > framework for an SC plugin. ahh, cool > > re: stg files > > you should be working with the project files. > I know, what are they? I see headers and source and a stg.. thats it > re: API for FFT plugins > > i don't think james is going to make a separate API for specific > plugins. > the API is just there as a framework. since he can't predict (i don't > think...) what kinda plugin(s) people are going to make, the entire > framework is relatively 'generic.' > no , i didnt mean anything like that :P ------------------------------ Date: Sun, 21 Oct 2001 20:44:51 -0400 From: christian adam hresko <---@---.---> Subject: Re: PlugIn docs Ian Pojman wrote: > , cool > > > > > re: stg files > > > > you should be working with the project files. > > > > I know, what are they? I see headers and source and a stg.. thats it what are they, or where are they? if you email me off the list, i can give you step by step directions on how to compile a plugin. (this has worked successfully in the past...) ch. ------------------------------ Date: Sun, 21 Oct 2001 20:57:13 -0400 From: christian adam hresko <---@---.---> Subject: Re: FFT bin extraction anthony burr wrote: > i think the fft ugen returns a complex valued signal, so you can > apply all the usual arrayed collection methods and math stuff to the > spectrum--i've had good success with this kind of thing. also, just > fiddling around with odd windowing/overlap ideas can gain you a lot > of mileage. i guess though that all these strategies deal on the > signal level rather than with the individual bin values. > re: spectral plugins for sc3, just look in the plugin dev folder in > projects, PV_Ugens i think. all the source for the slew of great > phase vocoder ugens james wrote is in there, and the framework is > pretty clear. > has anyone used the spectral rate oscillator in sc2 successfully??? > > anthony > > what i can't seem to do, is look at all the real and imaginary numbers produced by an FFT in SC. has anyone managed to dump these values after analyzing a signal? ch. ------------------------------ Date: Sun, 21 Oct 2001 18:16:37 -0700 From: "THOMAS P MILEY" <---@---.---> Subject: OSC question I am trying to set up a concert between here (US) and Greece using OSC and I can't seem to get the OSC example program to work on my local machines. In trying to just do a loopback test I receive the following errors: ( // initialize the receiving machine OSCPort.closeAll; OSCInPort(57123, nil); € ERROR: otudp: Error -3208 from OTBind ) //......... ( // initialize the sending machine var hostname; hostname = "127.0.0.1"; // set this to the address of the receiving machine z = OSCOutPort(57123, hostname); € ERROR: otudp: Error -3208 from OTBind ) I am running OS 8.6 presently on both machines. I get the same error on both for either loopback or messaging. The 2 machines are connected to an ethernet hub, and I have configured the machines (for loopback) manually, as ip 127.0.0.1, subnet mask address 255.255.0.1. OpenTransport extensions are all turned on. Am I missing some steps? I checked the CNMAT website but only find a paper about OSC, not any actual steps for setting the machines up. Is there such a document? Any help is most appreciated! Regards, Thomas Miley ------------------------------ Date: Sun, 21 Oct 2001 21:33:50 -0400 From: newton armstrong <---@---.---> Subject: Re: OSC question try it with these settings in the TCP/IP Control Panel: Connect via: Ethernet Configure: Manually IP Address: 205.45.67.2 Router address: 127.0.0.1 On 21/10/01 9:16 PM, "THOMAS P MILEY" wrote: > I am trying to set up a concert between here (US) and Greece using OSC and I > can't seem to get the OSC example program to work on my local machines. In > trying to just do a loopback test I receive the following errors: > > > > ( > // initialize the receiving machine > OSCPort.closeAll; > OSCInPort(57123, nil); > € ERROR: otudp: Error -3208 from OTBind > ) > > //......... > > ( > // initialize the sending machine > var hostname; > hostname = "127.0.0.1"; // set this to the address of the receiving machine > z = OSCOutPort(57123, hostname); > € ERROR: otudp: Error -3208 from OTBind > ) > > > I am running OS 8.6 presently on both machines. I get the same error on > both for either loopback or messaging. The 2 machines are connected to an > ethernet hub, and I have configured the machines (for loopback) manually, as > ip 127.0.0.1, subnet mask address 255.255.0.1. OpenTransport extensions are > all turned on. Am I missing some steps? I checked the CNMAT website but > only find a paper about OSC, not any actual steps for setting the machines > up. Is there such a document? Any help is most appreciated! > > Regards, > Thomas Miley > ------------------------------ Date: Sun, 21 Oct 2001 19:08:35 -0700 From: Garry Kling <---@---.---> Subject: Re: OSC question on 21/10/2001 06:16 PM, THOMAS P MILEY at tmiley@prodigy.net wrote: > > I am running OS 8.6 presently on both machines. I get the same error on > both for either loopback or messaging. The 2 machines are connected to an > ethernet hub, and I have configured the machines (for loopback) manually, as > ip 127.0.0.1, subnet mask address 255.255.0.1. OpenTransport extensions are > all turned on. Am I missing some steps? I checked the CNMAT website but > only find a paper about OSC, not any actual steps for setting the machines > up. Is there such a document? Any help is most appreciated! > How is you TCP/IP control panel set? I think, this error is because OSC can't access a network. I cancelled my dialer after it was triggered by OSC and I got the same error. I don't think you can set your IP address as the loopback address. Use whatever IP address you use on your LAN in the manual configuration. Don't use DHCP. Since both machines are on the same hub and router, use 255.255.255.0 as your subnet mask, though I'm not sure you need it. The router address should be the address of the one your hub is uplinked to. If you're not on a LAN, you should be able to use whatever IP's you want, so long as they are on the same subnet. For example: machine 1: 127.111.10.01 machine 2: 127.111.10.02 Hope this helps... let us know if either recommendation doesn't work, and be sure to include the tcp/ip settings. Garry Kling - -- /* * Garry Kling * MAT UC Santa Barbara * kling007@earthlink.net * */ ------------------------------ Date: Mon, 22 Oct 2001 09:59:41 +0100 From: Martin Robinson <---@---.---> Subject: Re: cannot filter modulo hello, > > { > var a,b,c; > a = SinOsc.ar(100, 0, 0.02); > b = SinOsc.ar(200, 0, 0.02); > c = a % b; > > }.play; > modulos generate NaNs for every 0 divide presumably SC sets NaNs to some real value on playback... > > //this outputs silence. > { > var a,b,c; > a = SinOsc.ar(100, 0, 0.1); > b = SinOsc.ar(200, 0, 0.1); > c = a % b; > RLPF.ar(c, 1500, 0.4) > }.play; > > > maybe this is a result of the maths in the in filter? ... a single NaN will blow a filter you need to find a way to strip out the NaNs tried Plug...nope tried DelayN...yip: ( { var a,b,c,d; a = SinOsc.ar(100, pi/2, 0.1); b = SinOsc.ar(200, pi/2, 0.1); c = a % b; d = DelayN.ar(c, 0, 0); RLPF.ar([c, d], 1500, 0.4); }.scope; ) M - -- ..>>>>Martin Robinson :: (Ex)tractor :: && ________ >>><<<_[sonic arts]_[middlesex university]_[en4 8ht] ______ ________________________________________________________________ ________________________________________________________________ >><<>>___t.+44 [0] 7970 405 903 // f.+44 [0] 7970 702 976 __ >><><>____e. _ ------------------------------ Date: Mon, 22 Oct 2001 11:18:23 +0200 From: Julian Rohrhuber <---@---.---> Subject: Re: Is the SWIKI site down? >Yes. I've been having problems for days ( no response ) > >On Sunday, October 21, 2001, at 03:55 PM, MarkDavid wrote: > >>I am having trouble connecting. >>-MarkDavid >> >>-- >>Experience After-Life on the Bardo Plane of Existence: >>http://www.mdhosale.com/BookOfTheDead yes it was down, I'll go there now and fix it. ------------------------------ Date: Mon, 22 Oct 2001 11:20:34 +0200 From: Julian Rohrhuber <---@---.---> Subject: Re: cannot filter modulo > >> >> maybe this is a result of the maths in the in filter? > >... a single NaN will blow a filter > >you need to find a way to strip out the NaNs > >tried Plug...nope >tried DelayN...yip: > >( >{ > var a,b,c,d; > a = SinOsc.ar(100, pi/2, 0.1); > b = SinOsc.ar(200, pi/2, 0.1); > c = a % b; > d = DelayN.ar(c, 0, 0); > > RLPF.ar([c, d], 1500, 0.4); >}.scope; >) funny it doesn't blow DelayN ! thank you. ------------------------------ Date: Mon, 22 Oct 2001 09:19:46 +0000 From: Jem Finer <---@---.---> Subject: Re: FFT bin extraction > I see what you mean. I was talking mostly about modifying the > degree to which individual bins are resynthesized or not. My patch was > based on the "Forbidden Planet" patch in the MSP distribution. You > take, say, a 1024 point FFT, draw (or algorithmically define) a curve in a > window, convert > that curve to a table, then convolve the FFT w. that table. You can do > all sorts of hard filtering this way, and > can change the table at the control rate. > you can kind of do this in SC - there is an example - random fft filtering - in which : // make random filter window filterWindow = Signal.fill(fftsize, { if (0.2.coin, 1.0, 0.0) }); if you make the window visible you can draw in it and change the filtering. What I want to do is have a GUI control to be able to select various bands - there is a Logic plug in called Spectral Gate that I "need" to replicate in SC. Looking at the felix and Anthony Burr letters is maybe a clue. Jem ------------------------------ Date: Mon, 22 Oct 2001 10:03:04 -0400 From: "t. krakowiak" <---@---.---> Subject: Re: [OT] PowerBook annoyance same notebook, no problem. - ----- Original Message ----- From: "Andrei" <---@---.---> To: "SC" Sent: Saturday, October 20, 2001 10:47 PM Subject: [OT] PowerBook annoyance > I was wondering if anyone else has this problem ? > > I have a FireWire G3 PowerBook ("Pismo") and often if I'm using the > battery and I just let the machine sitting idle for a few minutes it'll > freeze. This never happens when it's plugged in. I don't think it's my > Energy Saver settings. Any ideas ? > > Andrei > > ------------------------------ Date: Mon, 22 Oct 2001 17:22:40 +0000 From: Jem Finer <---@---.---> Subject: Re: FFT bin extraction on 21/10/01 22:11, anthony burr at aburr@ucsd.edu wrote: > > i think the fft ugen returns a complex valued signal, so you can > apply all the usual arrayed collection methods and math stuff to the > spectrum--i've had good success with this kind of thing. also, just > fiddling around with odd windowing/overlap ideas can gain you a lot > of mileage. i guess though that all these strategies deal on the > signal level rather than with the individual bin values. > re: spectral plugins for sc3, just look in the plugin dev folder in > projects, PV_Ugens i think. all the source for the slew of great > phase vocoder ugens james wrote is in there, and the framework is > pretty clear. > has anyone used the spectral rate oscillator in sc2 successfully??? fft.postln prints [ Complex( an OutputProxy, an OutputProxy ), Complex( an OutputProxy, an OutputProxy ) ] (where the numffts = 2) Applying Collection methods to the fft seems to have results but I'm interested in knowing whether one can be more specific ? On the above example will not fft.scramble only scramble the 2 Complex objects ? Am I right or am I wrong in thinking that the bins are in the OutputProxy's ? And that for an fftsize of 512 there are 512 bins ? If I'm right then how does one for example make bins 0 to 300 = 0 ? Jem ------------------------------ Date: Mon, 22 Oct 2001 10:28:16 -0700 From: Sean Rooney <---@---.---> Subject: Re: [OT] PowerBook annoyance >I was wondering if anyone else has this problem ? > >I have a FireWire G3 PowerBook ("Pismo") and often if I'm using the >battery and I just let the machine sitting idle for a few minutes it'll >freeze. This never happens when it's plugged in. I don't think it's my >Energy Saver settings. Any ideas ? > >Andrei could be a firewire or usb device issue, perhaps. They're notoriously bad at waking up. Make sure you've got the most recent drivers. good luck... sean - -- - ----------- Sean Rooney srooney@ntet.net ------------------------------ Date: Mon, 22 Oct 2001 13:37:21 -0800 From: anthony burr <---@---.---> Subject: Re: FFT bin extraction > >fft.postln prints > >[ Complex( an OutputProxy, an OutputProxy ), Complex( an OutputProxy, an >OutputProxy ) ] yes, and when apply the source method to the real and imaginary output proxies, you get a FFT >(where the numffts = 2) > >Applying Collection methods to the fft seems to have results but I'm >interested in knowing whether >one can be more specific ? On the above example will not fft.scramble only >scramble the 2 Complex objects ? yes, that's right, and on double checking it seems i was wrong about being able to apply these kinds of methods to instances of FFT...my old patches had been rearranging the parts in overlap situations going multichannel out... math operations work fine though... >Am I right or am I wrong in thinking that the bins are in the OutputProxy's >? And that for an fftsize of >512 there are 512 bins ? > >If I'm right then how does one for example make bins 0 to 300 = 0 ? > look at the filtering example again, and multiply the spectrum by a Signal of length 512, where 0-300 is 0, 301-512 is 1. this won't do what you may be thinking though.. remember the spectrum is mirrored, there will be artefacts from windowing, and following on from there, that the fft itself is not really directly representative of the spectrum as heard anthony - -- ------------------------------ Date: Mon, 22 Oct 2001 17:39:48 -0400 From: felix <---@---.---> Subject: Re: FFT bin extraction on 10/21/01 8:57 PM, christian adam hresko at godpup@ix.netcom.com wrote: > > > anthony burr wrote: > >> i think the fft ugen returns a complex valued signal, so you can >> apply all the usual arrayed collection methods and math stuff to the >> spectrum--i've had good success with this kind of thing. also, just >> fiddling around with odd windowing/overlap ideas can gain you a lot >> of mileage. i guess though that all these strategies deal on the >> signal level rather than with the individual bin values. >> re: spectral plugins for sc3, just look in the plugin dev folder in >> projects, PV_Ugens i think. all the source for the slew of great >> phase vocoder ugens james wrote is in there, and the framework is >> pretty clear. the main advantage with the sc3 framework is that you can ask questions about the whole bin array as a single entity. and return those bins swapped around freely. with sc2 you have to set up some kind of ugens that operate on the array of complex. and they keep playing continously. but many things in the basic pv_ugens can actually be done in 2. >> has anyone used the spectral rate oscillator in sc2 successfully??? no :( i tried. i failed. >> >> anthony >> >> > > what i can't seem to do, is look at all the real and imaginary numbers > produced by > an FFT in SC. > > has anyone managed to dump these values after analyzing a signal? well the Complex contains two ugens, so you would have to try and poll all of those at a given point. if what you are thinking is more doing an fft on one time slice and then looking at those numbers.... either do all the math in sc (not looking to do real time). or use something like ceres3 > > > ch. > > > > ------------------------------ Date: Mon, 22 Oct 2001 20:57:47 -0400 From: christian adam hresko <---@---.---> Subject: Re: FFT bin extraction felix wrote: > on 10/21/01 8:57 PM, christian adam hresko at godpup@ix.netcom.com wrote: > > > > > > what i can't seem to do, is look at all the real and imaginary numbers > > produced by > > an FFT in SC. > > > > has anyone managed to dump these values after analyzing a signal? > > well the Complex contains two ugens, so you would have to try and poll all > of those at a given point. > > if what you are thinking is more doing an fft on one time slice and then > looking at those numbers.... > either do all the math in sc (not looking to do real time). > or use something like ceres3 > see, i think this is a bit odd. let's say you have a signal of finite length. (i.e you know the start and stop time of the signal you're analyzing) and... you want to split this sucker up into 1024 frequency bands and window the whole thing with a hanning window. why isn't there a method to just dump all the good stuff contained in the complex ugens? i thought about loading a signal, looping it once, and polling the fft scope. but that just seems like too much work for retrieving the real and imaginary numbers. maybe a matlab-esque method like: x = fft(aSignal); x.postln; anyway, i'm gonna figure out how to do this. those numbers are in there somewhere and i'm sure there's a way to get them out... ch. ------------------------------ Date: Mon, 22 Oct 2001 19:05:14 -0800 From: anthony burr <---@---.---> Subject: Re: FFT bin extraction Signal.fft or Signal.ifft come along with all mod-cons implemented (windows, zeropad etc) see the Signal help file anthony > >maybe a matlab-esque method like: > >x = fft(aSignal); > >x.postln; > > >anyway, i'm gonna figure out how to do this. those numbers are in there >somewhere and i'm sure there's a way to get them out... > > >ch. - -- ------------------------------ End of sc-users-digest V1 #372 ******************************