Desibel

Your music, untouched.

Desibel is a minimal Hi-Fi iOS audio player for your own files — on a NAS (a network drive), a cloud drive, or the device, no streaming service. It plays PCM and DSD untouched — bit-perfect by default, with no resampling, volume or EQ — and locks your USB DAC to each file's native sample rate.

Bit-perfect (the exact samples in the file reaching your DAC, unchanged) is the goal; since no iOS app can prove the final output, Desibel gives you the tools to verify it yourself — something other players don't.

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

30-day free trial, then $9.99 once (USD; regional pricing varies) — a one-time purchase, no subscription.

Turn your amplifier down before playback. Desibel has no volume control and plays at full digital level (0 dBFS). Played without a volume control in between — for example into powered (active) headphones or speakers — this can damage your hearing or your equipment. The app is provided as-is, with no warranty — use it at your own risk.

What it does

Play your music, untouched.

Point it at your music — on a NAS, a cloud drive, or on the device — and play. Desibel reads the original samples and hands them to your DAC at the file's native rate (and, for convenience, plays locally without one too). By default it changes nothing; a few opt-in conversions exist for matching a particular DAC, each off unless you turn it on and always labeled when it runs — never silent.

PCM

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 (DSD-over-PCM, the standard way to carry DSD over USB) — as high as your device and DAC will lock the rate. No conversion in the default path.

Opt-in conversions, disclosed

Optional output-matching modes — DSD↔PCM, PCM or DSD upsampling — for a DAC that prefers a certain rate. Every one is off by default and, when on, badged gold ⟳ — never a silent change.

What "bit-perfect" means here

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

Desibel 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. The green ✓ appears only on a real USB DAC that locks that rate. On any other output — Bluetooth, AirPlay, the built-in speaker — which can't carry bit-perfect audio, or when iOS has to resample, it still plays but the badge warns you instead of showing a false ✓. 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, Desibel includes built-in Test Signals: you capture the output externally, then analyze it right in the app under Settings → Analyze a recording.

Every track shows you exactly what's happening — the badge names the lock; the detail line traces the file to your DAC:

PCM LOCKED
24/96 kHz
DSD LOCKED
DSD64 → DoP 176.4 kHz
DSD→PCM LOCKED
DSD64 → PCM 88.2 kHz
PCM UPSAMPLED
24/96 kHz → 384 kHz
PCM→DSD LOCKED
24/88.2 kHz → DSD256 (DoP)
DSD UPSAMPLED
DSD64 → DSD256 (DoP)
RESAMPLED BY iOS
24/96 kHz → 48 kHz
RESAMPLED BY iOS
DSD64 → PCM 48 kHz
NON-USB OUTPUT
16/44.1 kHz

The label names the locked state; the ✓ / ⟳ / ⚠ symbol and the detail line show whether anything left the bit-perfect path — green PCM LOCKED is a native PCM file on a USB DAC, gold marks an opt-in conversion you turned on that then locked (DSD→PCM LOCKED, PCM UPSAMPLED, PCM→DSD LOCKED or DSD UPSAMPLED), red RESAMPLED BY iOS (⚠) is iOS coercing the rate, and red NON-USB OUTPUT (⚠) is a route that can't be bit-perfect at all — Bluetooth, AirPlay or the built-in speaker.

And here is that proof. Two of the built-in bit-exact test signals — PRNG sequence · 96 kHz and Walking-bit · 96 kHz — were sent to a USB DAC, captured on the USB link, and analyzed back in Desibel: bit-exact — every sample, both channels, all 24 bits intact.

Desibel on iPad: a PRNG sequence 96 kHz capture analyzed as bit-exact
Desibel on iPhone: a PRNG sequence 96 kHz capture analyzed as bit-exact
Desibel on iPad: a Walking-bit 96 kHz capture analyzed as bit-exact
Desibel on iPhone: a Walking-bit 96 kHz capture analyzed as bit-exact

PRNG sequence 96 kHz and Walking-bit 96 kHz test signals, captured on the USB link to a Benchmark DAC2 HGC with a Teledyne LeCroy Mercury T2C USB analyzer (export data transfer out) and converted to audio files in Audacity (import raw data as 32-bit; export as 24-bit / 32-bit with dithering off), then analyzed on the Desibel app.

DSD

Native DSD — or an honest conversion.

DSD is a first-class citizen here, not an afterthought. Desibel plays your .dsf and .dff files as native 1-bit DSD over DoP, straight to your DAC — as high as your device and DAC will lock the carrier rate (the PCM rate DoP rides on), with no conversion in the default path.

It reads SACD disc images directly, too: open an .iso like a folder, and its tracks play bit-perfect as native DSD — no extraction needed. Desibel plays the disc's stereo layer, decoding DST-compressed discs losslessly on the fly. A DST source — a SACD track or a DST .dff — is labeled DSD64 (DST) in the player, so you can always see when a track was DST-compressed.

By default DSD plays strictly native (Play as DoP). For a DAC that can't take DoP, switch Settings → DSD → Output to Decode to PCM and Desibel converts it — telling you with a gold DSD→PCM LOCKED badge, never a silent downgrade. A third mode, Upsample, re-modulates a lower-rate DSD file up to DSD128 or DSD256 for a DAC that prefers a higher rate — output matching (⟳ DSD UPSAMPLED), not a fidelity gain. A shared conversion filter applies whenever it converts.

Output matching · optional

Bit-perfect by default. Convert only if you ask.

A fresh install never changes a sample. But some DACs simply sound their best fed a particular rate or format — so Desibel offers a few opt-in conversions for matching your DAC. Every one is off by default, and when you switch it on the track plays through the badge in gold — disclosed, never a bit-perfect ✓. This is output matching, not a fidelity improvement: manufacturing a higher rate can't add detail that isn't in the file.

PCM ↑

Upsample PCM

Integer-upsample any PCM file to a higher rate in its own family (44.1 or 48), up to 352.8 / 384 kHz. A file already at or above the target passes through untouched (green ✓); otherwise it's badged ⟳ PCM UPSAMPLED.

PCM→DSD

Modulate PCM to DSD

Turn a 44.1-family PCM file into a 1-bit DSD stream (DSD64–DSD256) over DoP, for a DAC you'd rather feed DSD. Badged ⟳ PCM→DSD LOCKED, and it plays about 6 dB quieter — 1-bit DSD needs the headroom. (48-family files have no integer ratio to DSD, so they aren't modulated.)

DSD ↑

Upsample DSD

Re-modulate a lower-rate DSD file (most SACD/DST rips are DSD64) up to DSD128 or DSD256 over DoP. A file already at or above the target plays native. Badged ⟳ DSD UPSAMPLED.

Everything is exact integer-ratio — there is no fractional resampling anywhere in the app — and the DSD modes top out at DSD256, the highest rate verified on real hardware. You choose them in Settings → PCM and Settings → DSD; a shared Conversion filter (linear-phase, minimum-phase or apodizing) applies to all of them. Turn everything off and Desibel is what it is out of the box: bit-perfect.

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.

Bit-perfect — and honest about it

Decodes the original integer samples and locks your DAC to each file's native rate — no resampling, volume, EQ or mixing. A badge shows the lock, and tells you honestly on the rare occasion iOS resamples.

Plays your formats

WAV, FLAC, ALAC and AIFF play bit-perfect; DSD (.dsf / .dff) plays native over DoP, or converts to PCM if you switch that on for a DAC that can't take DoP. Lossless only, stereo and mono.

📁

Rides the Files app — on purpose

SMB, WebDAV, Dropbox, iCloud or local: if it's in the Files app, Desibel plays it. By design it contains no networking code 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. And a streamer can stream Tidal or Qobuz but not Apple Music, so the phone's in your setup anyway.

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. Cover art and booklets that live in the folder — images and PDFs — open right in a viewer you can swipe through.

Gapless playback

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

Lock-screen & background play

Keeps playing with the screen locked, with track info and play, pause and next / previous on the lock screen and Control Center.

Fully native, no trackers

Built on Apple frameworks with no third-party libraries — no analytics, no networking code. Files are decoded by Apple's own audio decoders; the DoP output and the PCM/DSD conversions are our own code, since iOS ships no framework for them.

Built-in analysis (optional)

Want to prove the output is bit-perfect? Built-in Test Signals generate reference patterns you capture off the DAC's digital output and analyze on-device for a byte-exact match. It's there if you care to check.

Formats

What it plays.

WAV PCM FLAC lossless ALAC .m4a · lossless AIFF PCM DSF DSD DFF DSD / DST SACD .iso · DSD

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. SACD disc images (.iso) play directly — open one like a folder and play its stereo layer as native DSD. DST-compressed DSD — common on SACD rips — is decoded losslessly. Stereo and mono only — it's built for a two-channel USB DAC, so multichannel files aren't played. ALAC files carry the .m4a extension; a lossy .m4a (AAC) isn't played — Desibel is lossless only.

