Skip to content

Audio

💡 Simple Explanation: Measures audio volume in real-time. Creates audio-reactive effects like talking animations, VU meters, and beat-synced visuals.

⚙️ Technical Description: UpdaterNode that subscribes to SpectrumDataUpdated events and continuously outputs the current decibel level from an AudioVisualizer component. Behavior varies based on the Audio Visualizer’s Input Source setting.

DecibelLevel

🔍 Full Details & Examples

🔧 How It Works: Continuously monitors an AudioVisualizer component and outputs the current volume level. The measurement method depends on the Audio Visualizer’s Input Source:

Input Source ModeMeasurement Method
Recording DeviceUses precise GetDecibel() method for accurate dB measurement
Playback DeviceUses precise GetDecibel() method for accurate dB measurement
Stage Audio PlayerCalculates maximum value from spectrum data array
All Stage AudioCalculates maximum value from spectrum data array

Perfect For:

  • Audio-reactive visuals
  • VU meters and level displays
  • Music visualizers
  • Beat detection
  • Talking/lip sync animations
  • Audio-driven scaling and movement

👉 Inputs:

  • Audio Visualizer (SceneObject) - Scene object with AudioVisualizer component

👈 Outputs:

  • Decibel (Float) - Current volume level (continuously updated while the node is active)

🎬 Streaming Examples:

  • “Scale particle emission based on music volume.”
  • “Make a character’s mouth open wider when you speak louder into your microphone.”
  • “Pulse a ring’s scale to the beat of background music.”

🎯 Tips:

  • This node continuously updates while active - no need to re-trigger it.
  • For voice reactivity (talking animations), set the Audio Visualizer to Recording Device mode.
  • For music reactivity (beat sync), set the Audio Visualizer to Playback Device mode to capture desktop audio.
  • Pair with Math nodes (Multiply, Remap, Clamp) to map the dB value to visual properties like scale or color.
  • The output resets to 0 when the node stops executing.
  • See Audio Visualizer for all available input source modes and settings.

💡 Simple Explanation: Receives MIDI signals from hardware controllers. Triggers from MIDI devices.

⚙️ Technical Description: UpdaterNode that monitors MIDI device events using DryWetMidi library and outputs event type, JSON payload, and delta time when MIDI messages are received.

MIDIInput

🔍 Full Details & Examples

🔧 How It Works: Listens to specified MIDI device and fires when events occur.

Perfect For:

  • MIDI controller integration
  • Hardware triggers
  • Music production integration
  • Physical control surfaces

👉 Inputs:

  • Device (Dropdown) - Name of MIDI input device

👈 Outputs:

  • EventType (String) - Type of MIDI event (NoteOn, NoteOff, etc.)
  • Json (String) - Full event data in JSON format
  • Delta Time (Float) - Time since last event

🎬 Streaming Example: “Trigger effects when pressing keys on MIDI keyboard.”

🎯 Tips: Device must be connected. Great for Stream Deck alternatives. JSON contains full MIDI data.


💡 Simple Explanation: Sends MIDI signals to hardware. Controls MIDI devices from node graphs.

⚙️ Technical Description: Synchronous node that sends MIDI events (note on/off, control change) to specified output devices using the DryWetMidi library.

MIDIOutput

🔍 Full Details & Examples

🔧 How It Works: Sends MIDI events (notes, control changes) to specified output device.

Perfect For:

  • Controlling MIDI hardware
  • DAW integration
  • Lighting controllers
  • Haptic feedback

👉 Inputs:

  • Device (Dropdown) - Name of MIDI output device
  • Event Type (Dropdown) - Type of event (NoteOn, NoteOff, ControlChange)
  • Channel (Int) - MIDI Channel (1-16)
  • Note (Int) - Note number (0-127)
  • Velocity (Int) - Note velocity/intensity (0-127)
  • Control (Int) - Control number (for CC events)
  • Value (Int) - Control value (for CC events)

🎬 Streaming Example: “Send MIDI note to trigger hardware synthesizer when donation occurs.”

🎯 Tips: Supports Note On/Off, Control Change, etc. Channel 1-16. Note 0-127. Velocity 0-127.


💡 Simple Explanation: Plays audio on an object. Triggers sound effects.

⚙️ Technical Description: Synchronous node that sets the PlayTrigger property on an AudioPlayer3D component to start audio playback.

PlaySceneObjectAudio

🔍 Full Details & Examples

🔧 How It Works: Sets PlayTrigger on AudioPlayer3D component to start playback.

Perfect For:

  • Sound effects
  • Music triggers
  • Audio cues
  • Dialogue playback

👉 Inputs:

  • (SceneObject) - Object with AudioPlayer3D component

🎬 Streaming Example: “Play celebration sound when goal reached.”

🎯 Tips: Requires AudioPlayer3D component on object. Can be retriggered.


💡 Simple Explanation: Stops audio playback on an object. Silences sounds.

⚙️ Technical Description: Synchronous node that sets the StopTrigger property on an AudioPlayer3D component to halt audio playback.

StopSceneObjectAudio

🔍 Full Details & Examples

🔧 How It Works: Sets StopTrigger on AudioPlayer3D to halt playback.

Perfect For:

  • Stopping looping sounds
  • Audio control
  • Muting effects
  • Scene transitions

👉 Inputs:

  • (SceneObject) - Object with AudioPlayer3D component

🎬 Streaming Example: “Stop background music when scene switches.”

🎯 Tips: Immediately stops audio. Pair with PlaySceneObjectAudio for audio control.