I have never been won over by streaming. The convenience is real, but I would just rather own my music than rent it, and go on owning it. Over the last twenty-five years that conviction has turned into a library of more than a hundred thousand tracks, north of 3.5 TB, mostly FLAC with a good amount of 24-bit hi-res. It lives on a dedicated PC in my rack, feeding an external USB DAC with its own ASIO 2.0 drivers.

For a collection built that carefully, two things have to be right. The first is the path the music takes to the hardware: whether it is truly bit-perfect — the samples on disk reaching the DAC unchanged, or not. The second is the software that manages everything around it. Take the hardware path first.

Why Windows?

It is a fair question — the audiophile reflex is to reach for a Linux box or a dedicated streamer and treat Windows as the compromise. My reasoning ran the other way, and it comes down to one word: ASIO.

ASIO is the direct-to-hardware interface that DAC and audio-interface makers actually write and optimize drivers for, mine included. It is often the most direct route to a device’s full capabilities, the top sample rates and bit depths its maker supports, which the shared Windows audio path does not always expose. And a native ASIO driver sidesteps the Windows audio engine altogether: no shared mixer, no sample-rate conversion, no system effects, just the samples handed from the application to the device.

That is what makes the usual platform argument beside the point. It does not matter whether you consider Windows good or bad for audio, because with ASIO you are not using the Windows audio path in the first place. What matters is that ASIO is the mature, manufacturer-supported route to the hardware — and it is, officially, Windows-only. If that is the path you want to build on, the platform chooses itself. It also happens to be the machine most people, myself included, already own.

Twenty-five years of almost

The software was the harder problem. I have used nearly every Windows player worth using — the free ones the forums swear by, the paid ones that promise the world. Individually they each do something well. Collectively they taught me the same lesson over and over.

Most of them try to be too much. A player becomes a library manager becomes a media suite becomes a plugin ecosystem, and somewhere in there the simple act of playing an album gets buried under configuration. Setup is a project. You download components, edit layouts, dig through wikis, and every OS update seems to break something you had finally gotten right. I did not want a hobby that happened to play music. I wanted a tool that played my music and got out of the way.

But the thing that bothered me most was quieter, and more technical.

”Bit-perfect” — really?

Bit-perfect has a precise meaning: the samples on disk reach your DAC unchanged. No resampling, no mixing, no math in the middle. Every bit, intact.

A lot of players claim it. Then they hand you a volume slider that is always live — a software fader sitting in the signal path, multiplying every sample on its way out. Turn it below 100% and you are, by definition, no longer sending the original samples. Even at 100%, the fader is usually still in the path — and you are trusting two things at once: that “100%” is truly unity, not a hair below, and that the operation is perfectly transparent. That is not the same as not touching the samples at all. If the volume control never truly disengages, in what sense is the output bit-perfect?

The volume fader is only the most visible offender. Look closer and there are others, each doing the same thing — quietly transforming the signal on the way out. Some players upsample everything to a fixed rate by default; however good the algorithm, resampling recomputes every sample, so what leaves is no longer what was on disk. Others apply loudness normalization to even out the level between tracks — an automatic multiply you never asked for. And some bake in a house curve, a default tone shaping that colors the sound and cannot be fully switched off. Any one of these sits in the path. A bit-perfect claim that ships with one of them switched on is not bit-perfect; it is a marketing line.

The other half of the problem is what players do with ASIO. It exists precisely to hand audio straight to the hardware, bypassing the OS mixer — yet plenty of players treat it as a checkbox rather than the point. If you have a DAC with a real ASIO driver, that path should be first-class, not an afterthought.

So when I built Vadya, this is the part I refused to compromise on.

