How it works
Mix-Fi is a free lofi groovebox that lives in your browser. It writes complete beats for you, then hands you the controls to shape them. Every song is built from four layers: drums, bass, chords, and a lead or texture. You press play, spin up variations, and sculpt the feel until it sounds like yours. There's no account and no install. It even runs offline: generation, playback, and export all happen right on your machine. When you love what you hear, you can export it and use it commercially in your own projects and releases, whether that's a game, a video, a podcast, or a song you put out on streaming. The one limit is that you can't resell the tracks themselves as standalone assets, in sample packs, or in bulk for others to reuse. Here's how it all fits together.
Press play, and the seed behind it
Hit Play and the beat starts right away. There's no render step and nothing to wait for. The audio starts live on the clock, and Stop halts it whenever you want. Because playback is live, you can keep shaping while it runs: new patterns swap in cleanly at the top of the next bar, and mix or effects changes apply instantly, so the groove never drops.
Every song comes from a seed, which is simply a number. Generation is deterministic, so the same seed with the same settings always produces the exact same song. That one number is the whole beat, which is what makes every version reproducible and shareable.
- Seed field: shows the number your current track came from. Type a different number and press Enter, or click away, to jump straight to that song. Non-numeric text is rejected with a nudge to use the dice instead.
- Random seed (the dice beside the field): rolls a brand-new 6-digit seed and generates a completely fresh song, while carrying over your loop length, drama, anchors, and arc. It's the fastest way to hear a new, producer-plausible starting point.
- On iPhone, sound plays through the built-in speaker even with the ring or silent switch on. If you hear nothing, check your device's media volume.
Shape the song: Spin, Mutate, Randomize
Three buttons generate variations, and a depth setting decides how far each one strays. Set the depth with Close, Fresh, or Wild before you push a button, and every Spin and Mutate is recorded in history so you can trace your steps back.
Spin, Mutate, and the per-layer dice all read the same depth, so one choice steers how big the next move feels.
- Spin: generates a variation at the current depth. With nothing locked, a Wild Spin gives you a whole new song. At Close or Fresh, or with layers locked, it re-rolls only the unlocked parts. If everything is locked, it tells you instead of quietly changing nothing.
- Mutate: reworks this same beat at the selected depth. Unlike a Wild Spin, it never mints a new seed or identity. It always transforms the beat you're on, with stronger moves than Spin (shown in history as Nudge, Rework, or Remix).
- Randomize: rolls a completely new random song from a fresh seed in one click. It replaces the whole track but keeps your preferences: loop length, drama, anchors, and arc.
- Depth: Close keeps the structure and changes only audible details like swing and small pattern touches. Fresh re-rolls patterns and can bring a new chord progression and groove. Wild is the biggest move: new groove, sounds, harmony, and effects.
The four layers and their controls
Every song is built from exactly four layers, listed as rows: Drums, Bass, Chords, and Lead / Texture. Each row shows the layer's name and its current sound. Click a row to select that layer and highlight its lane in the pattern grid.
The pattern grid is a read-only timeline of all four layers as horizontal lanes across the full loop. Brightness reflects hit strength, and a playhead moves as it plays. On long, multi-section songs the timeline condenses, and during playback its section headers become clickable so you can jump the transport straight to a section.
- Sound dropdown: swaps the instrument for that layer, from a fixed set. Drums are Dusty Breaks or Tape Kit. Bass is Sub 808 or Finger Bass. Chords are Vinyl Keys, Analog Pad, or Music Box. Lead / Texture is Soft Keys or Lo Flute.
- Reroll dice: regenerates just that one layer at the current depth, leaving the other three untouched. A locked layer refuses and shows 'Layer locked'.
- Solo (S) isolates a layer so you can hear it alone, and you can solo more than one at a time. Mute (M) drops a layer out while the rest keep playing.
Sculpt the sound: effects, feel, and the mixer
Once the notes are right, you shape the tone. A lo-fi effects rack, three Groove Feel controls, and a full mixer let you dial in the vibe. Every effect module has a power button in its header, so you can flip a module off to A/B it without losing your settings. When off, the module dims and its processing is bypassed.
The Groove Feel controls sit alongside the rack (in the desktop toolbar, or the mobile Groove Feel panel), and the mixer gives every track and the master bus its own strip.
- Tape Wobble: wow and flutter that wobbles the pitch, with Amount, Speed, and Flutter. On by default.
- Distortion: saturation and overdrive, with a badge that cycles Tape, Drive, or Fuzz, plus Drive, Tone, and Mix. On by default.
- Grit: a parallel bit-crush and slam, with Crush, Slam, and Mix. Off by default.
- Filter: a resonant lowpass for a muffled tone, with Cutoff and Resonance. On by default.
- Vinyl Noise: a surface-noise bed, with Amount, a Type that morphs between Hiss, Dust, and Crackle, and an HP Filter to thin it. On by default.
- Reverb: a shared send-bus reverb, with Pre-delay, Decay, and Mix, fed by each track's Send knob. On by default.
- Groove Feel: Swing pushes off-beats later for a laid-back timing (0 to 100%), Pitch shifts the whole mix up or down (about plus or minus 300 cents), and Pump adds a sidechain-style bounce on the beat (0 to 100%).
- Mixer: each track has a Vol fader with a dB readout, a Pan knob, a Send knob into the reverb bus, and Solo and Mute. The Master strip adds Width, Volume, and a Limiter that catches peaks and keeps the mix from clipping (on by default).
Song settings: key, tempo, and the arrangement
Six project settings reshape the song while keeping it the same song, rather than rolling a new one. Change one and the beat regenerates or adapts to match.
Loop length is the key that unlocks the arrangement brain. Short loops play flat, and longer loops open up how energy rises and falls across the song.
- Key: sets the root note and scale. Pick any of 12 roots in one of four scales (Minor, Dorian, Major, Mixolydian), for 48 keys in all. Changing it regenerates the harmony and melody in the new key.
- Tempo: a stepper that nudges the beat between 64 and 120 BPM, applied live at the next bar.
- Loop Length: 2, 4, 8, 16, or 32 bars. 2 and 4 bars play flat as one section, 8 or more enable Arc and Drama, and 16 or more let arrangements rest layers and honor anchors.
- Groove: the rhythmic pocket, as Lazy, Late Hats, Pocket, or Dust Swing.
- Arc: the arrangement shape. Auto lets the seed pick, or choose Steady Glow, Slow Bloom, Tide, Ember, or Night Drive. Arc needs 8 or more bars, and Ember and Night Drive need 16 or more.
- Drama: how much story the song tells, as Gentle, Natural, or Bold. It shifts how readily sections thin out or lean in. It needs 8 or more bars and, unlike a seed roll, regenerates deterministically as a project setting.
Lock what you love, anchor what must stay
Two tools let you protect parts of a track while you keep exploring, and they do different jobs. Locks freeze the material itself. Anchors keep a layer present but let its material change.
A lock button freezes one scope so it survives Spin, Mutate, and Randomize while everything unlocked regenerates. If you lock everything, generation says 'All scopes locked' rather than doing nothing, and if your locks happen to freeze everything a take would have changed, it says 'Locks froze everything that would change'.
- Lock scopes (seven): the four layers (Drums, Bass, Chords, Lead), plus Arrange for the song structure, Mix for the mixer, and Effects for the rack. A locked scope keeps its exact material.
- Anchor (the pin on Drums, Bass, and Lead / Texture): guarantees the layer never rests or drops out of any section. It shapes the arrangement plan rather than freezing notes, so an anchored layer still rerolls freely. It takes effect at 16 or more bars.
- Chords can't be anchored, because they never drop out by design.
Keep your work: save, export, and share
Everything you make can be saved, exported, and passed around. Your library lives right in this browser, with no account, and it stores the full project snapshot so a saved beat reloads exactly as you left it.
For finished audio you export WAV or MP3. For an editable copy you export a JSON preset, which captures the whole project and reproduces the beat exactly when you load it back in.
- Save: adds the beat to My Beats in your browser. The name is pre-filled from the track's musical identity, and you can edit it first. My Beats lists your saves newest first, each showing key, scale, BPM, bar count, and date, with rename and delete.
- Save to file and Load from file: a portable .json preset you can back up or hand to someone. It's validated on import, so a non-Mix-Fi file is rejected cleanly.
- Export WAV: a full-quality, uncompressed loop, rendered offline. Export MP3: a smaller, shareable 320 kbps file. Both name the file after the seed, BPM, and key.
- Export JSON: the editable, re-loadable preset, distinct from the audio exports.
- Share the seed: because the whole song is one number plus your settings, sending a seed lets anyone regenerate your base track. A JSON export or library save additionally carries your mixer and effects sculpting for a bit-for-bit reload. Determinism also means beats aren't exclusive: others can regenerate the same seed.
What's next
Mix-Fi is growing. A few things are planned but not here yet: accounts with cloud saves so you can pick up your beats on any device, an optional ad-free subscription for supporters, and native iPhone and iPad apps.
Have a question or an unusual use in mind? Reach us at hello@mix-fi.com. Thanks for making music with us.