A UGen that applies the conformal mapping z => (z - a) / (1 - za*) to its
input FFT bins z .
It makes a transformation of the complex plane so the output is full of phase
vocoder artifacts but may be musically interesting. One should usually keep
|a| < 1 , although bigger values may be used to produce noise. A value of
a = 0 gives back the input mostly unperturbed.
Examples
// mouse control
play {
val sf = Seq.fill(3)(Rand(0.1, 0.5))
val sadd = Seq(1, 1.1, 1.5, 1.78, 2.45, 6.7).map(_ * 220)
val in = Mix(LFSaw.ar(SinOsc.kr(sf).madd(10, sadd)) * 0.3)
val fft = FFT(LocalBuf(2048), in)
val re = MouseX.kr(0.01, 2.0, 1)
val im = MouseY.kr(0.01, 10.0, 1)
val pv = PV_ConformalMap(fft, re, im)
val out = IFFT.ar(pv)
val vrb = CombN.ar(out, 0.1, 0.1, 10)
Pan2.ar(out + vrb * 0.5, 0, 0.3)
}
A UGen that applies the conformal mapping
z => (z - a) / (1 - za*)
to its input FFT binsz
.It makes a transformation of the complex plane so the output is full of phase vocoder artifacts but may be musically interesting. One should usually keep
|a| < 1
, although bigger values may be used to produce noise. A value ofa = 0
gives back the input mostly unperturbed.Examples