DynamicsCompressorNode

open class DynamicsCompressorNode(context: BaseAudioContext, options: DynamicsCompressorOptions = definedExternally) : AudioNode(source)

The DynamicsCompressorNode interface provides a compression effect, which lowers the volume of the loudest parts of the signal in order to help prevent clipping and distortion that can occur when multiple sounds are played and multiplexed together at once. This is often used in musical production and game audio. DynamicsCompressorNode is an AudioNode that has exactly one input and one output.

MDN Reference

Constructors

Link copied to clipboard
constructor(context: BaseAudioContext, options: DynamicsCompressorOptions = definedExternally)

Properties

Link copied to clipboard
external val attack: AudioParam

The attack property of the DynamicsCompressorNode interface is a k-rate AudioParam representing the amount of time, in seconds, required to reduce the gain by 10 dB. It defines how quickly the signal is adapted when its volume is increased.

Link copied to clipboard
external var channelCount: Int

The channelCount property of the AudioNode interface represents an integer used to determine how many channels are used when up-mixing and down-mixing connections to any inputs to the node.

Link copied to clipboard

The channelCountMode property of the AudioNode interface represents an enumerated value describing the way channels must be matched between the node's inputs and outputs.

Link copied to clipboard

The channelInterpretation property of the AudioNode interface represents an enumerated value describing how input channels are mapped to output channels when the number of inputs/outputs is different. For example, this setting defines how a mono input will be up-mixed to a stereo or 5.1 channel output, or how a quad channel input will be down-mixed to a stereo or mono output.

Link copied to clipboard

The read-only context property of the AudioNode interface returns the associated BaseAudioContext, that is the object representing the processing graph the node is participating in.

Link copied to clipboard
external val knee: AudioParam

The knee property of the DynamicsCompressorNode interface is a k-rate AudioParam containing a decibel value representing the range above the threshold where the curve smoothly transitions to the compressed portion.

Link copied to clipboard
external val numberOfInputs: Int

The numberOfInputs property of the AudioNode interface returns the number of inputs feeding the node. Source nodes are defined as nodes having a numberOfInputs property with a value of 0.

Link copied to clipboard
external val numberOfOutputs: Int

The numberOfOutputs property of the AudioNode interface returns the number of outputs coming out of the node. Destination nodes — like AudioDestinationNode — have a value of 0 for this attribute.

Link copied to clipboard
external val ratio: AudioParam

The ratio property of the DynamicsCompressorNode interface Is a k-rate AudioParam representing the amount of change, in dB, needed in the input for a 1 dB change in the output.

Link copied to clipboard
external val reduction: Float

The reduction read-only property of the DynamicsCompressorNode interface is a float representing the amount of gain reduction currently applied by the compressor to the signal.

Link copied to clipboard
external val release: AudioParam

The release property of the DynamicsCompressorNode interface Is a k-rate AudioParam representing the amount of time, in seconds, required to increase the gain by 10 dB. It defines how quick the signal is adapted when its volume is reduced.

Link copied to clipboard
external val threshold: AudioParam

The threshold property of the DynamicsCompressorNode interface is a k-rate AudioParam representing the decibel value above which the compression will start taking effect.

Functions

Link copied to clipboard
external fun connect(destinationParam: AudioParam, output: Int = definedExternally)

external fun connect(destinationNode: AudioNode, output: Int = definedExternally, input: Int = definedExternally): AudioNode

The connect() method of the AudioNode interface lets you connect one of the node's outputs to a target, which may be either another AudioNode (thereby directing the sound data to the specified node) or an AudioParam, so that the node's output data is automatically used to change the value of that parameter over time.

Link copied to clipboard
external fun disconnect()

The disconnect() method of the AudioNode interface lets you disconnect one or more nodes from the node on which the method is called.

external fun disconnect(output: Int)
external fun disconnect(destinationNode: AudioNode)
external fun disconnect(destinationParam: AudioParam)
external fun disconnect(destinationNode: AudioNode, output: Int)
external fun disconnect(destinationParam: AudioParam, output: Int)
external fun disconnect(destinationNode: AudioNode, output: Int, input: Int)
Link copied to clipboard
open external fun dispatchEvent(event: Event): Boolean
Link copied to clipboard
external fun <T : Event> when(type: EventType<T>, options: ObservableEventListenerOptions?): Observable<T>