Vadya’s default output is shared mode — the safe, universal path that works on any machine. Bit-perfect is a deliberate choice: you select an exclusive mode, and for me that means ASIO. ASIO is the path I actually care about; it is the reason Vadya is on Windows at all. Native WASAPI Exclusive is there as the alternative, for DACs without an ASIO driver. Whichever exclusive mode you pick, the important part is the same:

  • Vadya bypasses its volume processing entirely in exclusive mode. Not turned down to unity; removed from the path. The PCM samples reach your DAC untouched. (There is an opt-in for software volume in exclusive mode; it is off by default, precisely because it breaks bit-perfect.)
  • No automatic upsampling, no loudness normalization, no house curve. The transforms other players leave running, Vadya’s exclusive path simply does not apply. With effects off, the chain is empty — the sample that leaves is the sample on disk.
  • ASIO delivers audio directly to the hardware, around the OS mixer entirely — the way it is meant to work.
  • WASAPI Exclusive takes the device for itself — no shared-mode Windows mixer, no resampling.

Three honest caveats, because this audience deserves them. Bit-perfect means the effects are off: enable EQ or crossfeed and you are, knowingly, changing the samples. ASIO only stays bit-perfect when the device is running at the track’s own sample rate. And if the device will not grant exclusive access, Vadya falls back to shared mode rather than dropping out — so the one thing worth checking, if fidelity is the goal, is that your exclusive mode actually engaged. Once it does, nothing sits between the file and the DAC.

Everything above is still, in the end, a claim — and I have just spent several paragraphs on how cheap claims are. So Vadya does not ask you to take it on faith: it shows a bit-perfect badge if, and only if, the path is genuinely clean. The exact conditions under which Vadya displays that badge, and when it does not, are worth an article of its own. It is the one I am writing next.

Set it up once, then run it from your phone

My playback machine is deliberately awkward. It runs completely headless — no screen, no keyboard, no mouse, ever — a quiet box doing one job. That is exactly how I want it, and it is exactly what most music players are not built for.

I do not really blame them for it. Most people run a player on the PC in front of them, with a display and something to type on, and it is reasonable to build for that. My setup breaks the assumption, and for years I paid for it — my only way in was a remote-desktop session from another machine: bearable for changing a setting, miserable for actually playing music, skipping a track or hunting for an album through a laggy remote window.

So Vadya splits the work in two. First, a one-time setup in the desktop app — and a short one: point it at your library, pick your audio backend and output device, and, if your DAC wants it, give it a slightly larger buffer for stability. That is essentially all of it. Every player asks for a one-time setup, but for most of them it is a project of downloads and configuration before a single note plays; Vadya’s is a handful of choices and you are listening. Anyone who likes to shape the sound can dig into the EQ and crossfeed, but that is an option for the involved, not a step everyone has to take.

After that, the desktop drops out of daily life entirely. The app starts with Windows and lives in the tray, and from there everything happens on your phone. Connecting is a one-time affair — scan a QR code once and install the remote straight from the browser as an app of its own; there is no app store and nothing bloated to download.

I will be candid: this connect flow is the least effortless corner of Vadya, and it sits a little against the “just set it up and go” ethos of the rest. The browser warning you click past, the install step, the permission prompts — that is the mobile and browser security model at work, not a choice of mine, and there is only so much of it I can smooth away.

But you do it once. After that it is only playback — library, search, queue, transport. And this part is deliberate: the remote has no settings at all. No temptation to tweak, no adjustment rabbit hole to fall into when you sit down to listen — the tinkering stays back on the desktop where it belongs. The box stays in the rack, and the only reason to open its desktop again is to change how it sounds, which is rare.

So I built the player I wanted

Vadya is deliberately narrow. It plays local files, it plays them correctly, and it stays out of the way:

  • Bit-perfect on demand — choose an exclusive mode (ASIO, or native WASAPI Exclusive) and Vadya takes its volume out of the signal path entirely.
  • Built for large libraries — a hundred thousand tracks and it stays fast and searchable.
  • Screen-free day to day — set it up once, then it starts with Windows, lives in the tray, and runs from your phone via an installable remote.
  • Focused — no plugin archaeology, no media empire. Point it at your folders and play.

These were the reasons I started: bit-perfect output, a library that keeps up, and control that suits a headless box — the handful of things nothing else got right. A great deal more has grown on top since, features and refinements that only revealed themselves once I was living with the app day to day. You will come across them as you use it, and I will write about them another time.

It is not trying to be everything. It is the tool I wished existed for the twenty-five years I spent without it — for people who own their music and care, precisely, how it reaches the DAC.