Object/Class

de.sciss.synth.ugen

Rotate2

Related Docs: class Rotate2 | package ugen

Permalink

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)
}
Linear Supertypes
Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Rotate2
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def ar(x: GE, y: GE, pos: GE = 0.0f): Rotate2

    Permalink

    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.

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  13. def kr(x: GE, y: GE, pos: GE = 0.0f): Rotate2

    Permalink

    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.

  14. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  15. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  16. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  18. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  19. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped