Bareplay app icon

Your music, untouched.

Bareplay is a bare, functional iOS audio player. It adds or removes nothing from your music — no resampling, no volume, no EQ — and locks your USB DAC to each file's native sample rate.

Bit-perfect is the goal; since no iOS app can prove the final output, Bareplay gives you the tools to verify it yourself — something other players don't.

iPhone & iPad · iOS 17+ · best with an external USB DAC

What it does

Play files, untouched.

Point it at your music — on a NAS, a cloud drive, or on the device — and play. Bareplay reads the original samples and hands them to your DAC at the file's native rate (and, for convenience, plays locally without one too). The only thing it ever changes is a disclosed DSD-to-PCM fallback — always labelled, never silent.

Lossless & uncompressed PCM

WAV, FLAC, ALAC and AIFF play bit-perfect — the exact integer samples, at the file's native sample rate.

DSD

DSD over DoP

.dsf and .dff stream to your DAC as native DSD via DoP — as high as your device and DAC will lock the rate. No conversion in the default path.

→PCM

The one exception

When a DAC can't lock native DSD over DoP, Bareplay falls back to converting it to PCM — automatically, only when needed, and always badged. Never silent.

What "bit-perfect" means here

Honest about what software can prove — and what it can't.

Bareplay does everything an app can toward bit-perfect output: it decodes the original integer samples with no conversion, adds no resampling, volume, EQ or mixing, and locks your DAC to each file's native sample rate. When the hardware locks that rate you get a clear ✓; if iOS has to resample, it still plays but the badge warns you — disclosed, never hidden.

What no iOS app can do is see past the system audio layer to confirm what the DAC physically receives. So the badge is an honest first-line check, not a proof. To actually prove it, Bareplay includes a Test Signal mode: you capture the output externally, then verify it right in the app under Settings → Verify a recording.

Every track shows you exactly what's happening — one of four honest states:

PCM LOCKED  ·  24-bit / 96 kHz DSD LOCKED  ·  DSD64 → DoP 176.4 kHz DSD CONVERTED TO PCM  ·  DSD64 → PCM 88.2 kHz RESAMPLED BY iOS  ·  24-bit / 96 kHz → DAC @ 48 kHz

Features

Everything it needs. Nothing it doesn't.

No accounts, no streaming services, no tag database, no artwork scraping. Just the parts that matter for getting clean audio to a good DAC.

📁

Rides the Files app — on purpose

SMB, WebDAV, Dropbox, iCloud or local: if it's in the Files app, Bareplay plays it. By design it writes no networking code of its own and stores no passwords — your connections live in iOS, where they belong.

No extra streamer needed

Your iPhone or iPad is the transport. Plug the DAC straight in and play your NAS or cloud files — no Raspberry Pi, network bridge or dedicated streamer in the chain.

Live folder browser

No indexing, no waiting for a library to build. Browse folders directly and play a track or a whole album as a queue.

Gapless playback

Same-rate tracks flow into each other with zero gap — albums and live recordings play through seamlessly.

Built-in verification (optional)

Want to prove the output is bit-perfect? A Test Signal mode generates reference tones and patterns you capture off the DAC and verify on-device. It's there if you care to check.

Fully native, no trackers

Built on Apple frameworks with no third-party libraries. No analytics, no networking code of its own.

Formats

What it plays.

WAV PCM FLAC lossless ALAC lossless AIFF PCM DSF DSD DFF DSD / DST

PCM up to high sample rates at native bit depth. DSD over DoP, as high as your device and DAC will lock the carrier rate. DST-compressed DSD is supported as an experimental, opt-in decode.

A look at it

One screen. A browser and a player.

No tabs, no menus to get lost in: a full-width file browser with a player docked at the bottom.

Browser
Miles Davis
Bill Evans Trio
01 — So What.flac
02 — Freddie Freeloader.flac
03 — Blue in Green.flac
So What
FLAC 24/96 → DAC @ 96 kHz
◁◁ ▷ ▷▷
Now Playing
Blue in Green
Miles Davis — Kind of Blue
PCM LOCKED
FLAC · 24-bit · 96 kHz
DAC locked @ 96 kHz
◁◁ ⏸ ▷▷
Test Signal
· Pink noise · 48 kHz
· Tone 997 Hz · 96 kHz
· Near-Nyquist · 96 kHz
· PRNG sequence · 96 kHz
· Walking-bit · 96 kHz
Verify the chain
capture → analyze → ✓ transparent

Illustrations of the interface. Real device screenshots will replace these.

Why I made it

I built Bareplay because I didn't like the players I could find. They all wanted to be more than a player — libraries, accounts, effects, a look.

I wanted the opposite: a bare, functional app that does one job well — play my uncompressed and DSD files exactly as they are, straight to the DAC, with no processing in the way.

It looks plain on purpose. The point is what comes out of the DAC, not what's on the screen — and it will stay that way.

