Skip to content

Audio Nodes

Three Steam Audio exposes four AudioWorklet-based nodes.

Created by world.createNode(source). It renders a single source with direct effects, HRTF spatialization, and optional reflections/reverb sends.

source : The Source associated with this node.

ready : Promise<void> resolved when the AudioWorklet processor has initialized.

state : 'initializing' | 'ready' | 'failed' | 'disposed'.

error : Error | undefined set if initialization fails.

node.connectReflections(
bus: ReflectionBusNode,
options?: { gain?: number },
): ReflectionConnection

Connects the source’s reflection send to a reflection bus. Returns a connection with disconnect() and setGain(gain).

node.connectReverb(
bus: ReverbBusNode,
options?: { gain?: number },
): ReverbConnection

Connects the source’s reverb send to a reverb bus.

node.dispose(): void

Disconnects and disposes the node.

Created by world.createAmbisonicNode(source). It decodes a four-channel first-order AmbiX input to stereo. See AmbisonicSource.

The node has one input and one stereo output, and exposes ready, state, error, and dispose() with the same meanings as SteamAudioNode.

Created by world.createReflectionBus(). Renders per-source parametric reflections.

bus.setWet(wet: number): void

Sets the bus wet level in [0, ∞).

bus.dispose(): void

Created by world.createReverbBus(). Renders listener parametric reverb.

bus.setWet(wet: number): void

Sets the bus wet level in [0, ∞).

bus.dispose(): void

disconnect() : Removes the send.

setGain(gain) : Updates the send gain in [0, ∞).