Technical Press Kit — Confidential Beta

VeraVox

The signal, untouched.

VeraVox is a bit-perfect audio player for macOS. It delivers every sample of your audio files directly to your DAC, with no DSP, no mixer, and no software volume in the player path. PCM up to 32-bit/768 kHz and DSD up to DSD512 via DoP — on capable DACs — through a native CoreAudio IOProc running under exclusive Hog Mode. Everything downstream of the DAC is delegated to the chain you’ve built.

v1.0Version
macOS 14+Requirement
TBAPrice
30 daysFull-Feature Trial
DirectDistribution
32-bitMax Bit Depth
768 kHzMax Sample Rate
DSD512via DoP
Hog ModeExclusive HW
DSP in Player Path
3-LevelGapless
SIG GENMeasurement Engine
Coverage

First independent coverage.

Chris Connaker (founder and editor of Audiophile Style) covered the VeraVox beta in the "Bits and Bytes" section on 3 June 2026.

Audiophile Style

“The simplicity enabled my brain to think about only the music. And, the sound was fantastic.”

Chris Connaker


VeraVox Music Player – A Budding Rose Among Thorns

Read article on Audiophile Style
At a Glance

Everything you need to know, in one place.

VeraVox does one thing: it gets audio from a file to a DAC without touching it. No sample rate conversion, no mixing bus, no software volume, no floating-point intermediate representation in the player path. What the recording engineer encoded is what the DAC receives, sample for sample, bit for bit. Everything downstream — the DAC’s own filters, its volume control if it has one, the preamp, the room — is delegated to the equipment designed for it.

Hog Mode
Exclusive Hardware Access
VeraVox acquires kAudioDevicePropertyHogMode before playback, locking every other application out of the output device. No other process — including the macOS system mixer — can touch the hardware while VeraVox holds the lock.
IOProc
Direct CoreAudio I/O Callback
Audio is delivered via a registered AudioDeviceIOProc at real-time priority, protected by a single os_unfair_lock — the lowest-latency primitive on Darwin. Zero ARC traffic, zero dynamic allocation in the hot path.
DoP
Native DSD via DoP — up to DSD512
DSD data is packed into DoP 32-bit words using a 16-bit lookup table with alternating 0x05/0xFA markers and mute ramps at track boundaries. No DSD-to-PCM conversion on the bit-perfect path.
Gapless
Sample-Accurate 3-Level Gapless
Track boundaries are crossed inside a single IOProc callback. No click, no restart, no gap. The IOProc reads continuously through the boundary — the DAC's relay never fires between tracks of identical format.
FFT
Offline Audio Forensics
Adaptive-window FFT analysis (up to 65,536 points, Blackman-Harris windowing) detects fake hi-res, true bandwidth, effective bit depth, noise floor, and DC offset — per file, without playback. Green / amber / red score card.
Metal
GPU-Rendered Vectorscope at 60 fps
Real-time Lissajous XY display on GPU with additive blending and phosphor decay simulation. DSD streams are FIR-decimated before plotting — not PCM-converted. Triple-buffered vertex upload, no allocations in the render loop.
RTA
Real-Time Spectrum Analyzer
4096-point FFT at 30 fps with Blackman-Harris window, logarithmic frequency axis, IEC 61672 A/C weighting, peak hold, interactive cursor, and DSD support via FIR decimation. Line and gradient-fill display modes.
STFT
Time × Frequency Spectrogram
Two-axis forensic visualization. FILE mode runs an offline 8192-point Hann STFT with 75% overlap over the entire track, with click-to-seek and a playhead overlay. LIVE mode taps the shared Spectrum Analyzer pipeline for a scrolling real-time view. Three perceptual colormaps (Viridis / Inferno / Grayscale), three dB floors. Identifies lossy artifacts, fake hi-res, and DSD noise-shaping behaviour.
SACD
SACD ISO & DST Support
Full Scarlet Book parser for SACD ISO images. Per-track DSD data extracted sector by sector. DST-compressed frames decoded via streaming pipeline with cancellation. Metadata from Area TOC and Master TOC.
No DSP in the Player Path
No sample rate conversion, no software volume, no signal processing in the bit-perfect path. Attenuation, EQ, room correction, and upsampling are delegated downstream — to the DAC, preamp, or processor designed for them.
ø
Polarity Inversion
Bit-perfect absolute polarity reversal: two's complement negation on PCM, marker-preserving bit flip on DSD. Exact algebraic operation — no dithering, no rounding, no dynamic range change.
🌡
DAC Warm-Up
Streams DoP-encoded silence before the first track, stabilising oscillators and output stage temperature in exclusive mode. Configurable 1–10 seconds. Designed for tube-output and R-2R ladder DACs.
Metadata Viewer
Full tag reader for FLAC, ALAC, WAV, AIFF, WavPack, DSF, DFF, SACD ISO, MP3, AAC, and CUE sheets. Title, artist, album, year, genre, track/disc, composer, cover art at native resolution. Read-only — audio files are never modified.
Mini Player & Output Selection
Floating always-on-top window with transport controls for desktop use. Output device selector enumerates all CoreAudio devices with Exclusive Ready / Shared Output / Lossy classification. Auto-refreshes on USB connect/disconnect.
SIG GEN
Signal Generator & Measurement Engine
Six test patterns (sine, beat, Lissajous, noise, impulse, reference) routed through the bit-perfect pipeline. Dual-channel analyser with level, frequency, phase, bit-perfect verification, and IEC 61672 A/C weighting. Latency calibration via cross-correlation.
NAS
NAS & Network Storage
Full support for SMB, AFP, NFS shares and external drives. Volume health monitoring with automatic reconnection on wake. Adaptive preload buffering based on measured I/O latency (10s local, 20s fast network, 30s slow network). Non-blocking startup — the UI never freezes on unreachable volumes.
PWA
Web Remote
Built-in HTTP server serves a Progressive Web App — control VeraVox from any device on the local network. Full transport, playlist, library browsing, artwork, and device selection. PIN-secured, WebSocket real-time updates, Bonjour discovery. No internet, no app install required.
UPnP
UPnP / DLNA Streaming
Stream to network renderers — hi-fi streamers, AV receivers, software players. The file is served directly via HTTP; the renderer decodes it. Inherently bit-perfect. SSDP auto-discovery, AVTransport SOAP control, gapless via SetNextAVTransportURI, native DSD streaming for capable devices.
Design Philosophy

Your DAC is the processor that matters.

macOS CoreAudio is an excellent audio subsystem for general computing. In its default configuration, every stream passes through a shared mixing bus that applies sample rate conversion, 32-bit floating-point intermediate representation, and software volume scaling. These are deliberate design choices for a multi-application operating system. For bit-perfect playback, they are inappropriate.

VeraVox treats the macOS audio stack not as a service to consume, but as a set of primitives to bypass. Hog Mode, non-mixable physical formats, direct IOProc registration, os_unfair_lock: these are CoreAudio's low-level mechanisms, designed precisely for applications that need exclusive, latency-critical hardware access. VeraVox uses all of them.

Player Path vs. Downstream

VeraVox's "no DSP, no mixer, no software volume" applies to the player path — everything between the source file and the DAC's USB receiver. It does not, and could not, make any claim about the chain that follows.

Many high-end DACs (Chord, dCS, MSB, T+A) implement digital volume with high-order noise-shaping at the device's internal oversampled rate — an entirely different operation from applying a gain coefficient in the player. Rob Watts of Chord Electronics has argued explicitly that this is preferable to analog attenuation in many setups. VeraVox does not interfere with that design; it delivers the source untouched and lets the DAC do its job.

The same applies to upsampling, EQ, room correction, and crossover filtering. If a downstream component (DAC, processor, room correction unit, integrated amplifier) is designed to perform one of those operations, VeraVox stays out of its way. The player’s job is to feed the chain accurately, not to second-guess the equipment that follows.

Software Processing on the Same Mac

Some chains add room correction, convolution, or custom filtering in software on the same Mac, in addition to whatever the downstream hardware already performs. VeraVox does not perform any of that, by design: that step in the chain belongs to the user. The routing pattern is identical to the hardware case. Send VeraVox’s output to a virtual audio device that the processing software expects, and VeraVox delivers bit-perfect samples to that handoff point, provided the virtual device exposes the file’s native sample rate and bit depth and no other audio middleware is active in the CoreAudio graph. The processing stage receives a clean signal and operates as if VeraVox were a hardware source.

Note that most popular Mac virtual audio drivers expose their formats as mixable, not non-mixable. On those devices VeraVox uses the channel-transparent AVAudioEngine path described in the Playback Engine section, not the Hog Mode IOProc reserved for non-mixable formats. The result at the handoff point is the same, bit-for-bit, and the Signal Path indicator reports the actual path used for full transparency. The Bit-Perfect Test, built into VeraVox, is the empirical instrument that verifies the chain end-to-end, including the virtual-device handoff. What happens beyond that point is the chain’s authorship, not VeraVox’s.

Volume is delegated downstream — to the DAC, preamp, or integrated amplifier — where the operation can be performed with full knowledge of the analog stage and its dynamic range.

Distribution Outside the Mac App Store

VeraVox is distributed outside the Mac App Store. App Store sandboxing does not grant the entitlements VeraVox's bit-perfect path requires: Hog Mode acquisition, non-mixable physical format negotiation, and direct CoreAudio property writes are not part of any publicly available sandbox capability. Distributing outside the Mac App Store is therefore a technical prerequisite for VeraVox's design, not a stylistic choice.

Standard macOS CoreAudio
File
SRC
resampled
Mixer
float32
Vol
software
DAC
VeraVox — Hog Mode, Bit-Perfect Player Path
File
native
Decoder
ExtAudioFile / DoP
Ring Buf
os_unfair_lock
IOProc
RT priority
DAC
exclusive
DSP operations
Float conversion none
Sync primitive os_unfair_lock
Mixer stages 0
Volume scaling none
Playback Engine

Two paths. One principle.

VeraVox implements three distinct local playback paths plus a network path. The bit-perfect IOProc path is primary: Hog Mode, non-mixable physical format, direct CoreAudio IOProc — used on DACs that expose a matching non-mixable Physical format (stereo or multichannel). The channel-transparent AVAudioEngine path activates for multichannel files on virtual and aggregate devices (BlackHole 16ch, Loopback, Aggregate Device) that accept N channels without exposing a non-mixable format: VeraVox routes every channel end-to-end via AVAudioEngine at AVAudioMixerNode unity gain — no downmix, no DSP. The shared-output AVAudioEngine path handles all other cases (stereo on system-mixer devices, L/R-extracted multichannel on stereo DACs without non-mixable formats, AirPlay) with an AVAudioSourceNode. The network path serves files unmodified via HTTP to UPnP/DLNA renderers. The active path is always made explicit via the Signal Path indicator: there is no silent degradation.

For multichannel routing, VeraVox provides an in-app Speaker Layout editor (⌘⌥K): the user declares, per output device, which physical output slot carries which Atmos role (L, R, C, LFE, side and rear surrounds, four heights), with presets up to 7.1.4 (12 channels). The mapping is applied via kAudioConverterChannelMap on the underlying audio converter for PCM, and as a post-pack permutation of UInt32 DoP words for DSD via DoP (DSF, DFF, SACD ISO, WavPack DSD) — pure index permutation in both cases, zero sample arithmetic, fully compatible with bit-perfect-faithful playback. The same routing intent therefore governs every path the file can travel, PCM or DSD. Source channels are interpreted by channel count alone (no dwChannelMask parsing); the convention follows the standard JRiver / Atmos mapping (5.1 → rear surrounds, 7.1 → side + rear, 5.1.4 → 5.1 + four heights, 7.1.4 → full Atmos bed). The macOS Audio MIDI Setup speaker configuration is metadata read by other apps and is never consulted by VeraVox. Devices without an explicit layout receive a canonical auto-default for standard channel counts or identity routing as fallback.

The editor exposes a live 3D speaker map built on SceneKit — central listener (cylinder + sphere), one cabinet per routed slot placed by its ITU-R BS.775-3 (floor) or SMPTE ST 2098-2 (heights) position, dedicated LFE cabinet, unused slots clustered behind the listener — with three camera presets (perspective / front / top-down planimetric) animated over 0.4 s on switch via SCNTransaction. Materials follow the active tool theme (phosphor green emissive in analog, teal in tech). Each channel row in the editor also includes a per-channel test tone (1 kHz sine, −20 dBFS, 600 ms, raised-cosine fade-in/out) for verifying the physical wiring of every output slot, in the spirit of macOS Audio MIDI Setup's Prova button. The test tone runs on its own internal AVAudioEngine and never touches the main playback engine.

Bit-Perfect PCM Path

PCM files are decoded via ExtAudioFile on a background DispatchQueue in 64 KB chunks, written into a bounded ring buffer, and consumed by the IOProc. No full-file pre-load. The ring buffer is protected by a single os_unfair_lock — no kernel transition on the uncontended path.

Format selection operates in two stages. Formats are filtered into priority tiers, then within each tier a score determines the preferred bit depth. Scores incorporate both mixability (primary factor: non-mixable 700–1000, mixable 0–300) and bit depth (secondary). 16-bit and 24-bit sources prefer the smallest container that carries the full signal without waste (24-bit aligned-high non-mixable scores 1000). 32-bit sources and Max Bit Depth mode prefer the largest available container (32-bit non-mixable scores 1000).

Format Priority Tiers

TierFormat TypeBit-Perfect?
1 — BestNon-mixable, signed integer, matching bit depthYes
2Non-mixable, floating-pointYes (limited)
3Mixable, signed integer — system mixer activeNo
4Any format at target sample rateNo
5 — Last resortClosest available sample rateNo

Hog Mode Management

Hog Mode is acquired immediately before playback and released after stop, restoring the device's original physical format and sample rate. VeraVox monitors kAudioDevicePropertyDeviceIsAlive: if the DAC is disconnected during playback, it stops gracefully within one callback interval — no crash, no hang. On initial acquisition, some DACs produce a brief relay click as the device transitions to exclusive mode. This occurs only once per session, never between gapless tracks of identical format.

Memory Architecture

PCM decode reads in 64 KB chunks into a bounded ring buffer of fixed size, regardless of file length. DSD ring buffer: 8 seconds at DSD64/128, 4 seconds at DSD256+ to limit peak memory. Both PCM and DSD use a single-buffer gapless architecture: the next track's data is written contiguously into the same ring buffer, with no second buffer allocation required.

Sleep Prevention

During active playback, VeraVox asserts kIOPMAssertPreventUserIdleSystemSleep via IOKit to prevent macOS from sleeping. The assertion is released immediately on stop, pause, or error.

DSD & DoP

DSD delivered as it was recorded.

DSD playback on macOS requires DoP — DSD over PCM — a standard that packs two DSD bytes per channel into a 24-bit PCM sample word with alternating 0x05/0xFA markers in the most significant byte. A DoP-capable DAC recognises the markers and routes the payload to its DSD decoder rather than its PCM converter. From CoreAudio's perspective, it is a PCM stream at DSD_rate/16.

DoP Packer Implementation

The entire DoP packing pipeline is implemented in native Swift, with no third-party libraries. The critical path uses a 16-bit lookup table instead of the more common 8-bit LUT — combining two input bytes into a single array lookup, halving memory accesses per stereo frame and eliminating per-sample shift operations that dominate at high DSD rates.

DSF files store DSD bits LSB-first; DoP expects MSB-first. Bit-reversal is applied inside the LUT itself — not as a separate pass. DFF files use a separate lutDFF16 table without the reversal step, avoiding a runtime conditional in the inner loop. Marker alternation survives across chunk boundaries via a global frame index.

DSD Rate Support

FormatDSD Sample RateDoP PCM CarrierStereo Buffer
DSD642.8224 MHz176.4 kHz~11 MB at 8 s
DSD1285.6448 MHz352.8 kHz~22 MB at 8 s
DSD25611.2896 MHz705.6 kHz~22 MB at 4 s
DSD51222.5792 MHz1411.2 kHz~45 MB at 4 s
Higher DSD rates via DoP require a DAC capable of accepting the corresponding PCM carrier. DSD256 needs 705.6 kHz; DSD512 needs 1411.2 kHz. Many USB DACs cap at 705.6 kHz or lower — check your device’s spec sheet before assuming DSD512 support. The DAC Diagnostic panel reports the maximum non-mixable carrier your device exposes.

Streaming Architecture & SACD ISO

DSF and DFF files are read via streaming FileHandle in 128 KB chunks — only the file header (~512 bytes) is loaded at startup. No full-file copy in RAM; memory usage is bounded to the ring buffer regardless of file length. SACD ISO images are parsed using a native Scarlet Book parser: the Master TOC at sector 510 locates both the stereo and multi-channel areas, and per-track DSD data is extracted sector by sector. DST-compressed tracks are decoded via a streaming pipeline with a C-language decoder bridge and a cancellation token for stopping mid-decode without blocking.

Gapless Playback

Three levels. One IOProc callback.

True gapless requires that the IOProc never stops running between consecutive tracks of identical format. Many players insert a brief silence by stopping and restarting the device — at the DAC level, this fires the relay. VeraVox does not do this.

A format change between consecutive tracks requires tearing down and restarting the IOProc, which causes the DAC's relay to fire. This is a hardware constraint, not a software limitation. VeraVox makes this visible rather than concealing it.
Fallback Paths

Transparent degradation, never silent failure.

VeraVox operates on two hardware realities: DACs that support non-mixable integer formats and those that do not. When the selected device cannot provide exclusive integer mode, VeraVox falls back gracefully — but always makes the fallback visible with a status banner. There is no silent degradation.

PCM Shared Output Fallback

When the device does not support non-mixable integer mode — built-in speakers, Bluetooth, or a DAC that only exposes mixable formats — VeraVox uses AVAudioEngine. The player node connects directly to the output node, skipping the main mixer node to prevent resampling artefacts at non-standard rates. VeraVox still sets kAudioDevicePropertyNominalSampleRate to notify other listeners, but a "Shared output — not bit-perfect" banner is displayed in the player UI.

Setting macOS system volume to 100% does not bypass the system mixer — it applies unity-gain coefficient in the CoreAudio mixing stage operating in 32-bit float. Even at unity gain, the mixer may resample if the device rate differs from the file's native rate. Hog Mode eliminates the mixer entirely.

DSD→PCM Fallback

When the DAC does not support DoP at the required carrier rate, VeraVox falls back to a sinc-Kaiser FIR decimation pipeline. DSD data is decimated using pre-computed byte lookup tables with overlap-save buffering for continuity across chunk boundaries. If the DAC supports non-mixable PCM formats, the decimated Int32 signal is output via exclusive mode (hog mode + IOProc), bypassing the system mixer entirely (Enhanced path, yellow LED). Otherwise, the Float32 output is delivered via AVAudioEngine (shared output, green "High Quality" LED). The Signal Path popover shows the full chain including the DSD→PCM Conversion step.

Signal Path Indicator

During playback, a colored LED dot on the format badge shows playback quality at a glance: green (bit-perfect — IOProc + hog, native signal unmodified to the DAC), yellow (Enhanced — DSD converted to high-res PCM via exclusive mode), blue (Network Bit-Perfect — file streamed unmodified to a UPnP renderer), light blue (Channel-Transparent — multichannel file routed end-to-end through a virtual or aggregate device at unity gain, no downmix, no channel remapping), or green (High Quality — shared-output path for stereo or L/R-extracted multichannel). Click the badge to open a popover with the full processing chain — source, decode, sample rate conversion, lossy codec, output mode, and destination device. A purple "DAC Warm-Up" indicator appears below the badge when the warm-up sequence is active.

Library, Playlist & Interface

Three columns. Every library, fully browsable.

VeraVox's interface is divided into up to three resizable columns: Library (optional), Playlist (optional), and Player. All column boundaries are draggable. The layout resets to a clean state at any time via ⌘⌃0.

