object Rotate2 extends 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 \ _) 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
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
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()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )