All pastes #2050558 Raw Edit

Anonymous

public text v1 · immutable
#2050558 ·published 2011-04-25 18:05 UTC
rendered paste body
({
  var in, chain;
  in = PlayBuf.ar(1, b, loop:1);
  chain = FFT(LocalBuf(1024), in);
  chain = chain.pvcalc(
    1024, {|mags, phases|
	    var size = mags.size;
	    for(0, size / 2, {|i|
		    var m = mags[i];
		    var p = phases[i];
		    mags[i] = mags[size-1 - i];
		    phases[i] = phases[size-1 - i];
		    mags[size-1 - i] = m;
		    phases[size-1 - i] = p;
	    });    
	    [mags, phases];
    }
  );
  IFFT(chain);
}.play(s);
)


// And even easier:

({
  var in, chain;
  in = PlayBuf.ar(1, b, loop:1);
  chain = FFT(LocalBuf(1024), in);
  chain = chain.pvcalc(
    1024, {|mags, phases|
	    [mags.reverse, phases.reverse];
    }
  );
  IFFT(chain);
}.play(s);
)