Methodology

How we verify what's actually in the stream.

TL;DR

We do not claim that Hi-Res sounds better than a well-mastered CD. We just verify what's actually being transmitted — bit depth, sample rate, sustained bitrate, spectral content, and gapless decode — and label each station accordingly. You decide what to listen to.

Stations that fail verification are not hidden. They live in an Unverified bucket and are labeled honestly.

The two verified tiers

Every station in the main catalogue passes our verification pipeline (see below). Within that, we group stations into two source-resolution tiers:

Tier Spec What it means
Hi-Res 24-bit / ≥88.2 kHz lossless JAS / CTA Hi-Res specification. Includes ultrasonic content above 22 kHz.
CD and above 16-bit / 44.1 kHz up to 24-bit / 48 kHz lossless Everything verified lossless below the Hi-Res threshold. Acoustically transparent to CD in controlled blind tests, regardless of the exact bit-depth / sample-rate combination.

We list the resolution as a fact about the stream, not as a quality claim. Mastering, dynamic range, and source provenance matter more than bit depth — and we can't verify those for you.

Stations whose claim doesn't match their content land in the same tier as their analysed content: a station that broadcasts at 24/96 but whose spectral analysis shows the source is CD-quality upsampled appears in CD and above, not in Hi-Res. The label reflects what reaches your ears, not what the broadcaster claims.

What we verify, per station

Before a station appears in the verified catalogue, it must pass all of these:

  1. Sustained bitrate ≥ 130 KB/s — the mathematical floor for uninterrupted CD-quality FLAC (16×44100×2 / 8 = 176 KB/s uncompressed, ~130 KB/s typical FLAC). Streams below this can't carry true 16/44.1 lossless.
  2. Codec detectionffprobe confirms FLAC, ALAC, or WAV. We reject streams that report MP3, AAC, or other lossy codecs in their content type or container.
  3. Spectral energy measurement — we download a 30-second PCM sample and run ffmpeg's highpass + volumedetect at several specific frequencies, then read the mean RMS energy (dBFS) that survives each filter. The primary verdict depends on the claim:
    • CD claim (44.1 / 48 kHz): measured at 19 kHz. Above −55 dBFS → verified. Below → unverified (energy lower than expected for a real 16-bit/44.1 kHz lossless stream).
    • Hi-Res claim (≥88.2 kHz): measured at 22 kHz. Above −50 dBFS → verified. Below → unverified (energy lower than expected for genuine Hi-Res content).
    Additionally, we probe lower bands (14, 16, 18, 19 kHz; plus 20, 22, 28 kHz for Hi-Res claims) to estimate the likely source: the highest band still showing energy above −70 dBFS indicates the source cutoff. MP3 encoders cut off at predictable frequencies — ~16 kHz for 128 kbps, ~18 kHz for 192, ~19 kHz for 256, ~20 kHz for 320 — so the cutoff maps to a likely source label (mp3-128, mp3-192, mp3-256, mp3-320, cd, or hi-res), stored in audio_authenticity_minimum_likely_source.
  4. History smoothing — a single noisy probe shouldn't flip a verdict. We keep a rolling history of the last 50 runs per station and publish the source label that dominates the last 10 runs (mode, not most recent). If no source claims at least 60% of recent runs (with at least 3 samples), the station is labelled variable instead. This is especially important for classical / acoustic content with naturally limited HF energy — a quiet passage during the 30-second window can briefly look like MP3 cutoff, and history-mode keeps that from sticking.
  5. Gapless playback probe — we decode 90 seconds of each station end-to-end with ffmpeg and watch for underruns, buffer gaps, or codec errors. This is a continuity check, not a lossless check — it confirms the stream plays smoothly all the way through. It lets us include stations whose sustained bitrate is borderline against the 130 KB/s floor but which actually deliver uninterrupted audio in practice (some upstream servers under-report their true throughput).
  6. TLS & reachability — we check certificate validity hourly. Expired or broken-TLS streams are flagged automatically; they auto-recover when the operator renews.

Probes run daily on our infrastructure. Results are stored in a public-readable database column (audio_authenticity). For audit transparency, the internal verdicts are:

The site UI groups all non-verified verdicts into a single Unverified bucket. We keep the finer-grained internal labels in the database for audit and historical-trend purposes.

The Unverified bucket

Stations that don't reach the verified threshold are still listed — but in a separate Unverified filter. They are not hidden, and they are not silently mixed in with the verified ones.

Why list them at all? Because some are genuinely lossless streams with anomalous encoding choices that confuse our probes, and we'd rather show them with an honest label than silently exclude them. The user gets to choose how strict they want to be.

What we don't claim

We will not, anywhere on this site or in the app, tell you that:

We list resolution and verification status as facts. The audio quality you actually hear depends on the station's mastering, your DAC, your room, and your ears.

Why we don't use "MQA" or "Master Quality"

We use neither term. MQA is a proprietary, partially-lossy format whose claims have been disputed by independent analysis. "Master Quality" without a clear technical spec is marketing language. If a station broadcasts a true lossless format, we say FLAC / ALAC / WAV and the resolution; that's enough.

Limitations — what we can't verify

How to verify yourself

We encourage you to audit our results. Pick any station, then:

  1. Open its stream URL (visible in the station page) in ffprobe or a tool like Foobar2000 / Audirvana / Roon. Confirm the codec and sample rate.
  2. Decode 60 seconds with ffmpeg -i <url> -t 60 -f null - and check for warnings.
  3. Run a spectrogram in Audacity / Spek / Sonic Visualiser. CD-source content should reach ~21-22 kHz with a soft natural rolloff; MP3 sources show a hard wall at a predictable frequency: ~16 kHz for MP3-128, ~18 kHz for MP3-192, ~19 kHz for MP3-256, ~20 kHz for MP3-320.
  4. Or replicate our measurement directly: ffmpeg -i <url> -t 30 -af "highpass=f=19000,volumedetect" -f null - and read the reported mean_volume. For a CD-claimed FLAC, expect something above −55 dB; for an MP3 source, expect −90 dB or worse.

If you find a misclassification, email us — see Contact below. We re-probe on request and correct the catalogue.

Why this matters to us

Most streaming services that advertise "lossless" or "Hi-Res" don't show their work. We've heard enough self-congratulatory "Master Quality Authenticated" marketing to last a lifetime. We'd rather show you our pipeline, list our limitations, and let the audiophile community audit us.

If you find a flaw in our methodology, we want to know. The whole point of this site is honesty about what's actually in the wire.

Contact

Questions, corrections, or audit findings? Email hi@audiophileradio.com.