API reference

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

C

classPhaserEffect

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

Phaser effect implemented with native Web Audio nodes (no worklet required). The wet signal passes through a cascade of allpass `BiquadFilterNode`s whose centre frequencies are swept synchronously by a sine LFO. The phase shift produced by each allpass stage creates sweeping notches when summed with the dry signal. An optional feedback path from the last stage back to the first adds resonance and sharpens the effect. Node graph: ``` inputGain ┬── dryGain ───────────────────────────────────────┐ │ ├── outputGain └── allpass[0] ─► … ─► allpass[N-1] ── wetGain ───┘ ▲ │ └── feedbackDelay ◄── feedbackGain ◄─────────┘ lfoOscillator ── lfoGain (depth × baseFrequency Hz) ──► each allpass.frequency ``` Note: `feedbackDelay` is a DelayNode with `delayTime = 0`. Even at zero delay the node itself breaks the zero-latency cycle, which spec-compliant browsers (Chrome, Edge, Safari) would otherwise mute entirely. Gains: `dryGain.gain = 1 - wet`; `wetGain.gain = wet`; `feedbackGain.gain = feedback`; `lfoGain.gain = depth × baseFrequency`.

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

Phaser effect implemented with native Web Audio nodes (no worklet required).

The wet signal passes through a cascade of allpass `BiquadFilterNode`s whose centre frequencies are swept synchronously by a sine LFO. The phase shift produced by each allpass stage creates sweeping notches when summed with the dry signal. An optional feedback path from the last stage back to the first adds resonance and sharpens the effect.

Node graph: ``` inputGain ┬── dryGain ───────────────────────────────────────┐ │ ├── outputGain └── allpass[0] ─► … ─► allpass[N-1] ── wetGain ───┘ ▲ │ └── feedbackDelay ◄── feedbackGain ◄─────────┘

lfoOscillator ── lfoGain (depth × baseFrequency Hz) ──► each allpass.frequency ``` Note: `feedbackDelay` is a DelayNode with `delayTime = 0`. Even at zero delay the node itself breaks the zero-latency cycle, which spec-compliant browsers (Chrome, Edge, Safari) would otherwise mute entirely. Gains: `dryGain.gain = 1 - wet`; `wetGain.gain = wet`; `feedbackGain.gain = feedback`; `lfoGain.gain = depth × baseFrequency`.

Constructors 1
new(options: PhaserEffectOptions): PhaserEffect
Methods 1
destroy(): void
Properties 9
baseFrequency: number
depth: number
feedback: number
inputNode: AudioNode
outputNode: AudioNode
rateHz: number
ready: Promise<void>
stages: number
wet: number
Source