Audio
DecibelLevel
Section titled “DecibelLevel”💡 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.

🔍 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 Mode | Measurement Method |
|---|---|
| Recording Device | Uses precise GetDecibel() method for accurate dB measurement |
| Playback Device | Uses precise GetDecibel() method for accurate dB measurement |
| Stage Audio Player | Calculates maximum value from spectrum data array |
| All Stage Audio | Calculates 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.
MIDIInput
Section titled “MIDIInput”💡 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.

🔍 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 formatDelta 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.
MIDIOutput
Section titled “MIDIOutput”💡 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.

🔍 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 deviceEvent 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.
PlaySceneObjectAudio
Section titled “PlaySceneObjectAudio”💡 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.

🔍 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.
StopSceneObjectAudio
Section titled “StopSceneObjectAudio”💡 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.

🔍 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.