Packages

object Crest extends ProductReader[Crest] with Serializable

A UGen that measures the "crest factor" of a time-domain signal. The "crest factor" is the ratio of the absolute peak to the absolute mean over a certain time period. In pseudocode:

crest = (samples.abs.max) / (samples.abs.mean)

For Pulse waves the value will be 1, because the mean and the maximum are the same. For SinOsc , the theoretical value is 2.sqrt . For Saw it is 3.sqrt . These exact values might not occur in practice, because of anti-aliasing and other sampling factors.

This is not to be confused with FFTCrest which does the same thing for spectral data.

Examples
// mouse movement varies from sine wave (left) to almost-square (right)
play {
  val sig = (SinOsc.ar(MouseY.kr(100, 1000, 1)) * MouseX.kr(1,10)).clip2(1)
  Crest.kr(sig, 440).poll
  Pan2.ar(sig * 0.1)
}

This is a third-party UGen (MCLDUGens).

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Crest
  2. Serializable
  3. ProductReader
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. def kr(in: GE, length: GE = 400, gate: GE = 1.0f): Crest

    in

    signal to analyze, can be audio rate or control rate

    length

    number of samples over which to take the measurement. A buffer of this size is created internally (so be careful about specifying a massive number here). (init-time only)

    gate

    normally the statistic is calculated on every control block cycle. If one wants it less often (e.g. to reduce CPU usage), one can modulate this – calculation only occurs if gate is greater than zero.

  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  15. def read(in: RefMapIn, key: String, arity: Int): Crest
    Definition Classes
    CrestProductReader
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Serializable

Inherited from ProductReader[Crest]

Inherited from AnyRef

Inherited from Any

Ungrouped