Namespace: mixer

syngen.mixer

Provides a mastering process and utilities for routing audio into it like a virtual mixing board. Implementations are encouraged to leverage this instead of the main audio destination directly.

Source:

Namespaces

reverb

Members

(static) param

Exposes the parameters associated with the mastering process. Here's an overview of its routing:

  • GainNode input
  • BiquadFilterNode highpass
  • BiquadFilterNode lowpass
  • DynamicsCompressorNode limiter
  • GainNode limiter makeup gain
  • GainNode output
  • AudioDestinationNode syngen.context().destination
Properties:
Name Type Description
gain AudioParam
highpass Object
Properties
Name Type Description
frequency AudioParam
limiter Object
Properties
Name Type Description
attack AudioParam
gain AudioParam
knee AudioParam
ratio AudioParam
release AudioParam
threshold AudioParam
lowpass Object
Properties
Name Type Description
frequency AudioParam
preGain AudioParam
Source:

Methods

(static) createBus() → {GainNode}

Creates a GainNode that's connected to the main input. Implementations can leverage buses to create submixes.

Source:
Returns:
Type
GainNode

(static) export(optionsopt) → {MediaRecorder}

Records the output of the provided input and exports it as a WebM file. When no duration is passed, the MediaRecorder must be stopped to complete the export.

Parameters:
Name Type Attributes Description
options Object <optional>
Properties
Name Type Attributes Default Description
duration Number <optional>
0
input AudioNode <optional>
syngen.mixer.output
name String <optional>
export.webm
Source:
Returns:
Type
MediaRecorder

(static) input() → {GainNode}

Returns the main input GainNode.

Source:
Returns:
Type
GainNode

(static) output() → {GainNode}

Returns the main output GainNode.

Source:
Returns:
Type
GainNode

(static) rebuildFilters()

Occasionally the main filters can enter an unstable or bad state. When this happens the entire mix can drop out to silence. This provides a solution for replacing them with stable filters. Implementations can proactively check for invalid states with an AnalyserNode or AudioWorkletNode. Beware that the nodes that caused the issue may also need reset.

Source: