Packages

final case class Loudness(chain: GE, smask: GE = 0.25f, tmask: GE = 1.0f) extends SingleOut with ControlRated with IsIndividual with Product with Serializable

A UGen for the extraction of instantaneous loudness. A perceptual loudness function which outputs loudness in sones; this is a variant of an MP3 perceptual model, summing excitation in ERB bands. It models simple spectral and temporal masking, with equal loudness contour correction in ERB bands to obtain phons (relative dB), then a phon to sone transform. The final output is typically in the range of 0 to 64 sones, though higher values can occur with specific synthesised stimuli.

Note that despite running at control-rate, the output remains constant for each FFT frame. E.g. with an FFT size of 1024 and 50% overlap, a new measure is generated every 512 audio frames, or (at control block size 64) every 8 control blocks.

Warning: the UGen is broken if FFT sizes other than the ones specified for chain are used.

chain

the output (buffer) of an FFT UGen which transforms the audio input to track. The FFT size should be 1024 for 44.1 and 48 kHz sampling rate, and 2048 for 88.2 and 96 kHz sampling rate.

smask

Spectral masking parameter: lower bins mask higher bin power within ERB bands, with a power falloff (leaky integration multiplier) of smask per bin. Can be control-rate modulated.

tmask

Temporal masking parameter: the phon level let through in an ERB band is the maximum of the new measurement, and the previous minus tmask phons. Can be control-rate modulated.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Loudness
  2. Serializable
  3. IsIndividual
  4. ControlRated
  5. SingleOut
  6. SomeOut
  7. Lazy
  8. GE
  9. UGenSource
  10. Expander
  11. Lazy
  12. Product
  13. Equals
  14. AnyRef
  15. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Loudness(chain: GE, smask: GE = 0.25f, tmask: GE = 1.0f)

    chain

    the output (buffer) of an FFT UGen which transforms the audio input to track. The FFT size should be 1024 for 44.1 and 48 kHz sampling rate, and 2048 for 88.2 and 96 kHz sampling rate.

    smask

    Spectral masking parameter: lower bins mask higher bin power within ERB bands, with a power falloff (leaky integration multiplier) of smask per bin. Can be control-rate modulated.

    tmask

    Temporal masking parameter: the phon level let through in an ERB band is the maximum of the new measurement, and the previous minus tmask phons. Can be control-rate modulated.

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. val chain: GE
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. lazy val hashCode: Int
    Definition Classes
    UGenSource → AnyRef → Any
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. def makeUGen(_args: Vec[UGenIn]): UGenInLike
    Attributes
    protected
    Definition Classes
    LoudnessUGenSource
  12. def makeUGens: UGenInLike

    Abstract method which must be implemented by creating the actual UGens during expansion.

    Abstract method which must be implemented by creating the actual UGens during expansion. This method is at most called once during graph expansion

    returns

    the expanded object (depending on the type parameter U)

    Attributes
    protected
    Definition Classes
    LoudnessExpander
  13. final def name: String
    Definition Classes
    UGenSource
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. def productElementNames: Iterator[String]
    Definition Classes
    Product
  18. final def rate: Rate
    Definition Classes
    ControlRated
  19. val smask: GE
  20. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  21. val tmask: GE
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  24. 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 IsIndividual

Inherited from ControlRated

Inherited from SingleOut

Inherited from SomeOut

Inherited from GE.Lazy

Inherited from GE

Inherited from UGenSource[UGenInLike]

Inherited from Expander[UGenInLike]

Inherited from Lazy

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped