audio reactive visuals

Read the limit first, because for a lot of people typing this it is the only thing that matters: kott does not control physical lighting. No LED strips, no DMX or Art-Net, no lasers, no Arduino or ESP32, no serial or OSC output of any kind. If you are building something that flashes on the kick, you want a DMX or LED controller and you want it instead of this. Nothing on this page will change that.

What kott reacts with is an image — a live camera, a video file or a still — processed on the GPU in a browser tab. Two more things before the pitch: there is no NDI, no Syphon and no virtual camera, so kott cannot feed video to another application; and the audio-reactive spectacle effects, spectrum-bars among them, are paid. Every effect previews free with no account, and a free set exports without paying, but exporting those needs the one-time licence.

If you are still here: kott does not have a set of audio-reactive effects. It has an audio bus you patch. Spectral-flux onset, a phase-locked beat pulse, the downbeat of every four-beat bar, build and drop detection, tempo tracked from 60 to 180 BPM, fixed bass/mid/treble, and two to eight EQ bands you define yourself — any of those routed onto any parameter of any effect, with its own gain and its own smoothing. The filter moves to the beat because you wired the beat to that filter. $39 until 13 September, once, for the web studio and the macOS app together.

open the studio with audio in →

01/ NOT THIS

if you came here for lights, this is the wrong tool

“Audio reactive” is two different searches wearing one phrase. One of them is about physical lighting. kott is not in that business at all, so here is the whole answer in one screen:

  • kott does not drive LED strips. There is no WS2812, no NeoPixel, no serial output and no way to add one. If you want a strip that flashes on the kick, you want an LED controller or a microcontroller sketch, not this.
  • kott does not speak DMX or Art-Net. It cannot address a fixture, a dimmer, a moving head or a haze machine. Lighting desks and DMX software exist for that and do it properly.
  • kott does not talk to Arduino or ESP32, and there is no serial, OSC or WebSocket bridge that would let it. The output is pixels on a canvas.
  • kott does not control lasers. Nothing here produces ILDA output or anything a laser projector can read.
  • What kott reacts with is an image: a camera, a video file or a still, processed on the GPU and shown on a screen or a projector. If the thing you want to make react is physical, close this page — it will not work, and no setting turns it into a lighting controller.

02/ ROUTING

an audio bus, not audio-reactive effects

This is the difference between kott and most of what else comes up for this search, and it is worth reading before the feature list.

an effect that pulses is not the same as a routable bus
Most tools in this space ship effects with the reaction baked in: the bars go up with the volume because the person who wrote the effect decided they would, and the only control you have is a sensitivity slider. That is a fixed behaviour with a knob on it. kott instead analyses the audio once, publishes the results as signals, and lets you decide where each one lands. Nothing is audio-reactive until you make it so, and anything can be.
any signal onto any parameter
studio/core/modnodes.ts is a routing matrix. Pick a source — onset, the beat pulse, the downbeat, build, drop, tempo, a frequency band, one of your own EQ bands — and pick a destination, which is any parameter any effect exposes. Threshold, angle, scale, dot size, warp amount, palette position, contrast, line weight: they are all just parameters, so they are all valid destinations.
each connection has its own gain and its own smoothing
A modulation node carries a gain, so the same onset can shove one parameter hard and nudge another, and an EMA smoothing amount, so you can choose between a hit that snaps and a hit that swells. This is why the same wiring can read as a strobe on one parameter and as breathing on the next.
one master over all of it
A global AUDIO REACTIVITY control scales every route at once. In a room where the PA is louder than you planned, you pull one control rather than re-balancing every connection you made.
LFOs when the music is not the right source
Sine, triangle and drift are available as modulation sources in the same matrix, patched the same way. Some parameters want a slow drift that ignores the track entirely, and mixing a drifting LFO with an onset on the same effect is how a look stops being a metronome.

03/ SIGNALS

what the audio is actually broken into

A routing matrix is only as good as what it has to route. These are the sources kott publishes, and what each one means — the terms get used loosely everywhere else, so they are defined here.

