Skip to content

Repository files navigation

Attune

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

Windows 10 and 11 Source: MIT Cloud not required

Attune's main window: a mix numbered in play order, Play and Save as new above it, the SEND TO bar beneath it with Plex playlist and USB / car folder, and the playing song's cover on the right


What it is

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.

Get it

  1. Download AttuneSetup-0.2.0.exe from the Releases page.
  2. Run it. It installs for you alone, in your own user folder, so Windows won't ask for an administrator password.
  3. 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.
  4. There's also a portable zip on the same page if you'd rather not install anything. Unzip it and run Attune.exe out of the folder.

To check your download against SHA256SUMS.txt, in PowerShell:

Get-FileHash .\AttuneSetup-0.2.0.exe -Algorithm SHA256

First run

The first-run window asking for a music folder

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.

What you can do with it

  • 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.

Right-click a song: Create Mix, Blend Selected, Adventure from first to last, More Like This, Less Like This

Genius picked the starting song and built the queue on the right; the player is running

The Auto-Playlist builder: rules such as rating at least 4, with a live count of matches

Mix options: the five dials, the presets, Radio switched on with its variety setting and energy arc, and the recipe row

Blend: two songs selected, and a mix built toward the middle of them

Adventure: a first song and a last song selected, and the path built between them

Copying a mix to a USB stick: pick a folder or drive, flat or Artist and Album layout

Preferences: library folders, folders to skip, scan on launch, live watch

The SEND TO bar at the foot of the list, Plex playlist and USB / car folder one click each, with the More panel open above it: save a playlist file, download it, copy the files, mirror a folder to Plex

The album view: every album as a cover

Hover help: resting the pointer on Auto-DJ explains what it does

Why this exists (a true story)

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.

Where Attune sits

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.

From source

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.

How it works

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.

The song becomes a picture of its sound, CLAP listens to the picture, and out comes a fingerprint of 512 numbers that can be compared by direction

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.

Privacy

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.

Status and limits

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.

Licence

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.

Credit

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.

About

Pick a song, get a playlist that sounds like it. Offline, on your own files, on your own PC. No account, no server, nothing that can go dark. A modernized, spiritual successor to MusicIP Mixer.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages