AmpComp

object AmpComp extends ProductReader[AmpComp]

A UGen that produces a psychoacoustic amplitude compensation factor for a given frequency.

Implements the formula: (root / freq).pow(exp)

Higher frequencies are normally perceived as louder, therefore AmpComp outputs lower values for them. For example, with default parameters, the pitch C4 (frequency 262 Hz) produces the base factor of 1.0, whereas a pitch one octave up, C5 (or 523 Hz) produces a factor of 0.793719 (an attenuation of -2 dB).

An alternative is AmpCompA that better models the bell-shaped equal loudness contours of the hearing system. Especially note that the output of this UGen can become very high for frequencies much lower than the root parameter.

===Examples===

// activate with mouse button
play {
 val freq = MouseX.kr(300, 15000, 1)
 val mod  = freq * SinOsc.ar(MouseY.kr(3, 200, 1)).mulAdd(0.5, 1)
 val corr = AmpComp.ar(mod, 300) * 2
 val amp  = Select.ar(MouseButton.kr(lag = 0), Seq(DC.ar(1), corr))
 SinOsc.ar(mod) * 0.1 * amp
}
See also
Companion
class
trait Product
trait Mirror
trait ProductReader[AmpComp]
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 ar: AmpComp
def ar(freq: GE, root: GE, expon: GE): AmpComp
Value Params
expon

the exponent determines how steep the compensation curve decreases for increasing frequencies. In general, the louder a signal is played, the shallower the equal loudness contours become.

freq

the frequency in Hertz for which to determine the compensation factor

root

the base frequency corresponding to a compensation factor of 1.0

def ir: AmpComp
def ir(freq: GE, root: GE, expon: GE): AmpComp
Value Params
expon

the exponent determines how steep the compensation curve decreases for increasing frequencies. In general, the louder a signal is played, the shallower the equal loudness contours become.

freq

the frequency in Hertz for which to determine the compensation factor

root

the base frequency corresponding to a compensation factor of 1.0

def kr: AmpComp
def kr(freq: GE, root: GE, expon: GE): AmpComp
Value Params
expon

the exponent determines how steep the compensation curve decreases for increasing frequencies. In general, the louder a signal is played, the shallower the equal loudness contours become.

freq

the frequency in Hertz for which to determine the compensation factor

root

the base frequency corresponding to a compensation factor of 1.0

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