Infinite Drift

// what it does and why

Ambient music that writes itself in your browser and never ends. Press play and it starts composing. Move the controls while it is running and the music reshapes around them without stopping.

Open it →
4Moods
8Live controls
0Audio files
0Accounts or keys

What it does

There is no track. Nothing is downloaded and nothing is streamed. A scheduler runs in eighth notes and decides, as it goes, what to play. Every sixteen steps it considers moving to a new chord, lays a three note pad under it and anchors the bottom two octaves down. Between those, single notes appear at random out of the current chord.

The bars across the top are the real output, not decoration. They read what is actually leaving the speakers, so you can watch the filter close as you drag Brightness down.

The eight controls, all live

New seed restarts the random stream and moves the key. The music does not stop while it happens, so it is the way out of a section you have stopped liking.

Why it exists

I wanted background music for working that I had not already heard a hundred times. Google Magenta's Infinite Crate and DeepMind's Lyria RealTime both do a far more impressive version of this, and both need a model running on somebody's server. I wanted to know how much of the feeling survives with none of that. Most of it, as long as you accept it will never surprise you the way a real composer does.

It sits under tools rather than games, but it is closer to an instrument than a utility. You leave it on.

There are no sound files

Every sound is built from scratch as it plays. The pads are detuned sawtooth and sine tones layered together, the bass is a triangle, the kick is a sine wave falling from 110 hertz to 42 in about a sixth of a second, and the hats are a short burst of noise shoved through a high pass filter. Nothing to download and nothing to license.

It also means there is no loop point to hear, and a loop point is what gives most endless background music away after ten minutes.

What is not finished

The Config panel offers to store a Gemini API key. Today that key does nothing. It is there for a second mode that would stream from Google's realtime music model instead of the local engine, and that mode is not built. What you save stays in your browser. Nothing here is gated behind it, so you never need to open it.

The other gap is the seed. The note choices come from a deterministic stream, so the same seed really does produce the same music. But the seed is never shown and there is no box to type one into.

What that costs: a run you liked is gone the second you press New seed. Anything generative needs a way to capture what it made, or the good results only ever exist while you are still listening to them.

Built with

Plain HTML and the browser's own audio engine. No framework, no build step, no server, and it keeps working offline once the page has loaded.