FormatTested bit depthMax tested rate
WAV24-bit768 kHz
AIFF24-bit768 kHz
FLAC24-bit384 kHz
ALAC24-bit384 kHz
DSD .dsf / .dff1-bitDSD256
SACD .iso1-bitDSD64

Tested at 24-bit (16-bit should work anyway). Uncompressed WAV/AIFF reach the highest rates; FLAC and ALAC are limited by Apple's decoders, and your DAC's lock rate is a further ceiling. Higher rates may work but aren't tested.

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.

Desibel on iPad showing a PCM LOCKED bit-perfect badge
Desibel on iPad showing a DSD LOCKED bit-perfect badge
Desibel on iPhone honestly disclosing a RESAMPLED BY iOS badge
Desibel settings on iPhone — streaming buffers, source-speed test, and DSD output
Desibel settings on iPhone — DAC sample-rate probe, browsing, and on-device analysis

Actual screenshots from iPhone and iPad.

Why I made it

A player that gets out of the way.

I built Desibel 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 minimal, functional app that does one job well — play uncompressed PCM and DSD files exactly as they are, straight to the DAC, with no processing in the way.

I'd also moved from Tidal and Qobuz to Apple Music — and a streamer can play those, but not Apple Music, so that side of my listening runs through an Apple device, with the DAC on the end. To play my own hi-res and DSD files too, the usual fix is to add a network streamer — and now two boxes want the DAC's one USB input, so you swap by hand, or add a USB switch, to choose which one drives it.

Desibel removes the second box. The Apple device I already use plays my own PCM and DSD files bit-perfect over USB to the same DAC — no streamer, no switch, nothing to re-plug. Higher-rate DSD wants USB anyway; it outruns what optical and S/PDIF can carry.

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.

What does it cost?

A 30-day free trial, then a one-time $9.99 purchase — no subscription, no ads, no accounts. Buy it once and it's yours. ($9.99 is the US price; your local App Store price may differ.)

Do I need a USB DAC?

No — Desibel 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 play multichannel / surround files?

No — Desibel plays stereo (2-channel) and mono only. It's built for a two-channel USB DAC, so multichannel files (5.1 surround, quad, multichannel SACD rips) aren't played: tapping one shows a short "mono and stereo only" message instead of half-playing it. Multichannel isn't planned.

Does it play 32-bit float WAV/AIFF files?

No — and that's on purpose. A DAC works in integer PCM, so a floating-point file can't be sent bit-perfect: it would first have to be converted to integer (re-quantized, and anything above 0 dBFS clipped). Rather than do that silently behind a "PCM LOCKED" badge, Desibel refuses a float file with a short message. Export or convert it to integer WAV/AIFF (16, 24, or 32-bit) — or FLAC/ALAC, which are always integer — and it plays untouched. Float is a DAW / mastering working format; the music files you play are almost always already integer.

Does it play DXD files?

Yes. DXD isn't a separate format — it's a name for high-rate PCM, 352.8 kHz at 24-bit (sometimes 32-bit), used as an editing format for DSD/SACD production (at 24-bit it carries exactly three times the data rate of DSD64, in the same 44.1 kHz clock family). On disk a DXD file is an ordinary WAV, FLAC or AIFF, so Desibel plays it bit-perfect through the normal PCM path — no special handling, no conversion — as long as your DAC locks the rate. One caveat: Desibel plays integer PCM only, and some DXD files are 32-bit float — if yours is, see the float question above.

Does it ever change my audio?

Not by default — and never silently. Out of the box Desibel alters nothing: no resampling, volume, EQ or mixing; PCM (WAV/FLAC/ALAC/AIFF) and DSD-over-DoP play untouched. The only changes it can make are the opt-in output-matching conversions — DSD→PCM, PCM or DSD upsampling, and PCM→DSD — and each is off unless you turn it on in Settings and always badged gold when it runs. See the two questions below.

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. Desibel never adds that conversion itself — it discloses it with the RESAMPLED BY iOS badge so you always know.

And if you send audio somewhere other than a USB DAC — Bluetooth, AirPlay or the built-in speaker — that route can't carry bit-perfect audio at all; the NON-USB OUTPUT badge tells you, so it's never mistaken for untouched.

What are the upsampling and PCM→DSD options?

