wozuberlin · Studio

Make the room make itself.

The creative tooling under Pulse — sequencer, operators, mapping, MIDI, media, graph, stage, audio. Eight tools, one shared clock, one shared analyser, one shared visual library. Built for operators, artists, and rooms that want to react.

The studio · eight tools, one stack

Every tool below is a real route in the app. Click any to open it. Bring headphones — most of them want sound.

01

Sequencer

Step grid that triggers sound and visuals on the same beat.

Slaved to a shared clock. Each track can target a sample, a visual layer, an effect, a cue, a DMX scene, or an ESP32 — same pattern, different rooms of the show.

Open sequencer →
02

Visual operators

Twelve audio-reactive canvas operators with editorial names.

Oscilloscope, moiré, polar interference, contour field, lorenz attractor, kinetic typography. Compose by z-stacking. Not generic VJ presets — a real visual language.

Open visual operators →
03

Projection mapping

Corner-pin warping + clip-path masks, in the browser.

Drag the four corners of a surface to align with a wall, ceiling, column, or shop window. Add polygon masks. Fire MIDI-driven show/hide per layer. Send to a dedicated output route for the projector.

Open projection mapping →
04

MIDI Learn

Map any knob, pad, fader to any parameter in seconds.

Eleven controller profiles auto-recognised (APC, nanoKONTROL, Launchpad, MIDImix, MiniLab, LPD8, DDJ, plus generic CC/Note). Click Learn, move the control, done.

Open midi learn →
05

Media sources

Bring your video, audio, webcams, and Cloud Library folders.

Local files, mic, screen audio, M3U streams, YouTube embeds, webcams. Plus your wozuberlin.pro Cloud Library /Pulse folder — drop a file in cloud, see it in the picker. Files stay yours.

Open media sources →
06

Operator graph

Visual node graph for routing audio, sensor, and signal data into operators.

When checkboxes and sliders aren't enough: SIGNAL → MATH → TEXTURE → CONTROL → OUTPUT nodes you wire together. Audio-reactive routing, sensor input, custom transformations.

Open operator graph →
07

Stage planner

Draw your room. Pin your fixtures. Aim your beams.

Drawing tools, fixture icons, floorplan import, beam cones. The Stage view binds to Mappings via the targetRegistry — one fixture id across the whole stack.

Open stage planner →
08

Audio engine

One master bus. Many sources. One analyser feeds the visuals.

Web Audio under the hood. FFT analyser drives every operator. Demo sample pack ships in the box; load your own to taste.

Open audio engine →

How they fit

Same clock. Same analyser. Same store.

The studio doesn't ship as eight separate apps glued together. They share:

  • One clockpulseClock (BPM / position / beat / bar / timecode). Sequencer, cue scheduler, mapping all read from it. Tap-tempo lives in the cockpit transport.
  • One analyser — the master audio bus drives every operator's reactivity. One mic input is heard by every visual layer at once.
  • One storepulseStore with prefix-routed applyParam(key, value): layer:, fx:, cue:, transport:, seq:, map:, master:. MIDI Learn binds to keys, not to widgets — so any input can drive any parameter.
  • One MIDI Learn surfacebeginMidiLearn(key). Pads, knobs, faders, notes, CC — same flow everywhere.
  • One target registry — every fixture / mapping surface / layer has one id across stage, mapping, sequencer, graph. No translation layer.

Add a tool, share the clock + the analyser + the store, and it's instantly compatible with everything else.

The studio is one route away.

No install. No account. Open it, make a sound, make a wall.