Copperlight v1.0
User Manual
Offline audio-reactive visuals by Copper Room
Welcome
Copperlight is a live visualizer for musicians. It listens to your music, from a microphone, your computer's audio or audio files, and turns your kicks, snares, hi-hats and overall level into moving, colourful pictures that react as you play. Use it behind a live set or DJ set, in the studio while you produce, or in rehearsal to see your music take shape. You shape every look in real time and save the ones you love. It is made by Copper Room for people who make and play music.
It is a single file, copperlight-v1.html. There is nothing to install, no account, and no network connection is used at any point. Everything runs locally in your browser.
What you need
- A computer with a recent desktop browser that supports WebGL2. Copperlight is tested in Opera Air and Chrome and is built for Chromium-based browsers, so recent Microsoft Edge and Opera should work too. Firefox may run the visuals, but it cannot capture system audio, its MIDI support is limited, and it has not been tested. Safari is not supported. For the best results, keep your browser up to date and use its most recent version.
- An audio source: a microphone or line input, the audio playing on your computer, or audio files.
- Optional: a MIDI controller for hands-on control, or a sequencer or DAW sending MIDI for hands-free control.
Opening it
Double-click copperlight-v1.html, or drag it into a browser window. No server is required. Your settings, presets and MIDI mappings are saved by the browser, so open the file in the same browser each time. They are stored per browser, per address: opening the file from a different location, or through a local server, starts with a clean slate.
Copperlight also runs online at copperroom.studio/copperlight/app/. The online version and a downloaded copy keep their own saved data, because browsers store it per address. Use Export All and Import in the Presets section to move your presets, palettes, MIDI mappings and hotkeys between them.
Quick start
You can have a kick-reactive picture in about a minute.
- Open
copperlight-v1.html. The control panel sits on the side of the screen. - In the Audio section, press Mic, System or File, and allow access if the browser asks. The status line confirms the source and the level meter starts moving.
- In the Mode section, pick a mode with the pads (start with Super Video Synth, Ink or Strobe Blocks).
- Play something with a clear kick. If kicks are missed, raise Kick Sensitivity; if the picture flashes on things that are not kicks, lower it. Every audio source is different. A microphone in a room, a line from your mixer and a file arrive at different levels and with different amounts of bass, so the same setting will behave differently on each. Expect to adjust the sensitivity sliders whenever your source or room changes. If a source is too quiet for them to catch anything, raise Input Gain. If bass notes keep firing the kick, or kicks are missed on a busy track, see Kick Band below.
- Adjust React and Heat in the Master section to taste, then try a different palette in Color.
- Press H to hide the panel and F for fullscreen. You are now in performance view.
- Press D (Dice) for a new random look, U to undo it, and save looks you like into the Presets section.
The rest of this manual explains each section of the panel, grouped by what they do.
The interface
The visuals fill the whole window. All controls live in one panel, which you hide with H when you perform.
Top of the panel. Three status dots show what is running: Audio (an audio source is connected), MIDI (MIDI is enabled) and Rec (a recording is running). Dots light copper when active. A line under the dots shows short messages, such as the confirmation after you drop files on the window.
Sections. The panel is divided into collapsible sections, from top to bottom: Audio, Presets, Macros, Modulation, Mode, Color, Stages, Frame, Lens, Master, MIDI and Output. Click a section header to open or close it. Press M to collapse every section (or, if all are closed, to open them). Copperlight remembers which sections you left open.
Sliders.
- Drag to change a value. Double-click a slider to reset it to its default.
- Hover over a label for a short description of what it does.
- The fill of the slider shows the value. A small mark beside a label shows that the control has a MIDI controller assigned (see MIDI), and a wave symbol shows that an LFO is moving it (see Modulation).
- Controls that do nothing in the current mode are hidden, so the panel shows only what applies to what you are looking at.
Level meter. In the Audio section, a stereo LED meter shows the left (top) and right (bottom) level in dBFS, from -48 to 0, with a peak-hold marker. A mono source feeds both bars. The meter shows the level after Input Gain.
Info HUD. Press I to show a small overlay with the current mode, the name of the last preset you recalled (nothing until you recall one), the resolution and the frame rate. It sits beside the panel while the panel is open, it stays on across reloads until you press I again, and it is never included in recordings.
Footer. The bottom of the panel shows the frame rate and the list of keyboard shortcuts.
Drag and drop. Drop audio files, photos, videos or a folder anywhere on the screen, including over the control panel, to load them. A dashed copper outline shows the window is ready to receive them. Folders are read including their subfolders, and audio and pictures can be dropped together. Dropping photos or videos switches to Super Video Synth with that source (or, if you are in Ink, makes it Ink's image source), and a note under the status dots confirms what was loaded.
Audio input
The Audio section connects a sound source and tunes how the visuals hear it. Only one source is active at a time; choosing another one replaces it.
| Source | Use it for | Notes |
|---|---|---|
| Mic | A microphone, audio interface or mixer line input | Raw input: echo cancellation, noise suppression and auto-gain are switched off. A device picker appears so you can choose the input. Copperlight remembers the last device you used. |
| System | Audio playing on your computer: a browser tab (a streaming service, a video) or a desktop app such as Spotify | The browser asks you to share a screen, window or tab. Choose one and tick Share audio. To capture a desktop app, share that app's window. Copperlight asks the browser for the raw audio, with echo cancellation, noise suppression and auto gain switched off. The status line shows what the browser actually gave it. Tested on a Mac in Chrome and Opera with a YouTube tab and the Spotify app; not yet tested on Windows. If no audio comes through, the status line tells you. |
| File | Audio files from disk | Pick one or several files, or drop them anywhere on the screen. Several files form a playlist (see Playlist below). |
When a source is connected, its button lights copper, the Audio status dot turns on, and the status line names the device.
Playing files. A transport appears under the meter: restart / previous file, back 10 seconds, play / pause, forward 10 seconds, next file and repeat. Drag the seek bar to jump around. Space plays and pauses.
Playlist. Several files form a playlist, shown as a list under the transport. Files are ordered by name at first (natural order, so 2 comes before 10). Click a track to play it, drag tracks to put them in your own order, and use × to remove one. Files you add later join the end of the list, and Clear empties it. The list is not kept between sessions, because browsers cannot reopen files on their own.
Repeat. Press the repeat button to cycle through three modes: repeat all (default), repeat the current track (shown with a 1), and off, where playback stops after the last track.
Files are played through your normal audio output so you can hear them. Mic and System audio are not played back, which avoids feedback.
Supported formats are those your browser can play, including WAV, MP3, FLAC, AIFF, M4A / AAC, OGG and Opus.
Sensitivity
Copperlight listens for three kinds of hit, each with its own detector and its own slider:
| Slider | Detects | Default | Drives |
|---|---|---|---|
| Kick Sensitivity | Kick drums and bass hits | 0.15 | Almost everything: flashes, motion, Chaos, Spin, shuffling |
| Mid Sensitivity | Snares, claps, stabs. Sustained vocals and pads are ignored | 0.5 | Strobe Blocks colour changes, Moiré and other mid-reactive effects |
| Treble Sensitivity | Hi-hats and top-end hits | 0.7 | Typography Shatter scatter |
Higher values react to softer hits but also produce more false triggers. If the visuals miss kicks, raise the slider a little; if they fire on non-kick sounds, lower it.
Kick Debug shows a small strip with the detector's activity, which helps when you are setting up a new input or room. The orange line is the level of the kick band (see below) in dB, and the thin grey line is the level the kick band must reach before a kick can fire. The three sensitivity sliders and Input Gain describe your audio setup, not a look, so presets do not store them.
Kick Band
The kick detector listens to the low end through a filter you can set. Three controls sit under Kick Sensitivity:
| Control | What it does | Default |
|---|---|---|
| Kick Band | Band-Pass listens to a band around Kick Frequency. Low-Pass listens to everything below it. | Band-Pass |
| Kick Frequency | The centre of the band (Band-Pass) or its top (Low-Pass), 30–400 Hz | 120 Hz |
| Kick Level | Raises or lowers what the kick detector hears, -12 to +24 dB. Use it only for quiet sources: on a normal or loud track, raising it adds false triggers. | 0 dB |
Band-Pass at 120 Hz suits most tracks: it listens to the punch of the kick rather than its lowest tone, where basslines sit. If bass notes still fire the kick, move Kick Frequency between about 100 and 140 Hz. If kicks are missed, raise Kick Sensitivity a little, or try Low-Pass between 150 and 200 Hz.
Some kicks are still missed when a bass note or tom is still ringing as the kick lands, and two kicks less than about 140 ms apart only fire once. A change to these controls pauses kick detection for half a second while the detector adjusts to the new band.
Unlike the sensitivity sliders, the three Kick Band controls are stored in presets, so each song can have its own setting and a preset recall switches it with the look.
Input Gain
Input Gain boosts or reduces the signal Copperlight listens to, from -12 dB to +24 dB (0 dB leaves it unchanged). Use it when a source is too quiet for the sensitivity sliders to catch the hits, for example a desktop app playing at low volume. Watch the level meter, which shows the level after the gain: on loud passages it should reach about -10 dB. Apps play at different levels, so the same setting does not suit every source; in testing, the Spotify desktop app needed about +18 dB to reach the level a browser tab playing the same song had at 0 dB. Input Gain only changes what the visuals hear. It does not change the sound you hear or the audio in a recording. Copperlight remembers a separate gain for Mic, System and File.
Modes
The Mode section chooses the main picture. Ten pads (or the drop-down behind them) switch between the modes. Everything else in the panel (Stages, Frame, Lens, Master, Color) is applied on top of whichever mode is running.
Three sliders are shared by most modes, but they mean something different in each one: Scale, Speed and Detail. This is deliberate, and each mode's entry below says what they do there. The panel also shows a one-line hint under the controls for the current mode. Mode-specific sliders appear only when their mode is active.
Heat (see Master) is remembered separately for each mode, so every mode keeps its own balance.
Super Video Synth
The most flexible mode. Choose a Source:
- Generator draws a procedural picture. Pick a Generator style: Contours (flowing contour lines) or Noise (a clouded noise field). In Contours, Scale sets the line count, Detail the wave layers and Speed the rate. In Noise, Scale sets the noise frequency, Detail the number of octaves. Reaction sets how strongly each hit moves the picture (in Noise it also speeds up the drift on each kick), and Contours adds Line Glow, which flashes only the lines.
- Photo shows pictures from a folder on your computer. Press Choose Photo Folder… and pick a folder. Shuffle Now jumps to another picture; Auto Shuffle changes picture every x kicks (1, 4, 8, 16, 32 or 64). Scale zooms into the picture.
- Video works the same way with a folder of video clips.
Browsers cannot silently reopen a folder in a later session. After a reload the panel offers Reconnect next to the folder name; press it and choose the folder again. Until a folder is chosen, Photo and Video show the Generator.
Ink
Flowing, marbled ink that pushes along with the music. Scale sets zoom, Detail the depth of the warp and Speed the flow rate. Kick Motion sets how far the ink flows on each kick, and Bass Flash how strongly the lighter parts glow on each kick.
Under Image source you can have the ink process a Photo or Video from your folders instead of drawing ink alone. Then Image Mix blends between pure ink (0) and the warped picture (1), and Palette Tint recolours the picture through the current palette. With the image source off, those two sliders are hidden.
Strobe Blocks
A grid of blocks that flash. Scale sets block size (higher means smaller blocks), Detail how much each block varies in brightness and shade, and Speed how quickly flashes fade. Kick Reaction sets how many blocks flash on each kick and how bright they are; Mid Reaction sets how many blocks change colour on snares, claps and hats. Use Shuffle Shape to re-roll the pattern, or turn on Auto Shuffle to re-roll it every x kicks.
Voronoi
A field of cells, like cracked glass or a cell diagram. Scale sets the number of cells, Detail how much they drift and Speed how fast flashes fade. Pixel controls the edges: 0 is smooth and geometric, higher values give coarse, pixelated edges. Kick Reaction sets how many cells flash on each kick and how brightly. Shuffle Shape and Auto Shuffle re-roll the cell layout.
Analog Scope
An oscilloscope trace of the audio waveform. Scale is the trace gain and Detail the glow. Sensitivity is an auto-level: it boosts quiet audio so the trace stays about the same size whatever the input level (0 is off). Raise Trails in Master for the persistence of a phosphor screen. The Grid button shows or hides the graticule, and the Trace Colour and Grid Colour pickers set the colours (until you pick, they follow the palette).
X-Y Scope
A vectorscope: the left channel is the horizontal axis and the right channel the vertical one. A mono source draws a straight line, so use a stereo source. Controls are the same as the Analog Scope.
Tunnel
Rings that rush toward you. Scale sets ring density, Speed the travel rate, and Detail becomes Twist, the spiral twist of the tunnel. Kick Surge sets how far each kick speeds up the travel, and Kick Glow how much each kick thickens and brightens the rings. Shuffle Shape changes the polygon the tunnel is built from, and Auto Shuffle does it every x kicks. (The Frame section has its own Twist slider; the two are separate.)
Moiré
Two interfering line patterns. Scale sets line density, Detail morphs the second grating from lines into rings, and Speed sets how fast the pattern turns. Kick Turn sets how far each kick turns the pattern, and Kick Glow how much hits brighten the lit lines and pulse the density.
Typography Shatter
Your text made of dots that scatter and re-form. Type your words in the Text field (up to 40 characters; the default is "Copperlight") and choose a Font. Scale sets text size, Detail the density of the dots and Speed how fast scattered dots drift back home. Hi-hat and other treble hits knock letters out of place and kicks snap them back. Treble Scatter sets how far hits throw the letters, and Kick Pulse how much kicks swell and brighten the dots. Leave the Text field empty for a black screen. Type during a performance and the words appear straight away. The text is saved in presets, including an empty field.
Typography Scroll
Scrolling text. Type it in Text (the default is "BE KIND"), pick a Font and a Direction: Left, Right, Up, Down, or one of the fill modes (Fill Diagonal Down, Fill Diagonal Up, Fill Rows, Fill Columns), which cover the whole screen with text. Scale sets text size, Speed the scroll rate and Detail the spacing between repeats (in fill modes, the number of rows). Kick Surge sets how much each kick accelerates the scroll. In fill modes, Kerning and Leading add space between letters and between rows. Shuffle Color Accent and Shuffle Word Vanish switch on random colour accents and random word dropouts, re-rolled every x kicks. Leave the Text field empty for a black screen. Type during a performance and the words appear straight away. The text is saved in presets, including an empty field.
The ten fonts are built into the file, so text looks identical on every computer: Heavy Sans, Heavy Italic, Geometric, Retro Geometric, Condensed, Wide, Mono, Typewriter, Serif and Bookman. They cover Latin characters; other scripts fall back to a system font.
Master and Frame
These two sections work on every mode. Master sets how strongly the music drives the picture and how it feels overall. Frame bends and repeats the finished picture.
Master
| Slider | Range | Default | What it does |
|---|---|---|---|
| React | 0–1 | 0.5 | How hard the music drives everything. The first slider to reach for when the visuals feel too tame or too wild. |
| Chaos | 0–1 | 0 | An irregular warp over the whole picture. Kicks make it bigger. |
| Kick Chaos | 0–1 | 0.5 | How much kicks add to Chaos: 0 keeps Chaos steady, 0.5 is the default, 1 doubles the effect. It has no effect while Chaos is 0. |
| Trails | 0–1 | 0 | How long previous frames linger. High values leave smears and light trails; on the scopes they give phosphor-style persistence. |
| Heat | 0–1 | 0.35 | Bloom and kick flash. Remembered separately for each mode and each Video Synth source. |
| Bright | -1 to 1 | 0 | Exposure. Positive values lift the picture toward white, negative values darken it. |
| Decay | 0–1 | 0.5 | How slowly reactions fall back after a hit. Low is snappy, high is smooth and lingering. |
Frame
Frame transforms are applied after the mode has drawn its picture, together with the Lens and Chaos warps.
| Slider | Range | Default | What it does |
|---|---|---|---|
| Symmetry | 1–12 | 1 | Mirrors the picture into this many segments, like a kaleidoscope. 1 is off. |
| Tiles | 1–8 | 1 | Repeats the picture in a grid of this size. 1 is off. |
| Twist | -1 to 1 | 0 | Swirls the picture around its centre, strongest near the middle. Negative and positive values twist in opposite directions. |
| Slice | 0–1 | 0 | Cuts the picture into horizontal strips and slides them sideways against each other. More Slice means more strips and bigger shifts. |
| Spin | -1 to 1 | 0 | Continuously rotates the picture. The sign sets the direction. |
| Kick Spin | 0–1 | 0 | Each kick gives the picture a quick turn in the direction of Spin (to the right if Spin is 0). 0 is off; 1 is about 55° per kick. |
| Vignette | 0–1 | 0.25 | Darkens the edges of the screen. |
Symmetry and Tiles take whole numbers. All other sliders move smoothly.
Tip. Symmetry of 4 to 8 with a slow Spin turns almost any mode into a kaleidoscope. For a rave-ready look, combine Tiles of 2, Trails around 0.4 and a little Kick Spin.
Lens
The Lens section distorts the picture like glass placed in front of it. Choose one of nine styles from the 3 × 3 grid, then raise the Lens slider to apply it. At 0 the lens is off, whichever style is selected.
| Style | Effect |
|---|---|
| Ribs | Vertical ribbed glass: the picture is sliced into narrow bands that bend it sideways. |
| Fan | Angular wedges around the centre, each rotating the picture a little. |
| Anamorphic | Squeezes the picture horizontally, as a cinema anamorphic lens does. |
| Melt | Slow vertical waves that make the picture drip and sag, stronger toward the bottom. |
| Glitch | Random horizontal bands jump sideways; they re-roll on kicks. |
| Pixels | Blocks the picture into coarse pixels. More Lens means bigger pixels. |
| Fly Eye | One large glass ball in the centre that magnifies the middle of the picture. More Lens enlarges the ball and the magnification. |
| Kaleidoscope | Folds the picture into mirrored wedges that rotate slowly. More Lens means more wedges (from 2 up to 12). |
| Heat Haze | A rising, wavering shimmer. It boils harder when the music has more energy. |
Kick Pulse makes each kick push the lens harder for a moment: 0 keeps the lens steady and 1 is strong. It only has an effect while Lens is above 0.
The lens style is stored in presets, so a preset recalls both the style and the amount.
Stages
Stages are post-effects that process the picture after the mode has drawn it. There are nine, they always run in the same order, and all are off by default. Turn on as many as you like; the more you stack, the more work the graphics card has to do.
Each stage has a row in the Stages section. The round dot at the left switches the stage on or off. Clicking the rest of the row opens or closes its sliders. These are independent, so you can adjust a stage while it is off, or leave a stage on with its sliders folded away. Sliders of stages that are off are hidden elsewhere in the panel and in the modulation lists.
| Order | Stage | What it does | Controls |
|---|---|---|---|
| 1 | Feedback | Feeds the picture back into itself, zooming as it goes, for tunnels and echoes. | Zoom, Decay |
| 2 | Scan Displacement | Shifts scan lines sideways, like a damaged video signal. | Depth, Jitter |
| 3 | Glitch / Tear | Tears blocks of the picture away. | Intensity, Blocks, Threshold |
| 4 | Colorize | Reduces the picture to a number of colour bands. | Bands (2–8), Hue (0–360), Blend |
| 5 | ASCII | Redraws the picture as text characters. | Characters, Size, Glyphs, Source Colour, Blend, Reactivity |
| 6 | Scanlines | Adds CRT-style dark lines. | Spacing, Darkness |
| 7 | Chromatic Aberration | Splits the red, green and blue channels apart. | Amount, Reactivity |
| 8 | VHS Tracking | Adds torn, noisy tracking-error bands like worn videotape. Runs on its own timing, not to the music. | Amount, Frequency, Noise, Spread, Mix, Picture |
| 9 | Static / Snow | Adds noise like a weak TV signal. | Amount, Reactivity |
Reactivity on Chromatic Aberration, Static / Snow and ASCII, sets how much kicks push the effect. At 0 the effect is steady.
ASCII details
The Characters menu picks the character set: Classic, Dense, Blocks, Braille, Dots, Digits, Letters, Math, Katakana or Matrix. Each set is sorted from light to dark by how much ink each character really covers, so brightness reads correctly. Size sets character size (higher means smaller characters), Glyphs the number of brightness steps used, Source Colour chooses between colouring characters from the palette by brightness (0) and keeping the picture's own colours (1), and Blend mixes between the original picture (0) and characters only (1).
The Katakana and Matrix sets use your computer's installed fonts. If those characters appear as empty boxes, install a font that covers them or use another set.
VHS Tracking details
VHS Tracking imitates the tracking errors of worn tape: a torn, noisy strip along the bottom edge of the picture, sometimes a thin one along the top and sometimes one across the middle, with scattered streaks in between. Unlike most stages it does not react to the music. The errors come and go on their own timing, in bursts of a second or two, and they keep appearing when the music is paused.
Amount sets how tall the bands are and how hard they tear the picture sideways. Frequency sets how often errors appear. Noise sets how dense the white grain is. Spread sets how much happens away from the edges: at 0 only the bottom and top edges are used, and higher values add bands across the middle of the picture and scattered streaks. Mix sets the opacity of the noise over the picture. Picture sets how much of the original picture survives inside the bands: at 0 it is greyed and darkened, at 1 it is left untouched and the noise is only added on top.
Bypass
Bypass at the top of the Stages section switches the entire chain off at once, so you can compare the picture with and without stages (press S as a shortcut). Your stage settings are kept, and pressing Bypass again brings them back. Bypass is not part of a preset and stays in effect across reloads and preset changes. It can also be assigned to a MIDI controller (see MIDI).
Color
The Color section sets the palette that every mode paints with. A palette is five colour roles (background, shadow, mid-tone, accent and glow) that each mode uses in its own way, so the same palette looks different in Ink than in Strobe Blocks.
Built-in palettes. Choose one of nine: Dive, Awake, Epoch, Weather, Simulacra, Desert, Northern, Golden or Mono. The active palette is highlighted.
Your own palettes. Under Create A Palette (4 Stops, Dark → Bright), set four colours from darkest to brightest with the colour pickers, type a name and press Save. The new palette is selected at once and appears in the User Palettes drop-down. To remove one, select it and press Delete; Copperlight asks you to confirm. User palettes are kept in your browser.
Auto: Palette. Press this to change palette automatically every x kicks (1, 4, 8, 16, 32 or 64). It chooses a different built-in palette each time and never picks Mono. Switching to Mono turns Auto off.
Hue Drift (0–1, default 0) slowly rotates the hues of the picture over time. Leave it at 0 for fixed colours.
Every palette change is saved with presets, so a recalled preset restores its colours. The Scope modes can additionally override their trace and grid colours (see Modes).
Presets and performance tools
A preset (also called a look) is a snapshot of everything that makes the picture: all slider values, the mode, source and generator style, lens style, palette, stage on/off states and settings, font, scroll direction, the typed text of both text modes, ASCII set, the eight macros and the LFO setup. It also stores the Kick Band settings (Kick Band, Kick Frequency, Kick Level). It does not include your Input Gain and Kick / Mid / Treble Sensitivity (those describe your audio setup), media folders, or Stages Bypass. A preset saved with an earlier version of Copperlight, before text or Kick Band was stored, keeps your current text and Kick Band settings when recalled.
The preset bank
The Presets section holds 128 slots in eight banks, A to H, of 16 slots each. Press a bank letter to show its 16 slots; empty slots show a dash.
- Click a slot to select it. A panel appears with its name, Recall, Save Here and Delete.
- Double-click a slot to recall it straight away.
- To save, make a look you like, select a slot, type a name and press Save Here. This overwrites whatever was in the slot.
- The recalled slot is marked as loaded. The selected slot is just the one you clicked.
MIDI Program Change messages 0–127 recall slots A1 to H16 in order, which suits hardware with a program or pattern select (see MIDI).
Preset Hotkeys. Open this fold-out to assign any slot to the number keys 1 to 9 and 0. Pressing the key recalls its slot, which is the fastest way to switch looks from a laptop keyboard.
Export All saves the whole bank as copperlight-v1-preset-bank.json, together with your user palettes, MIDI mappings and preset hotkeys. Import loads such a file: presets go into the matching slots, and imported MIDI mappings and hotkeys replace yours for the same CC or key. If you already have a palette with the same name but different colours, yours is kept and the imported one is added as, for example, Dusk (2), and the imported presets use that copy. Use these to back up your setup or move it to another computer or browser, since everything is stored per browser.
Clearing browser data erases your setup. Presets and settings live in the browser's own storage, not in a file. Clearing browsing data in Chrome, Edge or Opera with Cookies and other site data ticked erases them: presets, user palettes, MIDI mappings, number-key assignments and all panel settings. Private or incognito windows also lose everything when closed. Use Export All before clearing browsing data. The backup file holds your presets (including their macros and LFOs), user palettes, MIDI mappings and number-key assignments. Other panel settings are not included.
Dice, Undo and A/B
- Dice (D) rolls a new random look within sensible ranges: a different palette, new Scale, Detail and Speed, possible Symmetry, Tiles, Twist, Slice, Spin, Lens, Chaos, Trails and Hue Drift, and up to three stages switched on. It keeps your mode, text and audio settings.
- Undo (U) puts the look back as it was before the dice roll. Press it again to redo the roll.
- A/B (B) swaps between two looks. The first press copies the current look to the other side; from then on B flips between A and B. Use it to hold a base look and a more intense one, and jump between them on a drop.
- X quickly shuffles only the palette and the generator style.
Undo and A/B change the look only: your Kick Band settings stay as they are.
Auto shuffle
Several things can change by themselves every x kicks (1, 4, 8, 16, 32 or 64): the palette (Auto: Palette in Color), photos and videos in Super Video Synth, and the shape of Strobe Blocks, Voronoi and Tunnel. Each has its own Auto Shuffle button and its own count. In Typography Scroll, the colour-accent and word-vanish effects have a Re-Roll Every x Kicks setting.
MIDI
MIDI lets a controller, synth or sequencer operate Copperlight: knobs and faders move sliders, program changes recall presets, and a MIDI clock sets the tempo for synced LFOs. Copperlight listens for Control Change (CC), Program Change and MIDI clock messages. Note messages are not used.
MIDI uses the browser's Web MIDI feature, which is available in Chrome, Edge and Opera. Safari does not offer it. Firefox support is limited and untested.
Setting up
- Open the MIDI section and press Enable MIDI. Allow access if the browser asks. The MIDI dot lights up, and the browser remembers that you enabled it for next time.
- Choose a controller in Add Input Device. Nothing is added automatically, so you decide which devices Copperlight listens to.
- For each added device, pick the channel it listens on: Omni (All Channels) or Channel 1 to 16. Press Remove to take a device out. Devices are remembered by name; if you unplug one it is greyed out as not connected and reconnects when it returns.
A line labelled Last shows the most recent CC or Program Change received, which is handy for checking that your controller is talking to Copperlight.
MIDI Learn
Any slider can be assigned to a CC. Kick Frequency follows a knob on the same logarithmic scale as its slider. The Kick Band buttons cannot be assigned.
- Press MIDI Learn. The button lights up.
- Click the slider you want to control. It pulses with an outline.
- Move the knob or fader on your controller. The slider now shows a small CC n tag.
The same works for the eight Macro faders, the Bypass button in Stages, and the depth and rate of each LFO. To clear one assignment, Shift-click its control while learn is on. Clear All CC removes every assignment. Press MIDI Learn again when you are done. Assignments are kept by your browser between sessions.
Jump and Pickup. Under CC behaviour you choose how knobs take over a control:
- Jump makes the control follow the knob immediately. Simple, but the control may leap if the knob is somewhere else.
- Pickup ignores the knob until it reaches the control's current value, then takes over. This avoids jumps after you recall a preset or move a slider with the mouse. If something else moves the control, you pick it up again.
Bypass. The Stages Bypass button is a switch, not a slider. A CC value of 64 or more means bypassed, below 64 means live. A latching switch therefore follows its state, and a momentary button acts as hold-to-bypass. Pickup mode does not apply to it.
Program Change
Program Change numbers 0 to 127 recall preset slots A1 to H16 in order: 0 is A1, 15 is A16, 16 is B1, and so on up to 127 for H16. An empty slot does nothing except report that it is empty. A recalled preset also sets its Kick Band, so the kick detector retunes with the song.
MIDI clock
Copperlight can follow the tempo of a connected device. Choose which device provides the clock in Clock Source (Any Added Device by default). A status line shows the incoming BPM, or no MIDI clock when nothing is arriving. To make tempo-synced LFOs use it, switch on MIDI Clock in the Modulation section.
Macros and modulation
Macros and LFOs let one gesture or one automatic movement drive several controls. Both sections are closed by default; open them from the panel headers.
Macros
There are eight macro faders. Each fader can control any number of sliders over a range you set, so one knob can, for example, raise Trails, shrink Scale and push Heat together.
- Open Macros and open a macro's Targets list.
- Press + Add Target and choose a control in the drop-down.
- Set the two number boxes next to it: the first is Low, the second High. Both are percentages (0–100) of that control's own range. With the macro fader at 0 the control sits at Low, at full it sits at High, and in between it follows the fader. For example, Low 0 and High 60 on Trails takes you from no trails to 60% of the way up. Swap the numbers (Low 80, High 20) and the control moves the opposite way.
- Add more targets as needed. The × button removes a target. Double-click a macro fader to return it to 0.
Macros write the real slider values, so a preset captures what the macro did. Each macro's fader position and targets are stored in presets as well. Assign a macro to a MIDI controller with MIDI Learn to play it live.
Tempo
The Modulation section starts with the tempo that synced LFOs follow. Tap Tap (T) a few times in time with the music, or type a value in BPM (20–300). Switch on MIDI Clock to follow an incoming MIDI clock instead; while a clock is arriving, tapping and typing are disabled and the status line shows the clock tempo. If no clock arrives, Copperlight falls back to the BPM you set.
LFOs
An LFO moves a slider up and down automatically. It adds its movement on top of the slider's own value without changing it, so the slider returns to where you left it when you turn the LFO off. A small wave symbol next to a slider shows that an LFO is moving it. You can have up to eight LFOs, and several can drive the same slider.
Each LFO has these controls:
| Control | What it does |
|---|---|
| LFO 1, 2, … (button) | Switches that LFO on or off. The ✕ beside it removes the LFO when you have more than one. + Add LFO at the bottom creates another. |
| Shape | Triangle, Square, Ramp Up, Ramp Down or Sample & Hold (a new random value each cycle). |
| Bipolar / Unipolar | Bipolar swings above and below the slider's value. Unipolar swings only upward from it. |
| Destination | The slider to move, grouped by section. Only sliders that apply to the current mode are listed. |
| Depth | How far the LFO moves the slider, as a share of the slider's range. 0 means no movement. |
| Free / Sync | Free runs at a fixed rate in Hz (0.02–10). Sync locks to the tempo. |
| Rate | In Free mode, the speed in Hz. In Sync mode, a note length from 8 bars down to 1/32, including 1/8 and 1/16 triplets. |
Depth and Rate of each LFO can be assigned to a MIDI controller.
Examples. To pulse the lens with the beat: set a Triangle LFO to Sync at 1/4, choose Lens as the destination and set Depth to about 0.3. To make colours wander: pick Colorize · Hue with a slow Free LFO.
LFO setups are saved in presets. Recalling a preset replaces your current LFOs with the ones saved in it.
Output and recording
The Output section, at the bottom of the panel, handles fullscreen, picture quality and recording.
Fullscreen. Press Fullscreen (F) or the F key. Press it again, or Esc, to leave.
Render resolution. Sets how many pixels Copperlight draws before showing them on your screen.
| Setting | Use it when |
|---|---|
| 1080p (smoothest) | You want the highest, steadiest frame rate. This is the default. |
| 1440p | You have a capable graphics card and a larger display. |
| Native | You want the sharpest picture at your screen's full resolution. This is the heaviest option. |
If the frame rate (shown in the panel footer) drops during a set, lower the render resolution first, then reduce the number of active stages.
Recording
Copperlight can record the visuals together with the audio that drives them.
- Connect an audio source. Recording needs one and will say so if none is connected.
- In Recording size, choose 1080p or 4K (upscaled). The 4K option records at 3840 × 2160 from the picture Copperlight is drawing, so it is enlarged rather than sharper.
- Press Record (R) or the R key. The button changes to Stop (R), the Rec dot lights up and a timer runs under the buttons.
- Press the button or R again to stop. Your browser saves the file straight to its download folder and the status line reports the file name and size.
Files are named Copperlight-<date>-<number>-<size>.mp4, for example Copperlight-2026-10-11-3-1080p.mp4. The number counts up with every recording. Copperlight records MP4 when your browser supports it and falls back to WebM otherwise; the status line shows which one you are getting. Quality is set high: about 32 Mbit/s for 1080p and 50 Mbit/s for 4K, so files are large.
Good to know
- The recording size cannot be changed while recording.
- The picture is scaled to fill the recording frame without black bars, so if your window is not 16:9 the edges are cropped.
- The panel, the Info HUD and other on-screen interface are never recorded.
- Recording adds load. Test it at your performance resolution before you rely on it, and keep the Copperlight window visible, because browsers slow down hidden windows and the recording can stall.
- Recording the audio from a Mic input records exactly what the mic hears; for a clean mix, use a line input or File.
Keyboard shortcuts
Shortcuts work whenever you are not typing in a text box (the Text field, a preset name or a palette name). They are also listed at the bottom of the panel. Combinations with Ctrl, Cmd or Alt are left to the browser.
| Key | Action |
|---|---|
| H | Hide or show the panel |
| F | Fullscreen on / off |
| R | Start or stop recording |
| Space | Play / pause when an audio file is loaded |
| T | Tap tempo |
| D | Dice: roll a random look |
| U | Undo (and redo) the last dice roll |
| B | Swap between look A and look B |
| X | Shuffle the palette and generator style |
| S | Bypass the whole stage chain |
| I | Show or hide the Info HUD |
| M | Collapse or expand all panel sections |
| 1 to 9, 0 | Recall the preset slot assigned to that key |
| Double-click a slider | Reset it to its default |
Troubleshooting
| Problem | What to try |
|---|---|
| The picture moves slowly but does not react to the music | Check the Audio status dot and the level meter. If the meter is flat, no sound is arriving: press Mic, System or File again, check the input device, and make sure your browser has permission to use the microphone. |
| System audio connects but the meter stays flat | Use Chrome, Edge or Opera. In the share dialog, choose a tab, window or screen (for a desktop app, its window) and tick Share audio. Without it, no audio is shared. |
| Kicks are missed, or it flashes on non-kicks | Adjust Kick Sensitivity, then Kick Frequency (see Kick Band). Open Kick Debug to see what the detector sees. For snares and hats, use Mid and Treble Sensitivity. If the source is quiet, raise Input Gain first. |
| The visuals barely react, even with the sensitivities at maximum | The source may be too quiet. Raise Input Gain until the level meter reaches about -10 dB on loud passages, and check the volume of the source itself (for example the player's volume slider). |
| Reaction is too weak or too strong | Raise or lower React and Heat in Master. Each mode also has its own kick sliders (Kick Reaction, Kick Surge, Kick Glow and so on). |
| Text modes show a black screen | The Text field is empty. Type something. Shatter starts with "Copperlight", Scroll with "BE KIND". |
| A slider I expect is missing | Controls that do not apply to the current mode are hidden. Stage sliders only appear while that stage is on. |
| Photo or Video shows the Generator | Choose a folder. After a reload, press Reconnect and choose the folder again, because browsers do not let a page reopen a folder silently. |
| Katakana or Matrix ASCII shows boxes | Those sets use installed system fonts. Install a font with Japanese characters or use another set. |
| Frame rate is low | Lower the Render resolution in Output, switch off stages you are not using, and close other busy tabs. Lens, Trails and stacked stages cost the most. |
| MIDI Learn does nothing | Enable MIDI first, add your device and check the Last line when you move a knob. Web MIDI needs Chrome, Edge or Opera. |
| A knob does not move the control | In Pickup mode, move the knob through the control's current value to take over, or switch to Jump. |
| My presets and settings disappeared | They are stored per browser and per address. Open the file in the same browser and from the same location, or use Export All and Import to move your presets, palettes, MIDI mappings and hotkeys between them. Clearing the browser's site data also erases them. |
| Recording will not start | Connect an audio source first. If the status line says no encoder is available at 4K, record at 1080p. |
| Recording is choppy or stalls | Keep the window visible and in front, lower the render resolution, or record at 1080p. |
Good practice for live use
- Test your whole setup, including audio input, MIDI and fullscreen on the real display, before the show.
- Save the looks you rely on as presets and export the bank as a backup.
- Use Pickup mode with MIDI so a nudged knob never makes the picture jump.
- Keep the Info HUD off on the projector output unless you want it shown, since it appears on screen in fullscreen.
Thank you
Thank you for spending your time with Copperlight. I built it to put something alive on the screen while the music plays, and to stay out of your way while you play it. If it makes a set, a session or a rehearsal feel a little bigger and brighter, it did its job. See you on the dance floor.
Bonifácio · Copper Room