AudioBufferSourceNode: detune property
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 detune
property of the
AudioBufferSourceNode
interface is a k-rate AudioParam
representing detuning of oscillation in cents.
For example, values of +100 and -100 detune the source up or down by one semitone, while +1200 and -1200 detune it up or down by one octave.
Value
A k-rate AudioParam
whose value indicates the detuning of oscillation in cents.
Note:
Though the AudioParam
returned is read-only, the
value it represents is not.
Examples
js
const audioCtx = new AudioContext();
const channelCount = 2;
const frameCount = audioCtx.sampleRate * 2.0; // 2 seconds
const myArrayBuffer = audioCtx.createBuffer(
channelCount,
frameCount,
audioCtx.sampleRate,
);
for (let channel = 0; channel < channelCount; channel++) {
const nowBuffering = myArrayBuffer.getChannelData(channel);
for (let i = 0; i < frameCount; i++) {
nowBuffering[i] = Math.random() * 2 - 1;
}
}
const source = audioCtx.createBufferSource();
source.buffer = myArrayBuffer;
source.connect(audioCtx.destination);
source.detune.value = 100; // value in cents
source.start();
Specifications
Specification |
---|
Web Audio API # dom-audiobuffersourcenode-detune |
Browser compatibility
BCD tables only load in the browser