They're optional output-matching conversions, all off by default — a fresh install is bit-perfect and never converts a sample. Some DACs sound their best fed a particular rate or format, so you can opt in to upsample PCM to a higher rate in the same family (up to 352.8 / 384 kHz), modulate 44.1-family PCM to DSD (DSD64–DSD256), or upsample DSD to a higher DSD rate (DSD128 / DSD256). You set them under Settings → PCM and Settings → DSD. The DSD modulation modes are CPU-heavy at the top rates — on a slower device, see whether your device can keep up below.

This is output matching for your DAC, not a fidelity improvement — manufacturing a higher rate can't add detail that wasn't in the file, and every conversion uses an exact integer ratio (no fractional resampling). Whenever one is on, the track is badged gold (PCM UPSAMPLED, PCM→DSD LOCKED or DSD UPSAMPLED) — never a bit-perfect ✓ — so you always know. One honest note on PCM→DSD: 1-bit modulation needs a little headroom, so it plays about 6 dB quieter — a property of the conversion, not a hidden volume stage.

Technically, how does PCM upsampling work?

By whole-number (integer-ratio) interpolation — never a fractional resample. Each tier stays inside the file's own rate family, so the ratio is always a power of two: 44.1 kHz → 352.8 kHz is ×8, 96 kHz → 384 kHz is ×4, and so on. Desibel inserts the new sample slots and runs a polyphase FIR (finite-impulse-response) interpolation filter — a windowed-sinc low-pass by default, or the minimum-phase or apodizing variant you choose under Conversion filter — to reconstruct the band-limited waveform on the denser grid. Output is 24-bit integer; no dither or noise-shaping is applied or needed, because the re-quantization error sits about 144 dB down, far below any real recording's noise floor. Since the ratio is exact and same-family, no new frequencies and no pitch or timing error are introduced — it's the same signal, just carried at a higher rate. A file already at or above the tier's target is passed straight through (green ✓), never downsampled.

Technically, how does Desibel convert DSD to PCM?

DSD is a 1-bit stream at a very high rate (DSD64 is 2.8224 MHz) whose quantization noise is sigma-delta-shaped up out of the audio band. Converting it to PCM — demodulating it — is decimation: a steep low-pass FIR (finite-impulse-response) filter removes that ultrasonic shaped noise, and the stream is downsampled by an exact factor of 32, so DSD64 → 88.2 kHz, DSD128 → 176.4 kHz and DSD256 → 352.8 kHz, at 24-bit integer. The low-pass is the same selectable filter used everywhere else (linear-phase, minimum-phase or apodizing). The ÷32 factor is fixed, but you can cap the result lower with Max PCM rate if your DAC won't lock the natural target. This runs only when you set DSD Output to Decode to PCM; by default DSD plays natively over DoP with no demodulation at all.

Technically, how does Desibel modulate PCM to DSD?

In two stages, and only for 44.1-family PCM so the ratio to the DSD rate is a whole number (44.1 kHz to DSD64 is ×64, to DSD256 is ×256). First the PCM is interpolated up to the DSD sample rate in one fused integer-ratio step. Then a high-order (5th-order) sigma-delta modulator — an error-feedback loop that shapes quantization noise up out of the audio band, the same principle a DSD recorder uses — re-quantizes it to the 1-bit DSD stream, which is packed into DoP for the DAC. The loop runs per channel with independent state; its noise-shaping response is tuned for stability (peak gain held near 1.5×), and because a 1-bit loop can sing idle tones on pure tones, DC or digital silence, the comparator is dithered with a small triangular-PDF (TPDF) noise to break them up. One honest consequence: a 1-bit modulator needs headroom, so the input is attenuated by a fixed 6 dB — a deliberate, disclosed property of the conversion, not a hidden volume stage. Because DSD is a 44.1-based rate, 48-family PCM (48 / 96 / 192 / 384 kHz) has no integer path to it and is never modulated — it upsamples or plays native instead.

Technically, how does DSD upsampling work?

There's no direct way to re-rate a 1-bit stream, so Desibel composes the two conversions above: it demodulates the DSD file down to high-rate PCM (the decimating low-pass), then re-modulates that PCM up to the chosen rate with the same 5th-order sigma-delta modulator, and sends the result over DoP. Most SACD and DST rips are DSD64, so this is what feeds a DSD128- or DSD256-preferring DAC a higher-rate stream. It's two conversions in series — which is exactly why it's badged gold ⟳ DSD UPSAMPLED, never a bit-perfect ✓, and why a file already at or above the target is left as native DSD instead.

Do the DSD conversions need a fast device?

