A browser-based dual-deck CDJ / mixer cockpit built from Unicode controls, keyboard shortcuts, optional Web MIDI input, procedural audio loops, and a local AI pilot you can watch DJ.
This is a public-safe prototype lane for the Sonic Forage autonomous DJ OS: no external audio, no copyrighted tracks, no paid APIs, no real endpoints, no streaming, and no recording. It runs as a static GitHub Pages app.
- Two Unicode CDJ decks:
◉,▶,⏸,⏪,⏩,⌁,▰,▱,◌,◎ - Unicode mixer: crossfader, EQ meters, cue lamps, waveform-like text rails
- PC control: keyboard + mouse
- MIDI control: Web MIDI API maps common CC / note messages into deck actions when browser/hardware supports it
- AI control: local deterministic AI Pilot emits safe deck commands so you can literally watch it DJ
Closed by default:
- No microphone capture
- No recording
- No stream publishing
- No external audio upload
- No paid API/GPU call
- No real endpoint URLs
- No shell / system control
- No private media
python3 -m http.server 8080 --directory docs
# open http://localhost:8080Or open docs/index.html directly. Web MIDI usually requires a secure context or localhost in Chromium browsers.
Space: start / pause AI Pilot1: Deck A play/pause2: Deck B play/pauseQ/A: Deck A tempo up/downW/S: Deck B tempo up/downZ/X: crossfader left/rightC: center crossfaderR: reset mixM: request Web MIDI
See framework/midi/default-midi-map.json.
Common defaults:
- CC 1: crossfader
- CC 2: Deck A tempo
- CC 3: Deck B tempo
- CC 4: Deck A filter
- CC 5: Deck B filter
- Note 36: Deck A play/pause
- Note 37: Deck B play/pause
- Note 40: AI Pilot toggle
The AI Pilot is intentionally local and deterministic. It does not call an LLM or endpoint. It runs a simple energy-state policy:
- Bring Deck A in.
- Cue Deck B.
- Slowly crossfade.
- Nudge tempo and filter.
- Swap lead deck.
- Keep the party moving without unsafe actions.
This is a forkable control-surface proof for:
- Unicode-only DJ UI experiments
- Web MIDI mapping tests
- AI/autonomous DJ state-machine visualization
- future integration with the Sonic Forage autonomous DJ OS after human approval
- Sonic Forage org: https://github.com/Sonic-Forage
- Autonomous DJ OS: https://github.com/Sonic-Forage/sonic-forage-autonomous-dj-os
The cockpit intentionally goes beyond a plain Unicode demo:
- movie-control-room frame, scanlines, glow, kinetic marquee rails
- text-only platters, text-only phase meters, text-only reactor HUD
- no
<img>and no<canvas>in the visual surface - still fully keyboard / pointer / Web MIDI compatible
- reduced-motion support for accessibility