qualia is a whole band’s worth of gear crammed into one browser tab. No install, no server, no login — you open a URL and start playing.
It lives at /qualia. It’s a static site — the browser does all the work, no server round-trips once it’s loaded.
what’s in the box
One page, a pile of subsystems, all wired together:
- live coding — Strudel patterns for sound, with a Hydra bridge for visuals
- a guitar / pedal-steel rig — a Web-Audio channel strip: neural amp model, cab, EQ, delay, reverb, tuner
- a looper and a step sequencer for stacking stuff up live
- vocal processing — vocoder, harmonizer, voice shifter
- realtime analysis — FFT, RMS, beat detection
- pose tracking via MediaPipe, running off the main thread so it doesn’t drop frames
- audience participation (we call it “entanglement”)
- 20+ swappable visualizers called quales, plus a little arcade because why not
You don’t have to use all of it. Most nights I don’t.
how to start
Genuinely: open /qualia in Chrome (or something Chrome-ish). That’s the install step. There isn’t another one.
Then:
- Pick a quale. That’s the visual that’s running. Twenty-something of them, swap anytime.
- Allow the mic and/or camera if you want it to react. Mic makes it audio-reactive, camera makes it move with your body. Skip both and it still runs — it just won’t listen.
- Make noise. Type a Strudel pattern, plug a guitar into the rig, or sing into the vocoder. Whatever’s handy.
Never touched Strudel? One line gets you a beat:
sound("bd sd bd sd")
…and then go read the actual Strudel docs, because I’m not going to teach it here and they do it better. Same deal with Hydra for the visual side — hydra.video, go wild.
the field
Here’s the one idea that makes it all hang together. Every frame, everything — your audio, your body pose, the crowd — gets dumped into one shared data structure. I call it the field.
The visualizers read from the field. They don’t care where a signal came from; a kick drum and a raised arm are both just numbers pushing a parameter around. That’s why adding a new quale is basically one file: the field gets handed to you, you draw something, done.
Important bit: it all only suggests. The audio, the pose, the audience — they nudge parameters, they don’t grab the wheel. The performer stays in control, always. It targets 30+ fps and it’s built to survive a solo set.
the name, quickly
voidstar is C’s void* — #define NULL ((void *)0), a pointer to nothing. qualia is the other end of that: taking the invisible stuff — sound, motion, attention — and making it something you can see.
Go poke at it.
→ Open qualia → Run it from your phone (tether) → Let the crowd into the visuals (entanglement) → Watch it in a real set → Learn Strudel · Learn Hydra → Source on GitHub