object Rotate2 extends ProductReader[Rotate2] with Serializable
A UGen that can be used for rotating an ambisonic B-format sound field around
an axis. It uses an equal-power rotation so it also works well on stereo sounds.
It takes two audio inputs ( x
, y
) and an angle control ( pos
). It
outputs again two channels, using these formulas:
xr = cos(angle) * x + sin(angle) * y yr = cos(angle) * y - sin(angle) * x
where angle = pos * Pi
. This allows, for example, the use of LFSaw
to
create a continuous rotation around a circle.
Note: Be careful when accessing the output channels. xr
and yr
are
the X and Y output channels, whereas x
and y
refers to the X and Y input
channel.
Examples
// 4-channel rotation of opposite sounds play { val p = WhiteNoise.ar(0.05) // first source val q = Mix(LFSaw.ar(Seq(200, 200.37))) * 0.03 // second source // B-format encode 2 signals at opposite sides of the circle val enc = PanB2.ar(p, -0.5) + PanB2.ar(q, +0.5) val Seq(w, x, y) = (0 to 2).map(enc out _) val rot = Rotate2.ar(x, y, MouseX.kr(-1, +1)) // B-format decode to quad (front-left, front-right, rear-left, rear-right) DecodeB2.ar(4, w, rot.xr, rot.yr) }
- Alphabetic
- By Inheritance
- Rotate2
- Serializable
- ProductReader
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def ar(x: GE, y: GE, pos: GE = 0.0f): Rotate2
- x
B-format X input channel
- y
B-format Y input channel
- pos
angle to rotate around the circle, normalized between -1 and +1. -1 and +1 corresponds to -180 and +180 degrees (behind), -0.5 is 90 degrees left, 0 is frontal, +0.5 is 90 degrees right.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def kr(x: GE, y: GE, pos: GE = 0.0f): Rotate2
- x
B-format X input channel
- y
B-format Y input channel
- pos
angle to rotate around the circle, normalized between -1 and +1. -1 and +1 corresponds to -180 and +180 degrees (behind), -0.5 is 90 degrees left, 0 is frontal, +0.5 is 90 degrees right.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def read(in: RefMapIn, key: String, arity: Int): Rotate2
- Definition Classes
- Rotate2 → ProductReader
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated