BTR AMP
Download on the App Store
← All guides

How to Get Bit-Perfect Audio on iPhone (USB DAC Guide)

By BTR Labs · Last updated October 24, 2026

Bit-perfect playback on an iPhone means the DAC receives the file’s samples exactly as stored: same sample rate, same bit depth, nothing resampled, equalized, or scaled on the way. It’s achievable on iOS, but not by default. You need an external USB DAC, a player app that switches the output to each track’s sample rate, and every processing stage — EQ, volume normalization, crossfade, digital volume — switched off. BTR AMP does this for PCM files (FLAC, ALAC, AIFF, and the rest), and for DSD over DoP up to DSD256.

What “bit-perfect” actually means

A playback chain is bit-perfect when the digital stream arriving at the DAC is a bit-for-bit copy of the decoded file. For a 24-bit/96 kHz FLAC, that means 96,000 samples per second per channel, each one identical to what the encoder wrote. Anything that touches the samples breaks it:

Two things do not break it. A 16-bit file carried in 24- or 32-bit frames is still bit-perfect — the extra bits are zeros. And a player that processes in floating point is fine at unity gain, because the conversion is exact in both directions.

Bit-perfect is a guarantee about the data, not a sound signature. It won’t make a recording better than its master. What it does is remove the operating system as a variable: no hidden resampling, no double-processing before your DAC’s own filter does its work. For DSD it’s a hard requirement — DSD over PCM (DoP) only works if the DAC receives the packed bitstream untouched.

Why iOS isn’t bit-perfect out of the box

Desktop audiophile players get bit-perfect output by taking exclusive control of the audio device — WASAPI exclusive or ASIO on Windows, hog mode on macOS. iOS has no equivalent. Three things stand in the way:

  1. The built-in hardware runs at 48 kHz. The iPhone’s own DAC, and the DAC inside Apple’s USB-C or Lightning to 3.5 mm adapter, top out at 24-bit/48 kHz. Anything above is resampled by iOS before it leaves the phone. No app can change that.
  2. One shared mixer. iOS mixes every app’s audio — your player, a notification chime, Siri — in a single system mixer running at one rate. If your file’s rate isn’t the mixer’s rate, iOS resamples, silently and without a setting to turn it off.
  3. No exclusive mode. No app can lock the output device the way a desktop player can.

The escape hatch is that an app can request a hardware sample rate. On the phone’s own hardware the request is capped at 48 kHz, so it changes little. On a USB DAC, iOS honors it: the DAC is switched to the requested rate, and the mixer runs at that rate too. If the player requests the file’s rate for every track — and nothing else in the chain alters the samples — the DAC receives the file untouched.

That is why the player matters as much as the DAC. A player that never asks gets whatever rate iOS happened to be running, and iOS resamples to it without telling anyone. Many apps don’t ask, and most don’t show you.

What you need

1. A USB DAC. iPhone 15 and later connect directly over USB-C. iPhone 14 and earlier need Apple’s Lightning to USB Camera Adapter (the USB 3 version adds a Lightning power input for DACs that draw more than the port supplies). iOS has no custom drivers, so the DAC must be USB Audio Class compliant — virtually all current DACs and dongles are. On the spec sheet, look for the maximum PCM rate and, if you own DSD, the maximum DoP rate (the DSD guide explains why a DAC’s PCM ceiling caps its DoP ceiling too).

2. A player that does three things: requests the output rate per track, lets you switch off every processing stage, and shows you the live output rate so you can see when iOS resamples anyway.

3. Lossless files. Bit-perfect MP3 is technically possible but beside the point — the losses already happened at encoding. Bit-perfect matters for FLAC, ALAC, AIFF and DSD.

Setting up BTR AMP for bit-perfect playback