onset — spectral flux
An onset is the moment a new sound starts, which is not the same as the moment the audio gets loud. kott finds it with spectral flux: it compares the frequency spectrum of this moment to the one before it and looks at how much energy moved upward across the bands. A hi-hat that is quiet but sudden produces a large flux; a pad swelling to full volume produces almost none. Wire onset to a parameter and the parameter moves on events rather than on level, which is why it reads as rhythm instead of as a VU meter.
the beat pulse, phase-locked
Onsets are messy — a track has more of them than it has beats. The beat tracker estimates the underlying pulse and locks to its phase, so it keeps issuing beats through a bar where the drums drop out and does not fire twice on a flam. Tempo is tracked between 60 and 180 BPM. The tracker has three modes: autocorrelation off the incoming audio, a fixed BPM you type in, or locked to an external MIDI clock.
the downbeat
The first beat of every four-beat bar, distinguished from the other three. This is the one people miss when they build a reaction out of raw beats: a look that changes on every beat is exhausting, and a look that changes on the downbeat is a phrase. Wire a hard change to the downbeat and a small one to the beat and the visual acquires structure it did not have.
build and drop
A build is a sustained rise in energy over time — the section where a track is climbing toward something. A drop is the release at the end of it. kott detects both as their own signals, so a parameter can ramp across the whole build instead of stepping on each beat, and something else can be triggered at the moment it breaks. These are the two events a beat detector alone cannot give you, and they are what makes a set follow the shape of a track rather than its pulse.
bass, mid and treble
Three fixed bands, always available, no configuration. This is the quick route: kick to one parameter, vocal range to another, cymbals to a third, and something useful is on screen in under a minute.
your own EQ bands, from two to eight
When the fixed three are too blunt, define your own — anywhere from two to eight bands, each with its own frequency window, its own gain and its own gate. The gate is the part that matters live: it sets the level a band has to clear before it sends anything, so a band aimed at a snare stays quiet through the bass and does not smear the whole mix onto your parameter. This is how you isolate one element of a track and give it a parameter of its own.

04/ DRAWN

effects that draw the sound directly

Routing moves a parameter. A smaller group of effects does something else: it reads the spectrum and waveform textures as image data and draws them. These are the ones you want if the sound itself is meant to be visible on screen, and they are paid.

spectrum-bars
The vertical FFT bar graph everyone pictures when they say music visualiser. Horizontal position maps to frequency, bar height comes from the spectrum, the source image tints the bars rather than leaving them flat, and the peak caps glow. This is a paid effect.
radial-spectrum
The same spectrum wrapped into a circle rather than laid out on a line.
oscilloscope
The time-domain waveform itself, drawn as a glowing trace with gaussian bloom. Not the spectrum: the actual shape of the wave, which moves differently and reads as a signal rather than as a chart.
freq-rings
Frequency content rendered as concentric rings.
reactive-warp
The source image warped by the audio, rather than the audio drawn on top of it.
signal-wave-plus
A waveform treatment with more shaping than the plain oscilloscope trace.
datamosh-real
Compression-artefact destruction, driven by the signal rather than by a timer, so the smearing lands with the track.

05/ CLOCK

a detected tempo is a guess; a clock is not

the clock, when there is one
kott reads MIDI realtime clock off the port — 0xF8 at 24 PPQN, with start, continue and stop — and derives BPM and quarter-note phase from that clock instead of estimating them. If the tempo is already decided by a DAW, a drum machine or a DJ mixer, the visuals follow it rather than chasing it, and they do not drift over a long track.
hardware in a browser, with nothing installed
WebMIDI, so a controller works in a browser tab. A nanoKONTROL2 map ships with kott, and any control MIDI-learns onto any parameter — including the routing gains, so how hard the audio drives a look can itself sit under a fader.
or no clock at all
With no MIDI on the port, autocorrelation on the incoming audio estimates the tempo, or you type a BPM and kott holds it. A live band and a phone playing a track both work; they just work less precisely than a clock, and the page will not pretend otherwise.

06/ IN
OUT

what goes in and what comes out

what it listens to
A live microphone, your system audio, or an audio file you load. The same analysis runs on all three, so a set played live and a track rendered at a desk use the same signals.
what it looks at
A live camera, a video file, or a still image as the visual source. The audio does not generate the image; it moves the effects applied to it.
on device, and it stays there
Camera and microphone are processed on your own machine. Nothing uploads — no frame, no audio, no recording.
what comes out
REC writes the canvas to an MP4 with the audio in sync. Stills come out as PNG, or as vector paths for print and plotters. Projector mode mirrors the output to a second window and fullscreen for the room.
where it runs
Any browser with WebGL2, with no install and no account needed to look. A native macOS app runs fully offline, which is the one to use on venue wifi. One payment covers both; there is no subscription.

