Get started

Overview

Beats, bars, build-ups and drops, found ahead of time and played across every light in your room. WLED and a dozen other kinds of lights, from a laptop, a Raspberry Pi or Home Assistant.

It knows what's coming

Songs are analysed before they play, Spotify songs are learned on their first play, and songs heard before are recognised live, so the room explodes exactly on the drop.

One room, not one strip

Draw your room once (or map it with a phone camera) and 95 effects sweep across walls, spin around rings and ripple out from the centre.

Many kinds of lights

WLED, E1.31/Art-Net, DMX fixtures, Philips Hue, Nanoleaf, Govee, LIFX, WiZ, Kasa, Yeelight, Twinkly, OpenRGB, and the phones of your guests.

Light to run

Node.js and nothing else. A one-file app, Docker, a Raspberry Pi image or a Home Assistant add-on; a low-power mode for a Pi Zero.

Start here

Pick the path that sounds like you. Every path starts with Tempolight running somewhere: Install lists every way (a one-file app, Homebrew, winget, Docker, a Raspberry Pi image, the Home Assistant add-on, or from source).

I have WLED lights at home
  1. Getting started: what you need, WLED settings, the setup wizard.
  2. Install on your computer, or flash the Raspberry Pi image for lights that are always on.
  3. Draw your room and pick favourite effects: Effects.
  4. Wake up to a sunrise and fall asleep to a fade-out: Wake-up and sleep.
I listen on Spotify
  1. Sync with Spotify: exact sync, songs learned on their first play, optional shared beat maps.
  2. No Spotify? Tempolight also follows what Apple Music and other players on the same computer are playing, or listens to the computer's sound (Getting started → Music sources).
  3. Lights a little late? Use the one-tap timing fix (Troubleshooting).
I DJ or throw parties
  1. Effects and the Live pads: flash, strobe, blackout, build & drop, with keyboard shortcuts and MIDI.
  2. Pioneer Pro DJ Link, Ableton Link and MIDI clock as beat sources, DMX fixtures over Art-Net/sACN: Protocols.
  3. Guests' phones become lights and guests request songs with a QR code; a PIN lock keeps them out of your setup.
  4. Streaming? OBS, Twitch, Discord and games, and the Stream Deck plugin.
I run a smart home
  1. The Home Assistant add-on, or any install with MQTT: Tempolight appears by itself (API → Home Assistant).
  2. Apple Home: Tempolight is a HomeKit bridge, so Siri works (API → Apple Home).
  3. Voice control with Google Assistant and Alexa through Home Assistant.
  4. Scenes, schedules, sunrise and sunset times, night mode and an ambient plan.
I'm a developer
  1. Architecture: the engine, the outputs and the server, and how a frame is made.
  2. HTTP and WebSocket API and the protocols on the wire.
  3. Tempolight Lite: the WLED usermod for an ESP32 with a microphone (beta).
  4. Contributing: new effects are one object in packages/engine/src/effects.js.

How it works

flowchart LR
  subgraph In["Music in"]
    F["Song file<br/>(analysed first)"]
    L["Live sound<br/>mic, system audio, sound card"]
    SP["Spotify / now playing<br/>+ song memory"]
    DJ["Pro DJ Link · Ableton Link<br/>MIDI clock"]
  end
  F --> A
  L --> A
  SP --> A
  DJ --> A
  A["Analysis<br/>beat grid, song part,<br/>style, key and mood"] --> D["Director<br/>picks effects, crossfades,<br/>pads, safe mode"]
  D --> E["95 effects<br/>on the room's real shape"]
  E --> O["Outputs<br/>DDP, E1.31, Art-Net, DMX,<br/>Hue, Nanoleaf, Govee…"]
  O --> W["Your lights"]

The whole story, step by step, is in Architecture.

See it

The home page: a live room preview, now playing with tempo and song part
The music page: songs analysed before they play, with drop markers
The room page: shapes, LED ranges and controllers
Live pads: flash, strobe, blackout, build and drop

Help and feedback

Edit on GitHub