Loudness

object Loudness extends ProductReader[Loudness]

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.

Companion
class
trait Product
trait Mirror
trait ProductReader[Loudness]
class Object
trait Matchable
class Any

Type members

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from
Mirror

Value members

Concrete methods

def kr(chain: GE, smask: GE, tmask: GE): Loudness
Value Params
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.

def read(in: RefMapIn, key: String, arity: Int): Loudness