Hi-res audio player for Mac
A hi-res audio player for Mac that shows you what it did to the signal.
Vespertine is a free, open-source Mac music player for your own hi-res files. It plays each track at its native rate and depth, and its signal path lists every step from the file to your DAC, read back from Core Audio, so you can see whether playback was bit-perfect instead of taking it on faith.
Sample rates
What hi-res playback takes on a Mac
Hi-res playback on a Mac starts with the output rate. Apple’s own advice, in Play high sample rate audio on your Mac, is to choose the output rate by hand in Audio MIDI Setup and match it to the sample rate of your source material.
Vespertine does that for you: it switches the DAC to each track’s native rate. If the DAC can’t run that rate, Apple’s mastering-quality resampler converts it, and the signal path says so. Per-device settings can match the source, use the device’s maximum rate, or force a rate, and when Vespertine quits each device goes back to its earlier rate and depth.
PCM playback has been tested up to 768 kHz and DSD256 on a Fosi Audio ZD3, and up to 384 kHz and DSD128 on a FiiO K11 (developer reports; see docs/DEVICES.md). That is the hardware that has been tried; other DACs are untested, and DAC reports are welcome.
Formats
What it plays: FLAC, ALAC, DSD, SACD images and more
Vespertine plays music you own, on local drives and on SMB, NFS or WebDAV shares. It does not stream from Qobuz, TIDAL or Apple Music, and it can’t play DRM-protected files. The rows below are from the formats table on the home page.
| FLAC, ALAC, WAV, AIFF | Native rate and depth up to 32-bit and the rate your DAC runs (tested to 768 kHz); unchanged 32-bit PCM needs integer mode. CUE-sheet images..flac .m4a .wav .aiff .cue |
|---|---|
| DSD64 – DSD512 | DSF and DSDIFF, DST-compressed or plain. DoP depends on the DAC and carrier rate, otherwise PCM. DoP is tested to DSD256; DSD512 over DoP is untested on hardware..dsf .dff |
| SACD images | Stereo and multichannel areas, DST or plain, straight from the image; each song listed once with its stereo and 5.1 versions..iso |
| DVD-Video LPCM | 16, 20 and 24-bit at 48 and 96 kHz, 1 to 8 channels, bit for bit; one album per title, a track per chapter. DVD-Audio isn’t supported..iso VIDEO_TS |
| APE, WavPack, TTA | Lossless. DSD inside WavPack isn’t supported..ape .wv .tta |
Dolby TrueHD, DTS-HD Master Audio and Dolby Atmos files play too; the full list has them.
Bit-perfect
How to check that it’s bit-perfect
The signal path lists decoding, device rate and physical format, gain, resampling and channel processing. BIT-PERFECT appears only when the rate is native, no processing changes the samples, the word length fits, and the device is exclusive or no other app is detected playing to it. The conditions are in the code, so you can read exactly what the badge means.
The badge has limits, and Vespertine says so. Shared-mode checks poll about once a second, so short sounds and activity Core Audio doesn’t report can escape detection. Processing inside a DAC or headphones is outside what macOS reports. A signal-path badge is not an independent digital loopback measurement.
For the software path there is a built-in loopback test (Settings › Playback, or Controls › Loopback Test…). It plays a test signal through a virtual loopback device and checks that every sample comes back unchanged, from 44.1 to 384 kHz at 16, 24 and 32 bits, including gapless joins. It checks the decoder, the engine and Core Audio, not a DAC, so it never changes the BIT-PERFECT badge. The verification guide shows how to check your own hardware.

Built-in speakers and the headphone jack use shared mode, and speakers and virtual or aggregate devices are never labelled BIT-PERFECT.
File analysis
Is that “hi-res” file really hi-res?
Vespertine can analyze each file for its real bit depth, its real bandwidth and the fingerprints of lossy encoders and resamplers. Zero-padded bit depth is detected exactly. Possible upsampling, lossy origin and synthetic high frequencies are spectral estimates, shown as questions with the measurements and alternative explanations beside them.
It can be wrong in both directions: steep mastering filters, FM sources and tape or vinyl transfers can look suspicious, and some high-bitrate lossy sources pass undetected. How the analysis works and where it misses.
Download
Install
Free and open source (GNU General Public License, version 3 or later). No account, subscription, ads or telemetry. It needs macOS 14.4 (Sonoma) or later, on Apple silicon or Intel; Intel hardware is untested.
Vespertine 0.15.1, 4 November 2026, 28 MB. Signed with a Developer ID and notarized by Apple; it updates itself, and every update is signed.
Download for MacOr with Homebrew: brew install --cask szeremeta1/tap/vespertine
FAQ
Questions about hi-res playback on a Mac
Does Vespertine change my DAC’s sample rate?
Yes, it switches the DAC to each track’s native rate. If the DAC can’t run the source rate, Apple’s mastering-quality resampler converts it, and the signal path shows the conversion. When Vespertine quits, each device is restored to its earlier rate and depth, or the default you chose.
Does the BIT-PERFECT badge prove playback was bit-perfect?
It shows the conditions Vespertine can see are met: native rate, no sample-changing processing, a word length that fits, and an exclusive device or no other app detected. It is not an independent loopback measurement, and anything inside the DAC or headphones is outside what macOS reports. The built-in loopback test checks the software path sample by sample.
Can it play 32-bit files unchanged?
With integer mode. That needs exclusive access and a DAC with a non-mixable 32-bit integer format; it then sends unprocessed PCM as integers, including 32-bit recordings. The normal Float32 path preserves up to 24 significant bits.
Does DSD play as DSD or as PCM?
DSF and DSDIFF files decode from DSD64 to DSD512. On a DAC marked DoP-capable, DSD is packed into DoP frames when the DAC supports the carrier rate; otherwise it becomes high-rate PCM, with the conversion shown in the signal path. DoP is reported to work up to DSD256 on a Fosi Audio ZD3 and up to DSD128 on a FiiO K11 (developer reports, no capture); DSD512 over DoP has not been tested on hardware.
Can it tell me if a hi-res file is an upsampled CD rip?
It can flag it. Analysis shows zero-padded bit depth exactly, and possible upsampling or lossy origin as estimates with the measurements behind them. They are estimates, not verdicts: some genuine files look suspicious, and some high-bitrate lossy sources pass undetected.
Can I get bit-perfect playback from the Mac’s speakers or headphone jack?
Not labelled as such. The built-in speakers and headphone jack use shared mode, and speakers and virtual or aggregate devices are not labelled BIT-PERFECT. The badge looks for a native rate, unprocessed samples and exclusive access to the device, which is what an external DAC can give it.
Page last updated 3 November 2026. Everything here follows the project’s feature guide, verification guide and analysis notes. Found a mistake? Tell us on GitHub.