PeriodicWave: PeriodicWave() constructor

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

The PeriodicWave() constructor of the Web Audio API creates a new PeriodicWave object instance.

Syntax

js
new PeriodicWave(context)
new PeriodicWave(context, options)

Parameters

context

A BaseAudioContext representing the audio context you want the node to be associated with.

options Optional

A PeriodicWaveOptions dictionary object defining the properties you want the PeriodicWave to have (It also inherits the options defined in the PeriodicWaveConstraints dictionary.):

real

A Float32Array containing the cosine terms that you want to use to form the wave (equivalent to the real parameter of BaseAudioContext.createPeriodicWave).

imag

A Float32Array containing the sine terms that you want to use to form the wave (equivalent to the imag parameter of BaseAudioContext.createPeriodicWave).

channelCount

Represents an integer used to determine how many channels are used when up-mixing and down-mixing connections to any inputs to the node. (See AudioNode.channelCount for more information.) Its usage and precise definition depend on the value of channelCountMode.

channelCountMode

Represents an enumerated value describing the way channels must be matched between the node's inputs and outputs. (See AudioNode.channelCountMode for more information including default values.)

channelInterpretation

Represents an enumerated value describing the meaning of the channels. This interpretation will define how audio up-mixing and down-mixing will happen. The possible values are "speakers" or "discrete". (See AudioNode.channelCountMode for more information including default values.)

Return value

A new PeriodicWave object instance.

Examples

js
const real = new Float32Array(2);
const imag = new Float32Array(2);
const ac = new AudioContext();

real[0] = 0;
imag[0] = 0;
real[1] = 1;
imag[1] = 0;

const wave = new PeriodicWave(ac, {
  real,
  imag,
  disableNormalization: false,
});

Specifications

Specification
Web Audio API
# dom-periodicwave-periodicwave

Browser compatibility

BCD tables only load in the browser