Desibel runs on a wide range of hardware (any iPhone or iPad that can run iOS 17 or newer), and everyday playback is light: bit-perfect PCM and DSD, and PCM upsampling, run comfortably on any supported device. The two CPU-heavy modes are PCM→DSD modulation and DSD upsampling at the higher rates — DSD128 and especially DSD256 — because the 1-bit sigma-delta modulator has to run in real time on every single sample.

On a slower or lower-powered device, those top rates may not keep up. If that happens you may hear a brief dropout, and if it still can't sustain the rate Desibel stops and tells you rather than playing glitchy or noisy audio — it never drops the DoP lock into noise, so you're never left guessing. The fix is simple: pick a lower DSD rate (DSD64 is comfortable on far more devices) or use a lighter mode. Newer, faster devices have ample headroom for DSD256. Since these modes are opt-in and off by default, none of this affects ordinary bit-perfect playback.

What about DST-compressed DSD?

DST is the lossless compression used by many DSD and SACD rips (it roughly halves the file size). Desibel decodes it transparently: a DST-compressed .dff or SACD track plays like any other DSD — native over DoP (bit-perfect) by default, or through the DSD→PCM conversion if you've set DSD to Decode to PCM for your DAC — with nothing extra to switch on for DST itself. Because DST is lossless, native DoP of a decoded DST track is genuinely bit-perfect. The player labels a DST track DSD64 (DST) in its format line, so you can always see when the DSD came from a DST-compressed source. If a DST file ever gives you trouble, please get in touch.

Can it play SACD ISO files?

Yes — Desibel plays tracks straight out of a SACD disc image (.iso), with no extraction needed. Open the .iso in the browser like a folder and its tracks are listed; tap one and it plays the stereo layer bit-perfect as native DSD (DSD64) over DoP, exactly like a .dsf or .dff file — same badge, same gapless playback between tracks. Only SACD images work: a regular audio-CD or data .iso shows no tracks. Multichannel layers aren't played (stereo and mono only), and DST-compressed discs — most SACD rips — are decoded losslessly.

How does Desibel play DSD?

Three modes under Settings → DSD → Output, with Play as DoP the default:

Play as DoP (default) — plays DSD bit-perfect as native 1-bit DSD over DoP. Strict: if your DAC won't lock the carrier rate it stops and tells you rather than convert (resampling a DoP carrier would be noise, not graceful degradation). Decode to PCM — converts DSD to PCM, for a DAC that can't do DoP at all; badged ⟳ DSD→PCM LOCKED. Upsample — re-modulates a lower-rate DSD file up to DSD128 or DSD256 over DoP, for a DAC that prefers a higher rate; badged ⟳ DSD UPSAMPLED.

There's no automatic mode: a DAC's DoP support can't be probed reliably, so the honest default is strict native DoP, and you switch to Decode to PCM yourself if your DAC needs it.

What are the conversion filters?

The Conversion filter (its own section in Settings) sets the interpolation/decimation filter used by any conversion — decoding DSD to PCM, upsampling PCM, or upsampling DSD: 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 rates its pre-ringing sits in the inaudible ultrasonic range. The others are there if you prefer their trade-offs. It takes effect on the next track, and only bites when something is actually being converted — native DSD over DoP and untouched PCM never touch it.

What is the "Max PCM rate" setting?

It only matters when you set the DSD Output mode to Decode to PCM. Desibel decodes DSD to PCM at the file's native rate ÷ 32 — DSD64→88.2, DSD128→176.4, DSD256→352.8 kHz. If your DAC can't lock that rate, iOS resamples the result (the RESAMPLED BY iOS badge) — a second, uncontrolled conversion. Set Max PCM rate to the highest rate your DAC actually locks and the decode is capped there instead, so it lands on a rate the DAC holds and locks cleanly ( DSD→PCM LOCKED) — a single, controlled conversion. Example: a DAC that tops out at 192 kHz locks 176.4 but not 352.8, so set 176.4 kHz and DSD256 decodes to 176.4 and locks, instead of decoding to 352.8 and being resampled.

The default is No limit (decode at DSD÷32), which is right for DACs that lock the high rates. If you don't know your DAC's ceiling, the rate probe (Settings → Probe output sample rates) shows exactly which rates lock. It's a one-time manual setting on purpose — deliberately simpler than having the app auto-detect and track every DAC.

Is there a volume control?

No, by design — a software volume would alter the samples. Desibel 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; Desibel browses them live, with no library to build. This is deliberate: Desibel contains no networking code and keeps no credentials — you set up the connection once in Files, and the app just reads through it.

