Guide

Options

The canonical option reference — every visualizer option, its type, default, and meaning.

Every package configures the same set of options — the framework-agnostic FFTVisualizerOptions. This page is the single source of truth for what each one means; the Core API and Vue props pages link back here for descriptions.

How you pass them differs by package: Core takes an options object in the constructor and setOptions() ({ ledBars: true }); Vue takes them as props in camelCase or kebab-case (:led-bars="true"). The names and meanings below are identical either way.

Data source

OptionTypeDefaultMeaning
mode'websocket' | 'local' | 'external''websocket'Where FFT data comes from — see Data modes
websocketUrlstringWebSocket URL (used when mode: 'websocket')
dataUint8ArrayExternal FFT magnitudes, mono (mode: 'external')
dataLeft / dataRightUint8ArrayExternal FFT magnitudes per channel (stereo external mode)
audioSource'mic' | 'display''mic'Local capture source (mode: 'local')
audioDeviceIdstringSpecific input device for local mic capture
autoReconnectbooleanfalseReconnect the WebSocket with exponential backoff (1s→30s) after an unexpected drop

Data processing

OptionTypeDefaultMeaning
bands10 | 20 | 40 | 8080Number of frequency bands displayed
noiseFloornumber0Cut magnitudes below this threshold (0–255)
smoothingnumber0Temporal smoothing (0 = none, 0.9 = heavy)
showPeaksbooleantrueShow falling peak indicators
peakDecaynumber0.997Peak fall speed (0.99 = slow, 0.9 = fast)
stereobooleanfalseStereo mode: left channel top, right channel bottom

Appearance

OptionTypeDefaultMeaning
ledBarsbooleanfalseLED segment effect
ledShape'segment' | 'meter''segment'segment = fixed-pixel gap lines; meter = short, wide segments like a classic LED meter
lumiBarsbooleanfalseFull-height bars whose brightness follows the level
radialbooleanfalseCircular spectrum: angle = frequency, radius = level
radialInnerRadiusnumber0.35Radial: inner hole radius as a fraction of outer radius (0–0.9)
barSpacenumber0.25Gap between bars as a fraction of bar width (0–0.9)
reflexRationumber0Mirrored reflection (0 = off). Linear mono: fraction of height (max 0.7). Radial: > 0 mirrors bars inward
reflexAlphanumber0.25Reflection brightness (0–1)
glownumber0Glow above the bar tops (0 = off, 1 = max)
rotation0 | 90 | 180 | 2700Rotate the whole visual clockwise, in degrees
gradientGradientName | GradientStop[]'classic'Bar colors: a preset name or custom stops — see Gradients
gradientDirection'vertical' | 'horizontal''vertical'Gradient axis
colorMode'gradient' | 'bar-level''gradient'bar-level colors each whole bar by its current level
backgroundstring'#0a0a0a'Background behind/between bars. Any CSS color, incl. 'transparent' / rgba(…) (fixed at mount)
debugbooleanfalseLog connection/config diagnostics to the console
The Vue wrapper adds one Vue-only prop, showStats, for its built-in connection/fps overlay — documented in Vue props.
Copyright © 2026