Advertisement
Guest User

fft

a guest
Oct 7th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. b = Buffer.read(s,"/Users/evgenijbylina1/Documents/SamplePack_Kate/02 Di Vaga Crepa, Di Gelo Futuro.wav" );
  2.  
  3. //mono version, for mono buffer and mono sample;
  4.  
  5. (
  6. SynthDef("phaseReset", {
  7.     arg soundBuf;
  8.     var in, chain;
  9.     var fftBuf = LocalBuf(256, 1);
  10.     in = PlayBuf.ar(1, soundBuf, loop:1);
  11.     chain = FFT(fftBuf, in);
  12.     chain = chain.pvcollect(256, { |mag, phase, bin|
  13.         [mag, 30]; // change this parameter do nothing!
  14.         });
  15.     Out.ar(0, 0.5 * IFFT(chain));
  16. }).play(s, [\soundBuf, b]);
  17. )
  18.  
  19. //stereo version, stereo buffers. need to arbitary phases on each chanell - 0 and 90
  20. //message pvcollect not undestood
  21. (
  22. SynthDef("phaseReset", {
  23.     arg soundBuf;
  24.     var in, chain;
  25.     var fftBuf = Array.fill(2, { LocalBuf(256, 1) });
  26.     in = PlayBuf.ar(1, soundBuf, loop:1);
  27.     chain = ({FFT(fftBuf, in)}!2);
  28.     chain = chain.collect { |channel| channel.pvcollect(256, {
  29.         |mag, phase, bin|
  30.         [mag, 90]; })};
  31.     Out.ar(0, 0.5 * IFFT(chain).dup);
  32. }).play(s, [\soundBuf, b]);
  33. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement