# [question] - how to rotate the phase of a Whitenoise.ar or Soundin.ar object in supercollider?

[question] - how can i rotate the phase of a Whitenoise.ar or Soundin.ar object in supercollider? in the version of supercollider i have installed they don’t seem to have like an argument for phase. how wonder how can i implement this?

i fixed this with, and i even got like one or two further examples:

`````` (
SynthDef("help-phaseShift", { arg out=0;
var in, chain;
in = SoundIn.ar([0,0]);
in = WhiteNoise.ar(in);
chain = FFT(LocalBuf(2048), in);
chain = PV_PhaseShift(chain, 32);
out = 0.1 * [IFFT(chain).dup + in];
out = Mix.new(out);
Out.ar(0, out);
}).play(s);
)

(
{
var signal, delay, reverb, in, chain, meinenSignal;
in = SoundIn.ar([0,0]);
in = WhiteNoise.ar(in);
chain = FFT(LocalBuf(2048), in);
chain = PV_PhaseShift(chain, 32);
chain = [IFFT(chain).dup + in];
meinenSignal=Mix.new([in+chain]);
signal = Mix.fill(10, {Resonz.ar(meinenSignal, rrand(200.0, 3200.0), 0.003)});
delay = DelayN.ar(signal, 0.048);
reverb = Mix.fill(7,{CombL.ar(delay, 0.1, LFNoise1.ar(0.1.rand,0.04,0.05), 15)});
4.do{ reverb = AllpassN.ar(reverb, 0.050, [ 0.050.rand, 0.050.rand ], 1) };
signal + (reverb * 0.2)
}.play
)

(
{
var signal, delay, reverb, in, chain, meinenSignal;
in = SoundIn.ar([0,0]);
in = WhiteNoise.ar(in);
chain = FFT(LocalBuf(2048), in);
chain = PV_PhaseShift(chain, 32);
chain = [IFFT(chain).dup + in];
meinenSignal=Mix.new([in+chain]);
signal = Mix.fill(10, meinenSignal);
delay = DelayN.ar(signal, 0.048);
reverb = Mix.fill(7,{CombL.ar(delay, 0.1, LFNoise1.ar(0.1.rand,0.04,0.05), 15)});
4.do{ reverb = AllpassN.ar(reverb, 0.050, [ 0.050.rand, 0.050.rand ], 1) };
signal + (reverb * 0.2)
}.play
)
``````
1 Like

Hello @tmm881

You might also like to try the Hilbert Transform Quark Library. This includes phase rotation as well as some other tricks…

1 Like