Music Library

The Library provides a browsable view of the music collection (by Home, Album, Artist, Genre, Composer, Folder, Smart Playlist, or Track) and acts as a source from which tracks are added to the queue. The Home tab is the default landing page, featuring horizontal carousels of Recently Added, Recently Played, and Most Played albums. The database is built from folder scans, stored locally with concurrent reads for responsiveness during scanning, and survives restarts. Watched folders are monitored via FSEvents: changes trigger an incremental rescan within seconds.

Playlist

The Playlist panel shows the active playback queue. Tracks play in order top to bottom. Double-clicking a track starts playback immediately. Shuffle randomises the queue order; Repeat cycles through Off → Repeat One → Repeat All, with dot indicators in the transport.

Mini Player

A compact floating window (⤓ in the toolbar) that stays always on top, providing Previous, Play/Pause, Next, track title, and a format badge. Shares AudioPlayer state with the main window — actions in either are immediately reflected in the other. Does not display Hog Mode status or stream diagnostics; those remain in the main window and the Stream Inspector.

Output Device Selection & Classification

VeraVox enumerates all CoreAudio output devices and classifies each by capability. The selector auto-refreshes on USB/Thunderbolt connect/disconnect. The selected device UID is persisted across launches.

🟢
Exclusive Ready
Exposes at least one non-mixable integer physical format. Full bit-perfect PCM and DSD/DoP possible. Hog Mode can be acquired.
🔵
Shared Output
Built-in transport type, AirPlay (ALAC lossless, max 16-bit / 44.1 kHz), or only mixable formats. Audio passes through the CoreAudio system mixer. Not bit-perfect.
Lossy
Bluetooth A2DP. Audio undergoes lossy codec compression (SBC/AAC/aptX). Cannot be used for high-fidelity playback.
The device selector is disabled during active Hog Mode playback. Changing the output device requires releasing Hog Mode and tearing down the IOProc. Stop playback before switching devices.
Audio Forensics

What does your file actually contain?

A file labelled "24-bit / 96 kHz FLAC" carries no guarantee that it contains 24-bit audio bandwidth to 48 kHz. Upsampled content — material mastered at lower resolution and converted to a higher container format — is widespread in commercial libraries. VeraVox includes an offline forensic analysis engine to answer the question no metadata tag can: what does this file actually contain?

FFT Engine — Dynamic Resolution

The analyser uses Apple's Accelerate framework (vDSP). FFT window size is selected dynamically based on sample rate, maintaining approximately constant frequency resolution of 10–12 Hz/bin. The Blackman-Harris window function (−92 dB first sidelobe) provides the spectral isolation needed to detect an anti-aliasing brickwall filter — the diagnostic signature of upsampled content — against the noise floor.

Sample RateFFT Size (N)Freq ResolutionBins in 2–16 kHz band
≤ 48 kHz4,096~10.8–11.7 Hz/bin~1,250
≤ 96 kHz8,192~5.9–11.7 Hz/bin~2,400
≤ 192 kHz16,384~5.9–11.7 Hz/bin~4,600
≤ 384 kHz32,768~5.9–11.7 Hz/bin~8,700
> 384 kHz65,536~5.9–11.7 Hz/bin~17,000

Metrics Computed

MetricMethodInterpretation
Detected BandwidthBrickwall detection or natural rolloff pointEffective upper frequency limit. Well below Nyquist = likely upsampled.
Effective Bit DepthNoise floor in 2–16 kHz band, 6.02 dB/bit rule16-bit content in a 24-bit container shows noise floor at −96 dBFS, not −144 dBFS.
Noise FloorAverage spectrum in diagnostic bandLower = higher true dynamic range. Useful for detecting lossy-to-lossless conversions.
DC OffsetMean sample value across the fileNon-zero indicates a recording or conversion artefact. Reported in amplitude and dBFS.
Bandwidth TypeRolloff shape analysisBrickwall (upsampling artifact), natural rolloff (normal recording), or unrestricted.

Results are presented in a colour-coded score card: green for metrics consistent with the container's claims, amber for values lower than expected but inconclusive, red for clear inconsistencies.

DSD files are excluded from FFT-based analysis by design. Sigma-delta noise shaping intentionally elevates the noise floor in the ultrasonic region — applying PCM-derived bit-depth heuristics to a 1-bit PDM stream produces meaningless results.

Dynamic Range — Crest Factor DR & EBU R128 LRA

For every Library track VeraVox can compute, strictly on user request, two industry-standard measures of dynamic range. The values live in the local Library database only and are never written back to the source files. Four entry points: right-click a single track, right-click an album (multi-selection aware), right-click a Music Folder, or run a library-wide pass from the Tools menu. While analysis is in flight, affected rows and album cards render a spinner in place of the badge; when the run ends, VeraVox returns to silence. No background loop, no automatic scanning.

MetricStandardAlgorithm
Crest Factor DRPleasurize Music Foundation TT DR Offline Meter3 s RMS windows with 50 % overlap, mono-summed signal, +3 dB sine correction. Top 20 % of windows, second-highest RMS vs second-highest peak. Reported as a single integer in dB (“DR12”, “DR8”).
R128 LRAEBU Tech 3342 (Loudness Range)ITU-R BS.1770-4 K-weighted pipeline. 3 s short-term loudness blocks at 100 ms hop, absolute gate at −70 LUFS, relative gate at −20 LU below the abs-gated mean. LRA = p95 − p10 of the surviving blocks, in Loudness Units.
LUFS-I (integrated)ITU-R BS.1770-4Same K-weighted pipeline, 400 ms momentary blocks with 75 % overlap, cascaded gating (−70 LUFS absolute, −10 LU relative). Persisted alongside DR and LRA and surfaced in the Track Info panel.
Sample PeakFile peak in dBFSLargest absolute sample value, reported in dBFS. True Peak (BS.1770-4 Annex 2, 4× polyphase oversampling) not yet measured.

Multichannel material is handled per the respective standard: Crest Factor DR runs on a mono-summed signal (the Pleasurize convention), R128 LRA applies the full BS.1770 channel weighting (L, R, C, height = 1.0; LFE = 0; surrounds = √2). The K-weighting filter is computed via the RBJ Audio EQ Cookbook bilinear transform; the deviation from the canonical BS.1770-4 digital coefficients tabulated at 48 kHz is under 0.5 dB on broadband material and is documented in the in-app Help.

DSD sources (DSF, DFF) are analysed via the same sinc-Kaiser FIR decimation used by the Library waveform scanner. Results are flagged with a trailing asterisk (“DR12*”) to remind the reader that 0 dBFS on DSD is a mastering convention, not a hardware ceiling. SACD ISO support is in progress.

Where the numbers appear: as compact monospaced badges next to the duration in every track list, as a MIN-of-tracks pill on the artwork of every album card in the Library grid (worst-master heuristic), as a discreet technical row beneath the now-playing artwork, and as a dedicated “Dynamic Range” card inside the Track Info panel. Two sort orders — “Dynamic Range (DR)” and “Dynamic Range (R128)” — surface the worst masters first in the Library lists.

Diagnostic Tools

The instruments behind the instrument.

VeraVox includes six real-time diagnostic tools. All are non-invasive: they observe the audio stream without altering it. All open as independent floating panels and can run simultaneously alongside the main player window. Two visual themes are available: Analog (vintage Tektronix CRT aesthetic with phosphor traces and aluminum bezels) and Modern (clean digital instruments with LED bar meters and teal accents). Switch from the Appearance menu or the toggle on any panel. In the player itself, a Signal Path indicator — a colored LED next to the format badge — shows the current playback quality at a glance (green = bit-perfect, yellow = Enhanced, blue = network bit-perfect, light blue = Channel-Transparent multichannel, green = high quality). Click it for the full processing chain from source file to output device.

Stream Inspector

Complete real-time view of the playback pipeline, operating on a 30 Hz display timer reading from a lock-free tap buffer populated by the IOProc on every hardware interrupt. No sample is ever delayed or dropped for display purposes.

Vectorscope

GPU-rendered Lissajous XY display on Metal at 60 fps. Left channel maps to horizontal, Right channel to vertical. A mono signal traces the M diagonal (lower-left to upper-right); out-of-phase material rotates toward the S diagonal. Accessed by clicking the album artwork during playback, or detached into its own floating window with ⌘⇧V.

Additive blending (source: ONE, destination: ONE) accumulates overlapping points naturally, as phosphor on a real CRT. Each point decays over ~3 seconds with a quadratic falloff. Triple-buffered vertex upload (three pre-allocated MTLBuffers of 8192 vertices, governed by a DispatchSemaphore) eliminates all dynamic allocations from the render loop. Two phosphor modes: green (P1) and amber (P12). For DSD streams, DoP payload bytes are FIR-decimated before plotting — not PCM-converted. Detach the Vectorscope into a floating window (⌘⇧V) to access the integrated Signal Generator and dual-channel measurement engine.

Spectrum Analyzer

Real-time FFT frequency-domain display updated at 30 fps. A 4096-point FFT with Blackman-Harris window (−92 dB sidelobe rejection) produces 2048 output bins mapped onto a logarithmic frequency axis from 20 Hz to the Nyquist frequency. Features include five-level EMA smoothing, IEC 61672 A/C frequency weighting, peak hold with 1.5 s flat hold and 30 dB/s decay, interactive crosshair cursor with sub-bin interpolation, and line or gradient-fill display modes. DSD streams are FIR-decimated to PCM using the same sinc-Kaiser filter shared by the Vectorscope. The frequency axis updates dynamically when switching between tracks at different sample rates. Opened via ⌘⇧S or the toolbar icon.

Spectrogram

Two-axis visualization of frequency content over time, complementary to the Spectrum Analyzer's single-trace instant view. Two coordinated modes share one tool. FILE mode runs an offline 8192-point Hann-windowed STFT over the entire track with 75% overlap (hop = 2048 samples), caches the result in memory (LRU, 8 entries), and paints it as a CGImage with a perceptually-uniform colormap. A bright cyan playhead marks the current playback position; clicking anywhere on the bitmap seeks to that point. LIVE mode taps the same 4096-point Blackman-Harris FFT pipeline used by the Spectrum Analyzer and appends each new column to a scrolling ring of about 17 seconds at 30 fps. The DSP cost of LIVE is essentially zero because the pipeline is shared via a consumer reference count inside the StreamAnalyzer, so opening the Spectrogram while the Spectrum Analyzer is also open does not double the FFT work. The vertical axis uses the same log-frequency scale as the Spectrum Analyzer, from 20 Hz to Nyquist, with bilinear interpolation in dB between adjacent FFT bins. Three perceptually-uniform colormaps (Viridis default, Inferno, Grayscale) and three discrete dB floors (−80, −96, −120 dB) cover serious forensic work and screenshots intended for print. The renderer caps the output bitmap at 1024 × 1024 pixels (downsampled with point sampling on a fully log-scale Y axis) and uses cooperative cancellation polled every 32 rows, so rapid control changes do not pile up overlapping CGImage builds. When the file's source-content Nyquist is below the carrier rate, the region above it is painted as uniform dark grey "no-data" with a cyan dashed boundary line labelled fs/2 (source), distinguishing "no signal here" from "signal floor at this frequency". DSD content is first-class in LIVE mode, with a status-bar reminder that the rising slope above 20 kHz is the sigma-delta modulator's noise shaping behaving as the format specifies. Opened via ⌘⌥G or the toolbar icon.

VU Meter

Dual analog-style VU meter (L/R) with IEC 60268-17 ballistics, modelled as a second-order spring-mass-damper system (ω = 13.5 rad/s, ζ = 0.81, per Lobdell & Allen, JASA 2007). Approximately 300 ms rise time to 99% with 1.5% overshoot — the response of a real moving-coil meter. Calibrated to K-14 metering (0 VU = −14 dBFS), with a nonlinear amplitude-proportional scale from −20 to +3 VU. Per-channel RMS for PCM via interleaved modulo indexing; mono FIR-decimated RMS for DSD. Needle animation at 60 fps, RMS data at 30 fps from the shared StreamAnalyzer. In the Modern (tech) theme, the PK L / PK R numeric readouts and the peak segment on the LED bar meters use a per-track monotonic peak hold — the peak accumulates the maximum value seen since the start of the current track and resets at the next track (or on a double-click on the PK readouts). The Analog theme exposes only the moving needle, which follows pure mechanical inertia. Mechanical response inspired by the Sifam AL19 moving-coil panel meter; the warm amber back-light is a visual nod to the Pioneer RT-909’s fluorescent VU display — aesthetic only, not the underlying meter type. Opened via ⌘⇧U or the toolbar icon.

Surround Sound Scope

Dedicated multichannel monitor following the ITU-R BS.775-3 / SMPTE ST 2098-2 speaker layout convention. Two-pane composition in a fixed 720×560 window: left — top-down speaker map with SMPTE trapezoid icons positioned by azimuth and elevation, a radial "wavefield" energy glow centred on the energy centroid, a precise dB graticule (concentric rings at 0, −6, −12, −20 dBFS with 30° angular ticks), and a phantom-image crosshair marking the perceived spatial position of the dominant source; right — informative side panel with per-channel dBFS readouts, per-track peak hold (monotonic, resets at track change or double-click), an LFE row inside the readout panel for the numeric value alongside the directional channels, vertical LED bar meters and a dedicated horizontal LFE LED bar. Per-channel RMS uses the same IEC 60268-17 critically damped ballistics as the VU Meter. Supported layouts: 3.0, Quad, 5.0, 5.1, 6.1, 7.1, Atmos 7.1.1 → 7.1.4, plus a generic ring for non-standard channel counts up to 12. The scope is device-aware: when a Speaker Layout is configured for the current output device (⌘⌥K), the bubbles light up where each role is physically being routed — a 5.1 file on a 7.1.4 layout lights L/R/C/LFE plus Lrs/Rrs (rear surrounds) and leaves Ls/Rs (sides) dim. With no device layout (UPnP renderer, non-standard channel count), positions fall back to canonical SMPTE / ITU-R BS.775-3 placement resolved from the file. Layout is fully adaptive: with few channels (2.1, 5.1) icons and meters scale up to fill the window; with many channels (7.1.4) they shrink to remain legible. Opened via ⌘⌥M or the toolbar icon (visible only when the current track is multichannel). VU Meter and Vectorscope are stereo-only by design: on a multichannel file they show a native macOS alert offering a one-click open of the Surround Sound Scope. A STEREO DOWNMIX warning banner appears when the file is being reduced to its first two channels (L/R extraction) on a stereo-only device — the consented behaviour after "Play L/R Only" in the multichannel consent dialog. The extraction is true channel pickup (kAudioConverterChannelMap on the underlying CoreAudio converter), not the SMPTE Lt/Rt matrix downmix that consumer playback systems use: centre, LFE, and surround channels are not blended into L/R, they are simply absent from the output stream. On virtual MC devices (BlackHole 16ch, Loopback) and Aggregate Devices, the file's full channel count travels end-to-end via the Channel-Transparent path and the warning does not appear.

DAC Diagnostic Panel

Queries every physical format exposed by the selected DAC's output stream via CoreAudio (kAudioStreamPropertyAvailablePhysicalFormats), sorted by capability — non-mixable first, then by container suitability. The currently active format is highlighted with an ACTIVE badge.

A two-level summary shows: (1) the format currently active on hardware with a contextual explanation line (e.g. "DoP carrier: DSD128 ÷ 16 = 352 kHz" or "PCM bit-perfect at 192 kHz — exclusive non-mixable format"), and (2) the highest-capability non-mixable format the device is capable of — the ceiling of its bit-perfect capability as seen by CoreAudio.

DAC Warm-Up

Streams silence to the DAC for a configurable duration (1–10 seconds) before the first track, stabilising oscillators and output stage temperature in exclusive mode. The warm-up signal depends on the playback path: DSD path — DoP-encoded silence using the 0x69 DSD mute pattern with alternating 0x05/0xFA DoP markers at the target carrier rate; PCM path — integer zero silence at the track's native sample rate. Effective for tube-output and R-2R ladder DACs. A purple banner confirms the sequence is active. Optional — disabled by default — with no effect on audio quality during normal playback.

Polarity Inversion

Bit-perfect absolute polarity reversal, activatable during playback. PCM bit-perfect path: two's complement negation — exact, no rounding, no dynamic range change. DSD/DoP path: only the 16 audio bits per frame are flipped; DoP marker bytes (0x05/0xFA) are preserved unchanged. AVAudioEngine fallback paths: IEEE 754 sign-bit flip on Float32 — exact to the bit. Three channel modes: L+R, Left Only, Right Only — selectable in real time from Settings. The ø symbol (international convention for inverted absolute polarity) appears in the toolbar when active.

Signal Generator & Measurement Engine

Generate. Capture. Measure.

The Signal Generator (SIG GEN) is a laboratory-grade test instrument integrated in the detached Vectorscope window. It produces synthetic audio signals and routes them through the exact same playback engine used for music: Hog Mode, non-mixable formats, IOProc or AVAudioEngine. Simultaneously, a loopback capture path (AUHAL input-only) and a quantitative measurement engine analyse the returned signal in real time.

This turns VeraVox into a dual-channel audio analyser. Generate a known signal, capture what comes back, and compare. Verify bit-perfect delivery, measure phase shifts, detect frequency response anomalies, and identify room acoustics problems. No external equipment needed beyond a loopback cable or virtual driver (BlackHole, Loopback).

Test Patterns

Six patterns, each with real-time Tektronix-style rotary knobs for its specific parameters. All patterns share a level control (−40 to 0 dBFS, default −6 dBFS for safety).

PatternParametersUse Case
SINEFrequency (20 Hz – 20 kHz, log), Phase (0 – 360°), LevelPhase correlation, room resonances, frequency response sweeps
BEATBase frequency (20 Hz – 20 kHz), ΔF (0.1 – 5 Hz), LevelDAC clock accuracy verification — one pulsation per second at ΔF = 1 Hz
LISSAJRatio (1:2, 2:3, 3:4, 3:5), Phase offset (0 – 360°), LevelSignal chain integrity — distortion or jitter breaks the figure's symmetry
NOISECorrelation (−1.0 to +1.0), LevelSpeaker imaging, stereo width, Mid/Side balance verification
IMPULSEChannel (L / R / ALT), Rate (1 – 20 Hz), LevelChannel separation, crosstalk detection on the Vectorscope
REF 0dBNone (1 kHz, 0 dBFS, L=sin R=cos)Vectorscope graticule calibration — produces a perfect full-scale circle

Source Mode & Dual Display

The SOURCE row selects what the Vectorscope CRT displays and what the meters analyse. In DUAL mode, both traces are rendered simultaneously on the same CRT — output in primary phosphor colour (green or amber), input in secondary colour (cyan or magenta) — via two Metal draw calls with additive blending.

ModeCRT DisplayCaptureMeters
OUTPUTGenerated signal onlyStoppedDisabled
INPUTCaptured input onlyRunningActive — input signal
DUALBoth overlaidRunningActive — input signal

Input devices are enumerated via CoreAudio and include built-in microphones, USB audio interfaces, and virtual loopback drivers. A digital gain control (0 – 60 dB) amplifies low-level signals before display and measurement.

Measurement Engine

The measurement engine operates on a dual circular buffer architecture — input (AUHAL callback) and output (render callback), both 4096 samples per channel, protected by the same os_unfair_lock for atomic snapshot. Measurements are computed on the main thread at 30 fps from linearised snapshots.