FAQ

Good to know.

Do I need a USB DAC?

No — Bareplay plays your local and network files just fine on the device's own output. But it's built around sending audio to an external USB DAC bit-perfect, and that's the way it's meant to be used.

Does it ever change my audio?

Bareplay itself never alters your samples — no resampling, volume, EQ or mixing. PCM (WAV/FLAC/ALAC/AIFF) and DSD-over-DoP play untouched. The one change the app can make is DSD→PCM conversion for DACs that can't accept native DSD. By default (Auto mode) this happens automatically only when the DoP rate won't lock — always badged as converted, never silent. See the DSD mode question below to make it strict or always-on.

There's a second case, but it's iOS, not the app: if the hardware can't lock a file's native sample rate, iOS resamples to a rate it can. Bareplay never adds that conversion itself — it discloses it with the RESAMPLED BY iOS badge so you always know.

What about DST-compressed DSD?

DST is the lossless compression found on some DSD and SACD rips. Bareplay can decode it, but the feature is experimental and off by default: DST is hard to test and verify — a subtly wrong decode comes out as noise rather than failing gracefully — and it hasn't been confirmed on real hardware. You can turn it on in Settings; otherwise DST files are skipped with a note. If you try it and run into problems, please get in touch.

How does Bareplay play DSD?

Three modes in Settings, with Auto the default — and the right choice for most:

Auto — plays DSD bit-perfect over DoP when your DAC locks the carrier rate, and only if it can't, falls back to converting to PCM. Always plays, always badged. Play as DoP — strict: refuses rather than convert if the carrier won't lock (resampling DoP would be noise, not graceful degradation). Decode to PCM — always converts, for DACs that don't do DoP at all.

So the PCM conversion isn't something you switch on; in the default Auto mode it happens by itself only when DoP isn't possible — and you can opt out of it with Play as DoP if you'd rather it refuse.

What are the DSD conversion filters?

They only matter when DSD is converted to PCM — the fallback for DACs that can't do DoP. The filter sets how the DSD is decimated down to PCM: linear-phase (default) (sharp, symmetric ringing), minimum-phase (no pre-ringing), or apodizing (gentle roll-off, minimal ringing). Linear-phase is the default because it's the most neutral — flat magnitude, no phase shift — and at these high conversion rates its pre-ringing sits in the inaudible ultrasonic range. The others are there if you prefer their trade-offs. Pick one in Settings; it takes effect on the next track. For native DSD over DoP and for PCM files, filters don't apply — nothing is being converted.

Is there a volume control?

No, by design — a software volume would alter the samples. Bareplay outputs every file at its full digital level (0 dBFS) and leaves volume to your DAC or amplifier. Turn your amp down before you press play. Full-scale output can be extremely loud and may damage your hearing or your equipment — use it at your own risk.

Where does it get my music?

From anything that appears in the iOS Files app — a NAS over SMB, WebDAV, Dropbox, iCloud Drive, or files stored locally. You add sources as folders; Bareplay browses them live, with no library to build. This is deliberate: Bareplay implements no networking code itself and keeps no credentials — you set up the connection once in Files, and the app just reads through it.

What does the status badge tell me?

The truth about each track, in one of four states: PCM LOCKED or DSD LOCKED (✓ — the DAC is locked to the file's native rate), RESAMPLED BY iOS ( — iOS had to resample; it still plays, you're just told), or DSD CONVERTED TO PCM ( — the fallback for DACs that can't do DoP). Never left guessing.

Can the app prove it's really bit-perfect?

Not from software alone — and no iOS app can. iOS doesn't expose what the DAC physically receives, so the in-app badge only confirms the sample rate locked. To prove the rest, Bareplay includes a Test Signal mode: play a reference signal, record it off the DAC on a computer, then bring the recording back and check it on-device under Settings → Verify a recording. See the next question for which signal to use.

What test signals are there, and which do I use?

Bareplay generates reference signals (a built-in source in the picker), each with a random per-run ID so a match can't be a coincidence. They come in two tiers depending on how you capture them:

Transparency (analog capture). Record the DAC's analog output. Use Tone 997 Hz (level & distortion), Near-Nyquist (catches resampling), or Multitone (intermodulation & frequency response). This proves the output is transparent — the everyday check.

Bit-exact (clock-locked digital capture). With an S/PDIF tap, use PRNG sequence or Walking-bit for a true sample-for-sample byte compare.

For both of those, capture the output and check it under Settings → Verify a recording. Each verification signal carries a self-describing header, so the app identifies it straight from the recording — you don't need to remember how it was generated or note anything down.

Separately, there's Pink noise — a measurement signal you play back and measure acoustically with a mic or SPL meter for speaker/room calibration. It isn't a bit-perfect check and doesn't go through Verify.

Does it have a library, playlists, or search?

No. It's a folder player by design. Play a single track or a whole folder as a queue. Nothing to index, nothing to sync.