A web-based interactive stem mixer. Remix tracks by manipulating individual audio stems (drums, vocals, synths, etc.) directly in the browser using the Web Audio API.
Two ways to mix:
- 🎛️ Album Mixer — Remix the 7 tracks and 148 stems of Everything is Free by Software-Entwicklungskit
- 🎚️ Standalone Mixer — Add and mix your own audio files
All stems, artwork, and code are public domain (CC0 1.0).
"The mixer is not a playback device. It's a creative tool."
- Real-time mixing — Volume, pan, mute, solo per stem
- Effects chain — 3-band EQ, highpass/lowpass filter, reverb, delay
- Shareable URLs — Every mix state encoded in the URL
- 3D visualizer — Holographic frequency display
- Responsive — Desktop and mobile support
- Themes — Light and dark mode
┌─────────────────────────────────────────────────────────────────┐
│ Cloudflare Edge │
├─────────────────────────────────────────────────────────────────┤
│ Workers │ R2 Buckets (per track) │ Workers Assets │
│ (routing) │ hydrogen-stems/ │ (JS/CSS/JSON) │
│ │ lithium-stems/ │ │
│ │ sodium-stems/ │ │
│ │ ... │ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Browser │
├─────────────────────────────────────────────────────────────────┤
│ Web Audio API │ Canvas/OffscreenCanvas │ ES6 │
│ (mixing, effects) │ (waveforms, visualizer) │ Modules │
└─────────────────────────────────────────────────────────────────┘
Each stem passes through a complete effects chain before reaching the master output:
┌──────────┐ ┌─────────┐ ┌──────────┐ ┌───────┐ ┌────────┐ ┌──────┐
│ Source │ → │ EQ │ → │ Filter │ → │ Delay │ → │ Panner │ → │ Gain │
│ (M4A) │ │ (3-band)│ │ (LP/HP) │ │ │ │ │ │ │
└──────────┘ └─────────┘ └──────────┘ └───────┘ └────────┘ └──────┘
│
┌─────────────────────────────────────────────┘
│
▼
┌───────────┐ ┌─────────────┐ ┌─────────────┐
│ Master │ → │ Reverb │ → │ Destination │
│ Gain │ │ (Convolver) │ │ (Output) │
└───────────┘ └─────────────┘ └─────────────┘
Mix states are shareable via URL parameters:
?mix=0:80:0:0:0,1:100:1:0:0,2:60:0:1:5&master=75
│ │ │ │ │
│ │ │ │ └─ pan (-10 to 10)
│ │ │ └─── solo (0/1)
│ │ └───── mute (0/1)
│ └──────── volume (0-100)
└─────────── stem index
7 tracks, 148 stems total. Named after alkali metals.
| # | Track | Symbol | BPM | Key | Stems | Link |
|---|---|---|---|---|---|---|
| 1 | Hydrogen | 132 | D Major | 12 | Mix → | |
| 2 | Lithium | 124 | G minor | 38 | Mix → | |
| 3 | Sodium | 140 | G minor | 28 | Mix → | |
| 4 | Potassium | 90 | C Major | 19 | Mix → | |
| 5 | Rubidium | 132 | G Major | 9 | Mix → | |
| 6 | Caesium | 130 | C Major | 16 | Mix → | |
| 7 | Francium | 128 | B♭ Major | 26 | Mix → |
A self-contained mixer for your own audio files. No server required — runs entirely in the browser.
- Drop or add any audio files (M4A, MP3, MP4, WAV, FLAC, OGG)
- Same effects chain and visualizer as the album mixer
- Works offline once loaded
Digital artwork by Maubere.
Technical documentation in docs/:
| Document | Description |
|---|---|
| ARCHITECTURE.md | System design, modules, signal chain |
| CLIENT_APP.md | Audio engine, state management, UI |
| SERVER_WORKER.md | Cloudflare Workers, R2, routing |
| MIXER_SYSTEM.md | Effects reference, URL encoding |
| PERFORMANCE.md | Optimizations, animation loop |
Contributions welcome.
- Fork the repository
- Create a feature branch (
git checkout -b feature/name) - Commit changes (
git commit -m 'Add feature') - Push (
git push origin feature/name) - Open a Pull Request
- Music & Production: Software-Entwicklungskit · @ichbinsoftware
- Artwork: Maubere
When an artist releases stems, they're saying: this is not finished. This is starting material.
The "final" mix is just one arrangement. The stems contain infinite others. Releasing them is an invitation to find those arrangements.
A fan remix is not a cover. It's not karaoke. It's not a lesser version of the original.
It's a new work made from shared material. It has its own intentions. Its own decisions. Its own validity.
The person who mutes the vocals and loops the bridge has created something. The person who solos the drums and studies the pattern has learned something. Both are legitimate uses.
Traditional music release is one-directional. Artist to listener. Master recording to passive consumption.
Copyright enforces this direction. The listener cannot legally extract, modify, redistribute. The recording is final. The relationship is fixed.
This serves commerce. It does not serve culture.
Public domain dedication removes the barrier. The listener becomes a collaborator. The relationship becomes bidirectional.
You can:
- Download the stems
- Remix them
- Release your remix
- Sell your remix
- Never credit the original
All of this is permitted. All of this was intended.
The mixer is not a playback device. It's a creative tool.
When you adjust a fader, you're not consuming—you're producing. When you share your mix URL, you're not sharing a link to the song—you're sharing your arrangement of the song.
The distinction matters. Consumers receive. Collaborators contribute.
The "official" mix is a snapshot. The stems are the source.
Future listeners with different tools, different tastes, different contexts will make different mixes. The stems enable this. The original mix does not.
Releasing stems is releasing the future versions of the song, not just the present one.
Stems expose the construction. They reveal the tricks. They make the magic legible.
It's dangerous for industries built on scarcity. It's unusual for cultures that equate ownership with value.
But the music was always made of parts. The stems just make that visible.
Music should circulate like electricity.
CC0 1.0 Universal — Public Domain
You may copy, modify, distribute, remix, and commercialize this work without permission, credit, or restriction.
- ichbinsoftware/everythingisfree — Album stems, artwork, npm package

