Skip to content

Sonic-Forage/sonic-forage-unicode-cdj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍓🎛️ Sonic Forage Unicode CDJ

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.

Live idea

  • 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

Safety boundary

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

Run locally

python3 -m http.server 8080 --directory docs
# open http://localhost:8080

Or open docs/index.html directly. Web MIDI usually requires a secure context or localhost in Chromium browsers.

Controls

Keyboard

  • Space: start / pause AI Pilot
  • 1: Deck A play/pause
  • 2: Deck B play/pause
  • Q/A: Deck A tempo up/down
  • W/S: Deck B tempo up/down
  • Z/X: crossfader left/right
  • C: center crossfader
  • R: reset mix
  • M: request Web MIDI

MIDI mapping

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

AI Pilot

The AI Pilot is intentionally local and deterministic. It does not call an LLM or endpoint. It runs a simple energy-state policy:

  1. Bring Deck A in.
  2. Cue Deck B.
  3. Slowly crossfade.
  4. Nudge tempo and filter.
  5. Swap lead deck.
  6. Keep the party moving without unsafe actions.

Repo purpose

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

Links

Cinematic UI pass

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

About

Unicode-only browser CDJ/mixer control surface with keyboard, Web MIDI, procedural audio, and local AI pilot.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages