API reference

Every public class, method, and event in @codexo/exojs. Generated from source.

C

classAutoWahEffect

@codexo/exojs-audio-fx / audio / stable

Auto-wah effect that uses an amplitude envelope follower to modulate a bandpass filter, creating the characteristic "wah" sweep driven by the loudness of the input signal. The envelope follower is built entirely from native Web Audio nodes — no `ScriptProcessor` or `AudioWorklet` required: 1. A `WaveShaperNode` rectifier approximates `|x|` (full-wave rectification), converting the AC audio signal to a unipolar amplitude proxy. 2. A `BiquadFilterNode` (lowpass) smooths the rectified signal. The cutoff is derived from `responseMs` to control attack/release speed. 3. A `GainNode` scales the smoothed envelope by `sensitivity` (Hz/unit) and connects its output directly to the wah filter's `frequency` `AudioParam`, sweeping the filter centre upward with input loudness. Node graph: ``` inputGain ─┬─ dryGain ─────────────────────────────┐ │ ├── outputGain └─ wahFilter(bandpass) ─── wetGain ──────┘ Envelope (control) path — parallel off inputGain, sums into wahFilter.frequency: inputGain → rectifier(WaveShaper,|x|) → smoothingLowpass(BiquadFilter,lowpass) → sensitivityGain → wahFilter.frequency (AudioParam) ``` Gains: `dryGain.gain = 1 - wet`; `wetGain.gain = wet`.

8
props
1
methods
0
events
Import
import { AutoWahEffect } from '@codexo/exojs-audio-fx'

Auto-wah effect that uses an amplitude envelope follower to modulate a bandpass filter, creating the characteristic "wah" sweep driven by the loudness of the input signal.

The envelope follower is built entirely from native Web Audio nodes — no `ScriptProcessor` or `AudioWorklet` required:

1. A `WaveShaperNode` rectifier approximates `|x|` (full-wave rectification), converting the AC audio signal to a unipolar amplitude proxy. 2. A `BiquadFilterNode` (lowpass) smooths the rectified signal. The cutoff is derived from `responseMs` to control attack/release speed. 3. A `GainNode` scales the smoothed envelope by `sensitivity` (Hz/unit) and connects its output directly to the wah filter's `frequency` `AudioParam`, sweeping the filter centre upward with input loudness.

Node graph: ``` inputGain ─┬─ dryGain ─────────────────────────────┐ │ ├── outputGain └─ wahFilter(bandpass) ─── wetGain ──────┘

Envelope (control) path — parallel off inputGain, sums into wahFilter.frequency: inputGain → rectifier(WaveShaper,|x|) → smoothingLowpass(BiquadFilter,lowpass) → sensitivityGain → wahFilter.frequency (AudioParam) ```

Gains: `dryGain.gain = 1 - wet`; `wetGain.gain = wet`.

Constructors 1
new(options: AutoWahEffectOptions): AutoWahEffect
Methods 1
destroy(): void
Properties 8
baseFrequency: number
inputNode: AudioNode
outputNode: AudioNode
q: number
ready: Promise<void>
responseMs: number
sensitivity: number
wet: number
Source