MeterAlgorithmAccuracy
LEVELvDSP_rmsqv + EMA (α = 0.30), with optional IEC 61672 A/C weighting via biquad cascade0.1 dB resolution
PEAKvDSP_maxmgv, instant attack, slow decayTurns red above −1 dBFS
FREQ16384-point FFT (4× zero-pad), Blackman-Harris window, parabolic interpolation on log-magnitudeSub-Hz across 20 Hz – 20 kHz (< 0.1% typical)
Φ (L/R)Goertzel single-bin DFT at detected frequency, circular EMA for ±180° wrap±0.5° typical
BPTSample-by-sample output vs. input comparison after latency alignmentPASS = every sample identical
Φ I/OGoertzel on aligned output and input regions, latency-compensatedReveals DAC reconstruction filter phase response

Analysis Settings

ControlOptionsEffect
WINDOWOFF / Hann / Blackman-HarrisReduces spectral leakage for frequency and phase. BH provides 92 dB sidelobe rejection. Not applied to level or BPT.
AVGOFF, 2×, 4×, 8×, 16×, 32×Averages N snapshots before measuring. Reduces noise, slows updates. BPT auto-disabled when active.
WEIGHTFLAT / A / CIEC 61672 frequency weighting — 4 biquads for A (HP2+HP1+HP1+LP2), 2 for C (HP2+LP2). Normalised 0 dB at 1 kHz.

Latency Calibration

Before using BPT or Φ I/O, the round-trip latency must be calibrated. Press CALIBRATE — the engine injects a Hann-windowed 4 kHz burst (128 samples) surrounded by silence into the audio output. Both output and input circular buffers are snapshotted atomically under the same lock. Brute-force cross-correlation (O(N×M) via vDSP_dotpr) locates the burst in each buffer; the difference gives the latency in samples. Typical values: 20–40 ms for digital loopback, hardware-dependent for analogue paths.

Bit-Perfect Test workflow: set VeraVox's main output device AND the SIG GEN input to the same loopback device (BlackHole 2ch for digital, or a loopback-cabled audio interface for hardware) → generate SINE 1 kHz at −6 dBFS → switch SOURCE to DUAL → CALIBRATE → check BPT = PASS → repeat at every sample rate the DAC supports. If BPT shows ERR at a specific rate, that format is going through the system mixer.

Audio Output Architecture

The Signal Generator uses the same playback pipeline as music — by design. The signal exercises the exact same code path (PCMRingBuffer block 3, syntheticFill closure), format negotiation, and hardware delivery. Measurements are representative of real playback conditions. Two independent output paths: a 30 fps visual timer pushing Int32 samples to the VectorscopeDataSource, and an audio fill closure at the DAC's native sample rate. Each uses separate phase accumulators — no cross-thread conflicts.

The Signal Generator produces real audio output. In Hog Mode, there is no system volume control between the software and the DAC. The default level is −6 dBFS as a safety margin. Always verify monitoring levels before generating at 0 dBFS, especially with headphones or high-sensitivity speakers.
NAS & Network Storage

Your library, wherever it lives.

VeraVox supports music libraries stored on network-attached storage (NAS), SMB/AFP/NFS file shares, and USB/Thunderbolt external drives. The app automatically detects mount and unmount events via NSWorkspace notifications, provides visual feedback on folder availability, and adapts its scanning and buffering strategies based on connection speed.

Volume Health Monitoring

A dedicated VolumeHealthMonitor classifies every mounted volume by type (local, network, removable) and tracks its online/offline status in real time. The Folder Manager displays colour-coded status dots: green (online), red (offline), orange (connecting), blue (scanning).

Volume TypeChange DetectionPreload Window
Local (< 2 ms)FSEvents — near-instant10 seconds
Fast network (2–20 ms)Polling every 30 s (directory mod-date cache)20 seconds
Slow network (> 20 ms)Polling every 30 s30 seconds
RemovableFSEvents10 seconds

Automatic Reconnection

When a previously offline volume comes back online (NAS wakes from sleep, USB drive re-plugged), VeraVox detects the mount event, re-resolves the security-scoped bookmark, and triggers an incremental scan. No manual intervention — the status badge transitions from red to green, and new files are picked up automatically. Tracks whose source volume is offline appear dimmed in the Playlist with a tooltip.

Non-Blocking Startup

Folder bookmarks are resolved asynchronously at launch using the withoutMounting option. The app starts instantly even if a NAS is powered off or a network share is unreachable — the UI never freezes. Offline folders are shown in red and reconnect automatically when their volume becomes available.

Adaptive Buffering

I/O latency is measured per folder during scanning (single 4 KB read). The preload window — how far before track end the next track begins loading for gapless playback — extends automatically for slow connections. When the PCM ring buffer fill drops below 25%, an orange indicator appears in the Player bar.

Relative Paths

Both absolute and relative paths (relative to the folder root) are stored per track. When a volume is renamed or its mount point changes, tracks are correctly resolved using the current folder bookmark. Existing libraries are migrated automatically at startup.

All network features work within the macOS sandbox using security-scoped bookmarks. No additional permissions or configuration needed — add network folders through the Folder Manager exactly like local folders.
Web Remote

Control from your phone. No app required.

Web Remote turns VeraVox into a local HTTP server that serves a Progressive Web App. Open the URL from any device on the same Wi-Fi network — no app installation, no App Store, no internet access required. On iOS, tap Share → Add to Home Screen for a fullscreen experience without browser chrome.

Remote Capabilities

FeatureDescription
Now PlayingFull-size artwork, track info, format badge (DSD128, FLAC 24/96, etc.), seek bar, and transport controls: shuffle, previous, stop, play/pause, next, repeat.
PlaylistBrowse the current queue, tap any track to play it, swipe to remove, or clear the entire playlist.
LibraryThree sub-tabs — Albums (cover art grid), Artists (alphabetical list), Tracks (flat track list) — with a persistent search bar that filters the active view in place, mirroring the desktop Library FTS5 behaviour. Tap an album to see its tracks. Tap an artist to open a grid of that artist's albums with cover art (mirroring the desktop Artist view), then drill in or use Play All / Add to Playlist for the artist's entire discography.
Device SelectSee all audio output devices with capability badges (Exclusive Ready, Shared Output, Lossy). Tap to switch the active device.

Architecture

Built on Apple's Network.framework (NWListener) — no external dependencies. HTTP/1.1 request parsing, RFC 6455 WebSocket upgrade, and Bonjour/mDNS advertisement (_veravox._tcp) for automatic discovery. REST API for commands, WebSocket for real-time state updates (position every 500 ms; frontend interpolates at 60 fps for a smooth seek bar). The server runs on a dedicated DispatchQueue, not @MainActor.

Security

MechanismDetail
Local network onlyServer binds to the LAN interface. Not accessible from the internet.
PIN authenticationRandom 4-digit PIN generated on first launch. Persists across server restarts unless explicitly regenerated. Shown in the Settings popover and the Web Remote panel (⌘⇧R).
Token-based sessionsAfter PIN entry, a UUID token is stored in the browser — subsequent connections re-authenticate automatically.
Disconnect AllOne button in the settings panel revokes all active tokens and disconnects all clients instantly.
Web Remote is read-only with respect to the audio engine: it sends commands via the same API used by the media keys and Mini Player. No audio signal processing is involved — the "Signal Untouched" philosophy is fully preserved.
UPnP / DLNA Streaming

