AudioReactive
A node that analyzes sound from an input device (microphone or loopback) and produces values for driving visuals. Audio Level and Bass / Mid / Treble are four level trackers sharing the same audio stream, and the bands differ only in their LowPass / BandPass / HighPass filter. The dropdowns on the node select the input device and the filter applied on the Audio Level side (Bypass by default).
Parameters
- Dynamic Range — the width of the normalization window (dB). Clamped to 0-40, default 20
- Fall Speed — how the level falls. Clamped to 0-1, default 0.5
- Auto Gain — ON by default. When ON, Gain is not used
- Gain — a linear multiplier that is effective only when Auto Gain is OFF (default 0.5). It is converted to dB internally, where 1.0 is +/-0 dB, 2.0 is +6 dB, and 0.5 is -6 dB
- Onset Sensitivity — default 1. The larger it is, the harder it is to fire (the threshold moves upward)
The difference between Onset and Hit
- Onset — fires when the spectral flux (512 bins) exceeds the average of the last 43 frames × (1 + Sensitivity) + 0.01. It is automatic detection based on timbral change, and a refractory period of 0.1 s suppresses rapid repeats
- Hit — a deterministic trigger that fires only at the moment
Audio Levelcrosses upward through the threshold (set by dragging directly on the meter on the node, default 0.6). It has a hysteresis of 0.05 and will not fire again until the level drops below it once
On the meter in the node UI, green is the Level, red is the amount above the threshold, the white tick is the peak hold, and the LED at the right end is the Onset firing. Opening the collapsible “Tune” section overlays the Auto Gain normalization window on top of the raw input dB axis, so you can check what Dynamic Range is moving.
If the saved device ID is not found, or if none is selected, the first device in the list is selected.
Input ports
| Port ID | Type |
|---|---|
Dynamic Range | float |
Fall Speed | float |
Auto Gain | bool |
Gain | float |
Onset Sensitivity | float |
Output ports
| Port ID | Type |
|---|---|
Audio Level | float |
Bass | float |
Mid | float |
Treble | float |
Onset | trigger |
Hit | trigger |
Scriptable members
| Path | Type |
|---|---|
dynamicRangeInput | float |
fallSpeedInput | float |
autoGainInput | bool |
gainInput | float |
sensitivityInput | float |
dynamicRange | float |
fallSpeed | float |
autoGain | bool |
gain | float |
currentDeviceID | string |
currentAudioLevel | float |
peakLevel | float |
Synapse Apps (scripting)
await synapse.modules.create({ type: "AudioReactive" }) 
