Pick a song you love. Get a playlist that sounds like it.
A Windows app for the music files you already own. No account, no cloud, no subscription.
A modernized, spiritual successor to the long-abandoned MusicIP Mixer / MusicMagic.
Get it · Walkthrough · What it does · From source · How it works · Heritage · Limits
Attune listens to every track in your music folder once, then lets you point at any song and say "more like this". It's a desktop app. You install it, point it at a folder, and leave it running the first time. After that, mixing is instant.
It matches on the actual sound of a track, with genre tags and release years to keep the result on course. Two songs tagged "rock" can sound nothing alike, and Attune knows the difference because it listened to both.
Everything happens on your machine. Nothing is uploaded and there is no account to make.
- Download AttuneSetup-0.2.0.exe from the Releases page.
- Run it. It installs for you alone, in your own user folder, so Windows won't ask for an administrator password.
- Windows will show a blue box saying "Windows protected your PC". Click More info, then Run anyway. That happens because the file isn't code-signed, and signing means paying a company to vouch for a one-person free project. The warning tells you nothing about this particular file either way, only that nobody has paid to vouch for the publisher. It also won't go away with time, and it comes back on every future version. If you'd rather not trust a stranger's executable, the whole source is here and you can build it yourself.
- There's also a portable zip on the same page if you'd rather not install anything. Unzip
it and run
Attune.exeout of the folder.
To check your download against SHA256SUMS.txt, in PowerShell:
Get-FileHash .\AttuneSetup-0.2.0.exe -Algorithm SHA256
A window called Welcome to Attune opens. Press Browse... and pick your music folder, + Add another if your music lives in more than one place, then Scan my music.
The scan reads your files and listens to each one. This is the slow part and it only happens once per track. A big collection takes hours. It runs in the background and picks up where it left off.
Start mixing appears when the scan has finished, not part way through, so on a big library that is the end of the wait rather than the middle of it. Press it and Attune picks a song, builds a mix from it and starts playing. After that, click any track and press Create Mix to mix from that one.
The click-by-click guide, including getting a mix onto a USB stick and into Plex, is in docs/WALKTHROUGH.md.
- Mix from one song. Click a track, press Create Mix, get a playlist that sounds like it. Five sliders say what "similar" is allowed to mean: CLAP for the sound itself, Timbre, Genre, Tempo and Era, with Presets if you would rather not fiddle. Two tick boxes, Avoid near-identical picks to stop it choosing songs that sound almost the same, and Arrange for flow to order the result rather than just rank it.
- Radio. An endless queue that keeps going, with an energy shape you pick: flat, rising, falling, or a wave.
- Blend. Give it two or more songs and it mixes toward the middle of them.
- Adventure. Give it a start and an end, and it builds the path between them.
- Genius. One button. It picks the starting song for you: something you loved and haven't played lately if it can, then something you rated highly, then anything analysed.
- Recipes. Save a set of mix settings under a name and use it again.
- Auto-Playlists. Rules instead of a starting song: artist, genre, year, rating, tempo and more.
- The list is the playlist. Every mix, queue and playlist is numbered in play order. Drag songs to re-order them, then Play, Save as new or Save from the bar above the list, or send it from the SEND TO bar beneath it: Plex playlist or USB / car folder, one click each, and More... for playlist files. What you see is exactly what you get.
- Browse and play. Search, album and folder views, album art, ratings, loved tracks, tags.
- Help on hover. Rest the pointer on any button, dial or setting and it says what it does.
- Copy a mix to a USB stick. Numbered filenames so a car stereo plays them in order, tags intact, either flat or as Artist / Album folders.
- Save a playlist file.
.m3u8, readable by MusicBee, foobar2000, Plex, anything. - Push a mix into Plex, and mirror a folder on disk to a Plex playlist that stays in step with it.
- Repair a library. Find tracks whose files have moved or gone, and relink them.
My car plays MP3s straight off a USB stick, by file and folder. So do my kids' music players, and the boombox. It's the most solid, dependable music setup I've ever owned: your files, your devices, no cloud middleman, no subscription, nothing to break.
The missing piece was always the playlist brain. MusicIP Mixer (2005 to 2010) was that
brain: hand it one song and it built a playlist of tracks that were acoustically similar,
not "fans also liked", not tag matching, but actual sound. Then the company folded and it
became abandonware. Those of us who kept it alive paid a tax for it: getting one mix onto a
USB stick meant MusicIP, then export (it only speaks 2000s Winamp), then save .m3u, then
import into MusicBee, then rebuild the playlist, then export the files to a folder, then copy
to the stick. Five steps til Sunday, for every single mix, for fifteen years.
Attune ends that. Pick a song, get the mix, press one button, pull the stick out of the port. And when the old engine finally won't run anywhere, Attune's own open-source analysis engine is here to outlive it.
Why not just use an audio fingerprinter like Chromaprint or AcoustID? Because those answer "is this the exact same recording?", which is identification. Attune answers "what else sounds like this?", which is similarity. Different problem, different maths. The distance between the fingerprints of two different songs means nothing at all. More on this below.
There are other ways to do this and they suit different setups. Each licence below was read off that project's own repository page on 2026-09-21; check it again before relying on it, because licences change and this paragraph will not:
- AudioMuse-AI (AGPL-3.0) is the closest in spirit. It's a self-hosted service you run in Docker or on a server, and it plugs into Navidrome, Jellyfin, LMS, Lyrion, Emby and Plex. If your music already lives behind a media server, start there.
- bliss-rs (GPL-3.0) is a Rust library that computes similarity from hand-crafted spectral features, with a Lyrion/LMS plugin built on it. No neural model.
- Plex has its own sonic analysis and sonically similar playlists. It's closed source and needs a Plex Pass.
- beets is the reference tool for tagging and identifying a library. That's a different job from "what sounds like this".
Attune's lane is the one none of those fill: a plain Windows app for files sitting on a disk. No server to run, no container, no subscription.
Full instructions are in INSTALL.md. The short version, on Python 3.10 or newer:
git clone https://github.com/Maestro8484/attune.git
cd attune
python -m venv .venv
.venv\Scripts\activate
pip install -e .[app]
python tools/fetch_model.py
Install the [app] extra, not the bare package. onnxruntime lives only in the extras, so
a bare pip install -e . cannot load the model the next line downloads.
tools/fetch_model.py downloads the 267 MiB audio model, which isn't kept in the repository
so that a clone stays small. It checks the download against a pinned SHA-256 and puts it
where the code expects it.
Every track gets listened to once and turned into two things:
- A CLAP embedding: 512 numbers from a neural network trained on music. It's the closest thing anyone has to "what this sounds like" in a form a computer can compare.
Think of the 512 numbers as a fingerprint of the sound. It is a bit like a QR code, in that a whole song is boiled down to a small block of data a machine can read in an instant, but with one difference that is the whole point. A QR code stores a message exactly, so a reader gets the same text back every time. A CLAP fingerprint stores a summary: it cannot be turned back into the song, and two different songs that sound alike get fingerprints that point in nearly the same direction. That is what makes "more like this" a single comparison rather than a guess. If you want to watch every step of that with real numbers on screen, Adam Sohn's CLAP, visualized follows one sound all the way through the model, and it is the best explanation of it I have seen.
- A 79-number acoustic descriptor from classic signal processing: timbre (MFCC), harmony (chroma), spectral contrast, texture, and tempo.
The engine, meaning the part that picks the songs, has two recipes, and your library decides which one it gets.
- A library analysed by Attune 0.2 or later gets the sound profile. The fingerprint goes through a small extra layer trained on which artists ListenBrainz listeners play together, then genre tags, how far apart the years are, and five sensations measured from the sound itself (Pulse, Glow, Heat, Voice and Grain) adjust the order. Tempo and the 79 numbers take no part: with a properly trained model they added nothing that could be measured.
- A library analysed by 0.1.x keeps the V2 recipe. It ranks mostly on the CLAP embedding, then adjusts with the descriptor and a few plain musical facts: timbre, genre overlap, how far apart the tempos are, and how far apart the years are. Those adjustments are what stop an ears-only neural match from jumping across tempo and decade in a way that sounds wrong.
Why two: every version up to 0.1.2 analysed with a copy of the CLAP model that, it turned out, had never been trained. 0.2.0 carries the trained one, and its fingerprints and the old ones are unrelated numbers, so a library can't mix the two. NOTICE.md section 8 has the details, and Status and limits says how to bring an older library across.
Nobody has judged the sound profile by ear yet, me included. It was picked without listening, by scoring over 150 versions on which artists real listeners play together, with the artists used for scoring kept out of everything it learned from. On my library, of the 50 songs each version picks by other artists, 49 in 100 were by an artist listeners play with the starting song's artist, against 33 for Attune as it was up to 0.1.2 and 16 for random picks. That says it's better at finding music people like together. Whether it sounds better is a different question, and the listening test for it is still to be sat.
V2 came out ahead of genuine MusicIP in a listening test I sat myself, and it was more than
a quick listen. Think of a multiple-choice exam. Each question is one song. The
answer choices are the playlists that five to seven different song-matchers built from that
song, the real MusicIP among them, and instead of ticking one you rank them all, best to
worst, by ear. A paper is five questions. I sat about twenty papers: over a hundred questions,
five to seven playlists each, several hundred playlists heard through and ranked. Part of
every paper was blind: MusicIP and the other outside matchers were shuffled and unlabelled,
my own were labelled, so this is a partly blind test and I say so. One paper is written up in
full on the engines page; the rest were sat the same way. Five songs on
one paper is not enough to call a winner, so I don't; twenty papers was enough that I stopped
needing MusicIP. V2's exact weights are the ones that came out ahead. Two ideas that sound
clever and lost by ear are deliberately switched off in it: matching keys around the circle of fifths, and folding tempo
octaves so that 87 and 174 BPM count as the same. Both are in the code and both are off. The
reasoning is written into src/hybrid.py beside the weights themselves.
The whole library lives in one SQLite file. No database server, no vector database, no containers. See docs/ARCHITECTURE.md and docs/ENGINES.md.
Nothing leaves your machine unless you set up Plex yourself. Attune makes exactly two kinds
of outbound call and both are to machines you control: your own Plex server, at the address
you typed into Preferences, and a MusicIP Mixer on localhost if you happen to still run
one. There's no telemetry, no analytics, no update check and no account.
The one exception worth naming is the from-source model download, which talks to GitHub once.
Details, with the file and line behind each claim, in docs/PRIVACY.md.
Attune is v0.2.0. It's the app its author uses every day on a library of over twenty thousand tracks. Expect rough edges.
-
Coming from 0.1? Install over the top. Your library, playlists and settings carry on, and your mixes keep working exactly as they did. New songs wait until the library has been fingerprinted again with the trained model: Preferences, Library, Sound fingerprints, then Fingerprint every song again. It makes a copy of your library first, takes about 1.6 seconds a song on my desktop PC's processor (so hours for a big library), and can be stopped and continued. When it finishes, Load now brings your library up under the sound profile.
-
The sound profile hasn't been judged by ear. See How it works.
-
Windows 10 or 11 only for now. The engine is plain Python and portable, but the app, the installer and the USB drive detection are not. The window needs Microsoft's WebView2 runtime, which Windows 11 and most updated Windows 10 machines already have; if yours does not, Attune says so at startup and names the download.
-
The installer isn't code-signed, so Windows shows a warning on first run and will keep showing it on every future version. See Get it.
-
The first analysis is slow. Every track has to be listened to. Hours for a large collection, once, in the background.
-
It's a big download. Most of it is the model that does the listening. The exact size is on the Releases page.
-
Your music files have to stay where they are. Attune stores paths, and playback and album art read the file off disk. If a drive is unplugged those tracks won't play, though mixing still works.
-
No automatic updates. Download a newer version and install over the top.
-
Formats: mp3, flac, m4a, aac, ogg, opus, wma and wav. The decoder for the awkward ones is bundled, so there's nothing for you to install.
Interfaces may shift before 1.0. Issues and pull requests are welcome, see CONTRIBUTING.md and SECURITY.md.
eval/ holds research scripts used while tuning the engine. They aren't part of the product
and you don't need them to run it.
Attune's own source is MIT, see LICENSE.
The built application is a different answer, because it bundles other people's work. Some of that work is GPL, so the installed program as a whole is conveyed under GPL-3.0-or-later. For you as a user that changes nothing: run it, for anything, forever, and you owe nobody anything. For anyone redistributing the built app, the GPL's conditions come along with it. The full reasoning, and every bundled component with its licence, is in NOTICE.md.
"MusicIP" and "MusicMagic" are third-party marks, referenced here only to describe heritage and interoperability. Attune is not affiliated with or endorsed by their rights holders, and contains none of their code. Attune analyses audio files you already have; it neither copies nor distributes music.
Attune stands on the shoulders of the MusicIP community, who kept a dead program alive for
over a decade. Particular thanks to the Logitech Media Server plugin authors, lms-mipmixer
among them, who documented the local API and proved the idea still had legs long after the
company that built it had gone.
What MusicIP was, why it died, and what Attune keeps and drops from it: docs/MUSICIP_HERITAGE.md. How Attune's output was measured against it: docs/VALIDATION.md.
The code here was written with Claude Code, Anthropic's coding tool, working from my direction. What Attune should do, what it should refuse to do, and every call about whether a playlist actually sounded right are mine. The listening tests were run on my own ears and my own library, and no number was ever allowed to overrule them.
Built for people who miss the days when your computer actually understood your music.