Stream to any renderer on the network.

VeraVox can stream audio to UPnP/DLNA MediaRenderer devices on the local network: hi-fi network streamers, wireless DACs, and AV receivers from Linn, dCS, Lumin, Cambridge Audio, Naim, and others. The audio file is served directly over HTTP; the renderer decodes and plays it. VeraVox never touches the audio samples, making UPnP streaming inherently bit-perfect for renderers that support the source format natively.

Architecture

VeraVox acts as both a UPnP Control Point and a lightweight Media Server. Six new files implement the complete stack:

ComponentImplementationRole
SSDPDiscoveryPOSIX UDP multicast, GCD dispatch sourceM-SEARCH queries to 239.255.255.250:1900 every 30 s
UPnPDeviceXML device description parserExtract service URLs, friendly names, icons
UPnPRendererManager@MainActor discovery orchestratorPruning, dedup by USN, saved selection persistence
AVTransportClientSOAP clientSetAVTransportURI, Play, Pause, Stop, Seek, GetPositionInfo, GetTransportInfo
MediaServerHTTP file serverRange requests, DLNA headers, chunked streaming, security-scoped bookmarks
UPnPPlaybackController@MainActor playback controllerPosition polling (1 Hz), reconnection, gapless orchestration

Renderer Selection

Discovered renderers appear automatically in the output device picker under "Network Renderers" with a blue dot. The device icon changes to a network symbol when a UPnP renderer is active. The selected renderer UID persists across launches.

Format Support

FormatSupport
PCM (FLAC, WAV, AIFF, ALAC, WavPack, MP3, AAC)Widely supported by all UPnP renderers.
DSD (DSF, DFF, WavPack DSD)Native DSD streaming for capable renderers. GetProtocolInfo check before playback begins.
VeraVox serves files in their native format. No transcoding. If the renderer does not support DSD natively, playback will be rejected — use local output with DoP instead.

Gapless Playback

Two-tier gapless mechanism for network renderers:

TierMechanismResult
PrimarySetNextAVTransportURI — pre-loads the next track while the current track playsSeamless transition, no gap
FallbackNatural end detection — renderer stops near the end of the track without VeraVox sending StopBrief transition gap

VeraVox detects when the renderer has promoted a pre-loaded track and skips the Stop/re-serve cycle entirely, preserving the renderer's gapless buffer.

Connection Recovery

If the renderer becomes unreachable (network disruption, device restart, Wi-Fi loss), VeraVox detects the failure after 5 consecutive poll errors (~5 seconds) and displays a red error banner. Probing continues every 10 seconds. When the renderer comes back online, a green "Renderer reconnected" banner appears and playback can be resumed.

Volume

VeraVox does not apply volume to UPnP renderers. This is consistent with the player’s overall design: VeraVox serves the file untouched and lets the renderer’s own audio stage handle the rest. Use the renderer’s own volume control (hardware knob, remote, or native app) — many modern streamers implement digital volume with high-order noise-shaping at the device’s internal rate, which is a different operation from applying a player-side coefficient.

Volume is delegated to the endpoint — the renderer’s own audio stage, where it can be performed with knowledge of the device’s downstream chain. VeraVox supplies the source, untouched.
Supported Formats

Every major lossless format, natively decoded.

PCM Lossless
FLACup to 32-bit / 768 kHz
ALACup to 32-bit / 384 kHz
WAVup to 32-bit / 768 kHz
RF64 / BW64discrete immersive > 4 GiB (DXD multi-channel)
AIFFup to 32-bit / 384 kHz
WavPackPCM lossless & DSD native
CUE Sheetper-track parsing
DSD Native
DSFDSD64 → DSD512, multi-ch
DFFDSD64 → DSD512, multi-ch
SACD ISOScarlet Book, DST decode
DoPbit-perfect via PCM carrier
DSD→PCMFIR fallback, exclusive mode when possible
Compressed
MP3ID3v2.3/v2.4 tags
AAC / M4AAVFoundation decode
OPUSvia AVFoundation
Metadata Sources
Vorbis CommentFLAC
ID3v2.3 / v2.4DSF, DFF, WAV, AIFF, MP3
iTunes tagsALAC, M4A, AAC
Scarlet Book TOCSACD ISO
APEv2WavPack
CUE fieldsTITLE, PERFORMER, REM

Supported PCM Sample Rates

44,100 Hz
CD — Red Book
48,000 Hz
Professional / Broadcast
88,200 Hz
2× CD
96,000 Hz
Hi-Res / DVD-Audio
176,400 Hz
4× CD / DXD
192,000 Hz
Hi-Res / BD-Audio
352,800 Hz
DXD / DoP DSD128
384,000 Hz
Ultra Hi-Res PCM
705,600 Hz
DoP DSD256 carrier
768,000 Hz
Max PCM (select DACs)

System Requirements

Minimum
macOS14 Sonoma
ArchitectureApple Silicon & Intel
DistributionDirect download
SandboxNot sandboxed (required)
Recommended
DAC connectionUSB or Thunderbolt
DSD playbackDoP support required
StorageSSD, NAS, or external drive
User accountAdmin (for Hog Mode)
Pricing & Availability

Own it. No subscription, no account.

VeraVox is a one-time purchase. All 1.x updates — feature additions, bug fixes, and macOS compatibility releases — are included. Future major versions will be sold separately. No subscription, no cloud account required, no telemetry. Distributed directly from veravox.audio, outside the Mac App Store.

VeraVox
TBA
pricing to be announced
◆ 30-day free trial — full features, no account
PCM bit-perfect up to 32-bit / 768 kHz
DSD64 → DSD512 via DoP (DSF, DFF, SACD ISO, WavPack)
Hog Mode exclusive hardware access
Stream Inspector, Vectorscope, Spectrum Analyzer, Spectrogram, VU Meter, Surround Sound Scope, Audio Forensics
Signal Generator with dual-channel measurement engine
DAC Warm-Up, Polarity Inversion (ø), DAC Diagnostic
3-level sample-accurate gapless playback
Music Library, Playlist, Mini Player, Metadata Viewer
NAS & network storage with adaptive buffering
Web Remote — control from any device on the network
UPnP/DLNA streaming to network renderers
No DSP, no mixer, no software volume in the player path
macOS 14 Sonoma or later  ·  Apple Silicon & Intel  ·  Direct download  ·  v1.x updates included
USB / Thunderbolt DAC with non-mixable integer format support required for bit-perfect playback