Skip to main content

Nodes

Nodes are the fundamental building blocks of audio engines in Switchboard SDK. Each node performs a specific function, such as generating, processing, or consuming audio, or handling non-audio tasks like event triggering or text processing.

Types of Nodes

All nodes inherit from the base Node class.

  • Audio Nodes: Nodes that process audio buffers (e.g., gain, mixer, player, recorder).
  • Non-Audio Nodes: Nodes that only emit events or provide actions, without processing audio (e.g., LLM node for text processing).

You can find the available nodes on the List of Objects page. Extensions can also provide additional nodes—see the Extensions page for more.

Audio Nodes

Audio nodes are divided into three main types:

Source Nodes

Source nodes generate audio. They have outputs but no inputs.

Examples:

Processor Nodes

Processor nodes receive audio on their input(s), process it, and output the result.

Examples:

  • Gain: Adjusts the volume of the audio signal.
  • Mixer: Mixes multiple audio inputs into one.
  • Compressor: Applies dynamic range compression.
  • NoiseGate: Suppresses signals below a threshold.
  • SubgraphProcessor: Embeds another audio graph as a processor.

Sink Nodes

Sink nodes consume audio. They have inputs but no outputs.

Examples:

Audio Buses

Audio buses are the inputs and outputs of nodes that carry audio buffers. Some nodes support multiple buses (e.g., mixers), while others only support a single bus.

  • Audio bus: A stream of audio that goes into or comes out of a node. It encapsulates one or more channels of audio.

Non-Audio Nodes

Some nodes do not process audio but provide actions or emit events. For example, the LLM node provides an action that takes text and fires an event with the LLM's response, but does not process audio.

Bring Your Own Node

If you don't find the node you need, you can build your own. See Custom Nodes for instructions.

Or, contact us and we can help you build the missing node.