BTR AMP requests the output sample rate from iOS at the start of every track, then reads the rate back after playback starts and shows it on screen. Bit-perfect PCM through a USB DAC works on the free tier; DSD playback is a Pro feature.

  1. Connect the DAC and start a track. Open the player’s ⋯ → Display menu and turn on Input Specs and Output Specs. The now-playing screen now shows the file’s codec, bit depth, and sample rate above the output device and the rate it’s running at.
  2. Settings → Player → Resampling Mode → Disabled. The default, Play Queue Maximum, resamples every track to the highest rate in the queue so gapless and crossfade work across a mixed-rate queue. Disabled plays each track at its own rate; the only cost is that a gapless or crossfade transition is skipped at the moment the rate changes between two tracks. (BTR AMP’s Resampling Algorithm setting — Normal, Mastering, Minimum Phase — only applies when resampling happens, so it’s irrelevant here.)
  3. Settings → Player → Playback Mode → Gapless. Crossfade mixes two tracks during the overlap. Gapless and forced-gap leave the samples alone.
  4. Audio Mixer: Equalizer flat, Volume Normalization off. Choose the Flat equalizer preset with the preamp at 0 dB, set Volume Normalization to Off (rather than Auto, Track, or Album), and leave the manual track and album gains at 0 dB. Any non-zero gain is a multiplication of every sample.
  5. iPhone volume at maximum; set the level on the DAC or amplifier. Many USB DACs expose a hardware volume control that iOS drives directly, which leaves the data path intact; a DAC without one gets digital attenuation from iOS below 100%. Full volume on the phone sidesteps the question either way — just turn the amp down first.
  6. For DSD: enable DoP. When BTR AMP detects a USB DAC that may support DoP, it offers to configure it; otherwise open ⋯ → Output Device Settings and set DSD Playback Mode to DoP (bit-perfect). During DoP playback the mixer is locked at unity and the EQ and normalization are disabled automatically — the now-playing badge reads DSD64 • DoP rather than DSD64 • PCM. More on DSD and DoP →

Per-device settings are remembered, so the DAC you use at your desk and the dongle in your bag can each have their own configuration.

What is bit-perfect on iOS, and what isn’t

Source → output Bit-perfect?
PCM at any rate the DAC supports → USB DAC, Resampling Mode Disabled, EQ and normalization off Yes
DSD64–DSD256 → DoP-capable USB DAC Yes — DoP packs the DSD bitstream untouched inside PCM frames
DSD512 and DSD1024 → any output No — converted to 352.8 kHz PCM. iOS USB audio can’t reach the 1.4 MHz carrier DSD512 would need over DoP.
Any file above 48 kHz → Apple’s USB-C or Lightning 3.5 mm adapter No — resampled to 48 kHz by the hardware ceiling
Any file → Bluetooth No — AAC, lossy
Any file → AirPlay No — re-encoded and limited to CD quality at best
Any file, any output, with EQ, normalization, crossfade, or digital volume engaged No

How to verify it

An honest limit applies to every iOS player, not just this one: no app can see past the system audio layer to the USB bus, so an in-app readout reflects what iOS reports. For proof, trust a DAC that displays its incoming rate, or a DAC with a DoP lock indicator for DSD.

FAQ

Does iOS resample everything to 48 kHz? Only on the phone’s own hardware and Apple’s 3.5 mm adapters, which are limited to 24-bit/48 kHz. With a USB DAC, an app can request the file’s sample rate and iOS switches the DAC to it. The catch is that the app has to ask — many don’t.

Can Apple Music play bit-perfect on iPhone? Apple Music streams Hi-Res Lossless to a USB DAC and Apple’s own documentation says a DAC is required above 48 kHz, so high rates do reach external hardware. But the Music app has no bit-perfect or exclusive setting and no output-rate readout, so there is no way to confirm from the app what the DAC is receiving.

Does turning the volume down break bit-perfect playback? Digital volume below 100% does — every sample is scaled. Hardware volume on the DAC or amplifier doesn’t. Many USB DACs let iOS drive their hardware volume; if you aren’t sure which kind you have, leave the iPhone at full volume and adjust downstream.

Is a 16-bit CD rip still bit-perfect through a 24- or 32-bit output? Yes. The extra bits are zero-padded and the original 16 are unchanged. Bit depth is only a problem when the chain reduces it, which an iPhone with a USB DAC doesn’t do.

Does bit-perfect sound better? Not by itself. It guarantees the DAC gets the file as mastered — no more, no less — and prevents the audible failures (hidden downsampling, double EQ) that happen when it isn’t. What you hear from there is the DAC, the amplifier, the headphones, and the master.

Lightning or USB-C — does it matter? Both run the same iOS audio stack and support the same DACs. USB-C connects directly and supplies more power; Lightning needs the camera adapter and may need the powered USB 3 version for larger DACs.

Do I need BTR AMP Pro for bit-perfect playback? No. Bit-perfect PCM through a USB DAC — FLAC, ALAC, AIFF, APE, WavPack, TTA — works on the free tier. DSD playback, including bit-perfect DoP, is a Pro feature.

Why does my DAC claim DSD512 but BTR AMP tops out at DSD256 over DoP? DoP needs a PCM carrier of 1411.2 kHz for DSD512, and iOS USB audio doesn’t reach it. DSD256 (705.6 kHz carrier) is the iOS ceiling for bit-perfect DSD; DSD512 and DSD1024 files still play, converted to 352.8 kHz PCM.

Try BTR AMP free — no account required

Download on the App Store