Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web APIs
  3. BaseAudioContext
  4. createWaveShaper()

BaseAudioContext: createWaveShaper() method

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⁩.

ThecreateWaveShaper() method of theBaseAudioContextinterface creates aWaveShaperNode, which represents a non-lineardistortion. It is used to apply distortion effects to your audio.

Note:TheWaveShaperNode()constructor is the recommended way to create aWaveShaperNode; seeCreating an AudioNode.

Syntax

js
createWaveShaper()

Parameters

None.

Return value

AWaveShaperNode.

Examples

The following example shows basic usage of an AudioContext to create a wave shaper node.For more complete applied examples/information, check out ourVoice-change-O-matic demo (seeapp.js for relevant code).

Note:Sigmoid functions are commonly used for distortion curvesbecause of their natural properties. Their S-shape, for instance, helps create asmoother sounding result. We found the below distortion curve code onStack Overflow.

js
const audioCtx = new AudioContext();const distortion = audioCtx.createWaveShaper();// …function makeDistortionCurve(amount) {  const k = typeof amount === "number" ? amount : 50;  const numSamples = 44100;  const curve = new Float32Array(numSamples);  const deg = Math.PI / 180;  for (let i = 0; i < numSamples; i++) {    const x = (i * 2) / numSamples - 1;    curve[i] = ((3 + k) * x * 20 * deg) / (Math.PI + k * Math.abs(x));  }  return curve;}// …distortion.curve = makeDistortionCurve(400);distortion.oversample = "4x";

Specifications

Specification
Web Audio API
# dom-baseaudiocontext-createwaveshaper

Browser compatibility

See also

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp