AnalyserNode

open class AnalyserNode(context: BaseAudioContext, options: AnalyserOptions = definedExternally) : AudioNode(source)

The AnalyserNode interface represents a node able to provide real-time frequency and time-domain analysis information. It is an AudioNode that passes the audio stream unchanged from the input to the output, but allows you to take the generated data, process it, and create audio visualizations.

MDN Reference

Constructors

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

Properties

Link copied to clipboard

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

The fftSize property of the AnalyserNode interface is an unsigned long value and represents the window size in samples that is used when performing a Fast Fourier Transform (FFT) to get frequency domain data.

Link copied to clipboard

The frequencyBinCount read-only property of the AnalyserNode interface contains the total number of data points available to AudioContext sampleRate. This is half of the value of the AnalyserNode.fftSize. The two methods' indices have a linear relationship with the frequencies they represent, between 0 and the Nyquist frequency.

Link copied to clipboard

The maxDecibels property of the AnalyserNode interface is a double value representing the maximum power value in the scaling range for the FFT analysis data, for conversion to unsigned byte values — basically, this specifies the maximum value for the range of results when using getByteFrequencyData().

Link copied to clipboard

The minDecibels property of the AnalyserNode interface is a double value representing the minimum power value in the scaling range for the FFT analysis data, for conversion to unsigned byte values — basically, this specifies the minimum value for the range of results when using getByteFrequencyData().

Link copied to clipboard

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

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

The smoothingTimeConstant property of the AnalyserNode interface is a double value representing the averaging constant with the last analysis frame. It's basically an average between the current buffer and the last buffer the AnalyserNode processed, and results in a much smoother set of value changes over time.

Functions

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

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

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

fun disconnect(output: Int)
fun disconnect(destinationNode: AudioNode)
fun disconnect(destinationParam: AudioParam)
fun disconnect(destinationNode: AudioNode, output: Int)
fun disconnect(destinationParam: AudioParam, output: Int)
fun disconnect(destinationNode: AudioNode, output: Int, input: Int)
Link copied to clipboard
open fun dispatchEvent(event: Event): Boolean
Link copied to clipboard

The getByteFrequencyData() method of the AnalyserNode interface copies the current frequency data into a Uint8Array (unsigned byte array) passed into it.

Link copied to clipboard

The getByteTimeDomainData() method of the AnalyserNode Interface copies the current waveform, or time-domain, data into a Uint8Array (unsigned byte array) passed into it.

Link copied to clipboard

The getFloatFrequencyData() method of the AnalyserNode Interface copies the current frequency data into a Float32Array array passed into it.

Link copied to clipboard

The getFloatTimeDomainData() method of the AnalyserNode Interface copies the current waveform, or time-domain, data into a Float32Array array passed into it. Each array value is a sample, the magnitude of the signal at a particular time.

Link copied to clipboard