DreDarkroom// SafeLight //DevelopDrop
DreDarkroom, SafeLight, SquidgySqueegee: DJ aliases
space build + drop · right-click menu · wheel level · z x v b mute · n clear · ; ' style · ? help
How to play
Play
a w s e d f t g y h u j k o l p are a keyboard (a row of piano). Drag on the picture to squeegee the fog: it smears, squeaks and opens the filter. 1 2 3 change the light (and the mode).
Build and drop
Hold space (or the right mouse button, or the build button) and the music thins out and climbs. Let go and the drop lands on the next beat. Shift + space builds the other way: the mix sinks under water. Quantise decides when the drop lands (now, the next beat, the next bar). Build slowly and quietly: there is no rush.
Balance and menus
Put the mouse over the bass grid or a drummer and use the wheel to trim its level in quarter-decibel steps (hold Shift for 1 dB, Alt for 0.05 dB): wheel down takes the edge off the bass, wheel up over the hats brings them forward. The wheel over any slider nudges it just as finely. Right-click the bass grid or a drummer for a menu: mute, solo, clear, a new pattern, shift or turn it, key up and down, a clip, reset level.
Phones, battery and fullscreen
eco is a battery saver: a smaller picture at 30 frames a second, no reverb room and simpler hats, so a phone stays cooler. It starts on for phones, and turns on by itself when the battery is low. The battery indicator beside the ? blinks on the beat when low, and twice as fast when very low. full (or Shift + F) goes fullscreen on any device and shows a quiet clock of the time since the music started; click it to see the time of day instead.
Touch and pen
The same gestures work on a phone, tablet or with a stylus. One finger squeegees; two fingers held build and letting go drops; three build the other way; double-tap the picture to hide or show the panel. A pen's pressure sets the blade, so a light touch is fine and precise; its barrel button builds. Resting your palm while using a pen is ignored. On a phone the first tap also goes fullscreen, and more ▴ opens the rest of the controls.
Shape a loop
Click the grid to write the bass line. Click dots on the rings to change the three drummers; − + change hits, ‹ › change loop length. n clears the bass line, Shift + n the drums. z x v b mute kick, snare, hats and bass. Drift lets it wander around your loop: 0 keeps it exactly as written.
Styles
The style menu (or ; and ') swaps in a whole starting point: tempo, drum kit, patterns, sound and picture. Changes land on the next bar. Some are written in the spirit of artists that inspired this; none copy a track. Slow Build starts with just a kick and hats.
Tempo
The slider moves in tenths. dnb (or \) switches it to the drum and bass range up to 180. [ ] nudge by 1, { } by 0.1.
Clips, loops and recordings
● drums / ● bass (or r) record 1 to 8 bars from the next bar and loop them. Drag a saved clip, a loop .json or a performance .sqz onto the page and it snaps in on the next bar (recordings take over the page until you press back to live).
Journey
journey (or i) slowly raises the tempo while the picture changes and thickens, over as many bars as you choose.
Keep a loop
save loop stores it in this browser. ↺ saved loop puts the bass line back. files exports or imports loops as small .json files.
Show
` (backtick) hides the panel. c goes fullscreen with nothing but the picture. q changes picture quality. Right-clicks are yours: no browser menu gets in the way of a screen recording. Add ?clean=1 to the address for OBS.
Record
Pick a format, press ● rec. Lean WebM is picture and sound in a small file. Visuals only has no sound. Screen records the whole page with its controls. Video + performance saves a video and a replay file together. WAV is lossless, MP3 is 320 kbps, Performance is a tiny file that replays on the page. snap saves a still.
MIDI
midi (or m) connects a controller: learn any button or knob, or run the quick map. Needs Chrome or Edge.
Hidden
Some things are not on any button. Try 0.
Feeling adventurous? The experimental parallel version is DreVelopDrop.