Why don't I see all my files in the browser?

By design the browser stays focused. By default it lists your playable music plus the cover art and booklets that live in the folder — images and PDFs — and hides everything else, so stray files don't clutter it. Two toggles under Settings → Browsing change what shows:

Show only supported files (on by default) — turn it off and the files Desibel can't play are listed too, greyed out and non-playable, so you can still see what's in a folder. Show artwork & documents (on by default) — turn it off to hide the images and PDFs as well. So a file you have but can't play — a lossy .m4a (AAC), say, or some other unsupported format — only appears with the first toggle off.

What are the buffer settings?

Network and cloud files are read ahead into a buffer so playback rides out brief stalls. Two settings under Settings → Streaming control it. Streaming buffer is how far ahead a track is buffered while it plays — the cushion against network hiccups. Start pre-buffer is how much is filled before a track starts playing: a lower value (the default is 0.4 seconds) starts almost instantly and stays responsive, while a higher one waits a little longer before the first sound but rides out a slow first read from a cold or distant source. Local files start instantly either way.

Not sure what to choose? Settings → Source speed has a Test source speed button that reads a file from each source and reports its throughput and first-byte latency, then suggests a streaming buffer and start pre-buffer to match — a fast local NAS suggests the smallest values, a slower or more distant source larger ones. It's only a suggestion; you set the final values yourself.

What does the status badge tell me?

The truth about each track, read on two simple axes. The label names the locked state: PCM LOCKED or DSD LOCKED when the DAC is locked to the file's native rate; one of the gold conversion labels when an opt-in conversion is on — DSD→PCM LOCKED, PCM UPSAMPLED, PCM→DSD LOCKED or DSD UPSAMPLED; RESAMPLED BY iOS ( — iOS had to resample; it still plays, you're just told); or NON-USB OUTPUT ( — you're not on a USB DAC, so the output can't be bit-perfect at all: Bluetooth, AirPlay or the built-in speaker). The symbol is whether anything left the clean bit-perfect path: (green) means untouched, (gold) means a disclosed conversion you turned on, and (red) means the audio left that path — iOS resampled the rate, or you're on a route that can't be bit-perfect. A detail line under the badge traces the file to your DAC (for example DSD64 → PCM 88.2 kHz), so you're 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, Desibel includes built-in Test Signals: play a reference signal, record it off the DAC on a computer, then bring the recording back and check it on-device under Settings → Analyze a recording. See the next question for which signal to use.

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

Desibel generates reference signals on the fly (a built-in source in the picker). They're grouped the same way as in the app:

Demo — just checking the chain works. Tape click PCM and Tape click DSD are soft, warm ticks generated live at any rate (PCM from 44.1 kHz up, or DSD64–DSD256). Play one to hear that playback works and watch the status badge as the rate locks (or falls back). Not a bit-perfect check; nothing to capture.

Measurement — speaker/room calibration. Pink noise is a signal you play back and measure acoustically with a mic or SPL meter. It isn't a bit-perfect check and doesn't go through the analyzer.

Analysis — bit-exact. Record the DAC's digital input — an S/PDIF tap clock-locked to the incoming stream, or the USB link with a protocol analyzer (as in the screenshots above). Use PRNG sequence or Walking-bit for a true sample-for-sample byte compare — the proof that every bit arrived intact. (Recording the DAC's analog output can't prove bit-perfectness — the conversion's own gain and noise floor make an exact comparison impossible — so Desibel doesn't pretend to; it verifies the digital output, which is the part it's responsible for.)

For these signals, capture the output and check it under Settings → Analyze a recording. Each carries a self-describing header with a random per-run ID, so the app identifies it straight from the recording (nothing to note down) and a match can't be a coincidence. For the bit-exact pair (PRNG sequence and Walking-bit), set your recorder to lock its clock to the incoming stream — otherwise the two clocks drift and the sample-for-sample compare won't line up. These verify the native PCM path, so they won't play while PCM upsampling or PCM→DSD conversion is switched on — turn those off in Settings to run them.

The app is tiny — where do all these test signals come from?

They're generated on the fly. Nothing is bundled or stored: every signal is computed by code the moment you play it — sample by sample, at whatever rate you pick — so they add almost nothing to the app's size and each one exists at every supported rate. The Tape click DSD goes a step further and is modulated into a true 1-bit DSD stream live as it plays.

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.

Support

Need a hand?

Questions, bug reports or feedback — email me directly and I'll get back to you.

support@desibel.ch