07/ LIMITS

what it will not do

  • It does not control physical lighting. No LED strips, no DMX or Art-Net, no lasers, no Arduino or ESP32. The output is a canvas, and that is the end of it.
  • It cannot feed video to another application. There is no NDI, no Syphon and no virtual camera, so kott cannot appear as a source in OBS, Resolume, Zoom or anything else. It is a studio you watch and record from, not a driver you route through.
  • It is not a mixer or a media server. No clip grid, no cue list, no timeline. You play what is on screen; you do not fire clips from a rundown.
  • The visual language is narrow on purpose — dither, halftone, print, ASCII, engraving, glitch, CRT. There is no 3D, no generative geometry and no procedural systems. If you pictured reactive particles in a 3D scene, that is a different kind of tool.
  • The audio-reactive spectacle effects, spectrum-bars among them, are paid. Every effect previews free with no account, and a free set exports without paying, but exporting these needs the one-time licence.
  • The offline native build is macOS only. On Windows and Linux, kott means a browser tab with WebGL2.

08/ NEXT

where to go from here

This page is about the mechanism — how a signal reaches a parameter. Three other pages answer different questions.

you want a visualiser video for a track
music visualizer — the outcome rather than the wiring: loading a track, choosing a look, and getting an MP4 out with the audio in sync.
you are choosing between tools
vj software — kott next to Resolume, VDMX, TouchDesigner, Synesthesia, Magic, Mosh-Pro and Hydra, with real prices and a “buy the other one when” list for each.
your source is a live camera
webcam dither — the camera path in detail, where the frames go, and why dithering a moving image is harder than dithering a still.

09/ FAQ

questions

what is audio reactive visuals?
Audio reactive visuals are images that change in response to sound being analysed in real time, rather than to a fixed animation timeline. The audio is broken into measurable signals — the onset of a new sound, the underlying beat, the energy in a frequency range — and those signals drive properties of the image. The distinction worth knowing is between an effect with a reaction built into it, which gives you one behaviour and a sensitivity slider, and a routable audio bus, which publishes the signals and lets you decide which parameter each one moves. kott is the second kind: any analysed signal can be routed onto any effect parameter through a modulation node with its own gain and smoothing.
how do I make visuals react to music?
Give the tool the audio, pick a signal from it, and connect that signal to a parameter you want to move. In kott that means choosing microphone, system audio or an audio file as the input, then routing a source — onset, the beat pulse, the downbeat, build, drop, bass, mid, treble, or an EQ band you defined — onto a parameter of whatever effect is running. Each connection has its own gain, so you set how far the parameter travels, and its own smoothing, so you set whether it snaps or swells. Start with one connection: a bass band onto contrast is legible immediately and tells you whether the gain is right before you add anything else.
can I use my own music?
Yes. Load an audio file and kott analyses it exactly as it analyses a live input, or play the track anywhere on the machine and use system audio as the source. REC then writes the canvas to an MP4 with that audio in sync, so the reaction you watched is the reaction in the file. Nothing uploads; the audio is processed on your own device.
does it work with a microphone?
Yes. A live microphone is one of the three inputs, alongside system audio and a file, and the full analysis runs on it — onset, beat, downbeat, build and drop, tempo between 60 and 180 BPM, the fixed bass, mid and treble bands, and up to eight EQ bands you define with their own window, gain and gate. The microphone is processed on your device and nothing is uploaded. It is the input to use for a live band, a room, or a DJ you are not patched into.
can it control LED lights?
No. kott produces pixels on a screen and nothing else. It does not drive LED strips, it does not speak DMX or Art-Net, it has no serial, OSC or WebSocket output, and it does not talk to an Arduino or an ESP32 or a laser projector. If you are building an audio-reactive light, you want a DMX controller or an LED controller, not this. kott is worth your time only if the thing you want to react is an image.

10/ OUT

wire one signal and look at it

The studio opens on spectrum-bars with the audio input ready. No account, no install, and the preview is free — route a bass band onto one parameter, play something, and you will know within a minute whether this is the shape of tool you wanted.

open the studio with audio in →