You sent the label an ADM BWF and got back one line: rejected. No checkboxes, no reason code, no follow-up email. The distributor returns a single status, the label forwards it, and the mastering engineer is left guessing which of a dozen rules tripped. The answer is almost always in the spec; the question is which line you missed.
This article walks the checks behind an Apple Music Atmos delivery rejection, grouped by cause: format basics, ADM structure, loudness and true peak, the stereo counterpart, metadata, and the upmix question. Each item lists the symptom, why it fails, and the fix. Thresholds come from the published delivery specs; where a value is advisory, this article says so instead of styling it as a hard rule.
The format basics
Symptom: the ADM BWF is 44.1 kHz, or 96 kHz without the .atmos DAMF package. Why: Apple Music delivery is built on the Dolby Atmos Music master delivery spec, which requires 48 kHz, and the check refuses anything else. A native 96 kHz master is a label servicing path, not an Apple Music delivery, and it must carry the .atmos DAMF package. Fix: export at 48 kHz when delivering to Apple Music; attach the .atmos DAMF package when servicing a native 96 kHz master.
Symptom: the delivery file lands below 24-bit. Why: the spec requires at least 24-bit in the ADM BWF, and a shortfall is a rejection. Fix: bounce at 24-bit or 32-bit float, and confirm the header agrees.
Symptom: a working title, spaces, or a slash in the file name. Why: naming rules are part of the delivery contract, and a name that breaks them can bounce before anyone hears the audio. Fix: rename to the label convention.
ADM structure
Symptom: the file opens in a DAW but not in the Atmos renderer. Why: the chna and axml chunks are what make a file a legal ADM BWF; without them it is just a WAV with too many channels. Fix: export through a renderer or a DAW that writes compliant ADM BWF.
Symptom: every element went into the bed, or there is no bed at all. Why: the delivery side reads a missing bed as a consistency problem, one of the noted reasons a delivery comes back. The bed layout check compares the file against a 7.1.2 bed baseline and flags a deviation as an advisory Warn; when no bed layout can be parsed, the row reads Skip with "no ADM layout parsed". Fix: print the bed in the agreed layout and keep the object material on objects.
Symptom: two LFE tracks, or high-frequency material blasting through the LFE. Why: the spec expects exactly one LFE channel, and the Apple Asset Guide flags full-band LFE content as a real rejection case. Fix: keep one LFE and let the renderer band-limit it; the full-band sweep stays advisory.
Symptom: the object count passes a hundred, positions sit outside ±1.0, or a coordinate is infinite. Why: the spec caps objects at 118, requires positions within ±1.0, and non-finite values break the render. Fix: consolidate object stems, scan the automation for stray values, and export clean.
Symptom: a track with no signal still rides the object bus. Why: a silent object alone is not a rejection, which is why this stays advisory, but it is exactly what QA passes flag. Fix: delete the dead tracks before export and render from a clean session.
Symptom: the timeline begins at 00:00:03.1234. Why: the spec expects the programme to start at 00:00:00.00000; an offset marks the file as not finished. Fix: zero the timeline before export and verify the start timecode in the ADM.
Loudness and true peak
Symptom: the loudest transients clip on the meter after rendering. Why: the delivery spec requires true peak at or below -1 dBTP, measured with 4x oversampling per ITU-R BS.1770-4; streaming codecs exaggerate peaks beyond the sample values. Fix: leave headroom, or catch overshoot with a true-peak-aware limiter.
Symptom: the master sits at -14 LUFS. Why: the Apple Music profile keeps an advisory loudness window of -20 to -18 LUFS, measured on a 7.1.4 render. It is not a hard stop, but it is the number label QA checks against. Fix: target that window while rendering, and audition the render itself.
The stereo counterpart
Symptom: the Atmos master and the stereo master start at different times. Why: the deliverable set expects the stereo version within 50 ms of the Atmos master. This and duration are advisory, but a mismatch between the two versions is a common note. Fix: export both from the same clock, aligned at programme start.
Symptom: one version is longer than the other by half a second. Why: the duration match looks for agreement within 41.7 ms. Fix: export both from the same length ruler with the same fade-out, and compare the durations before sending.
Metadata
Symptom: the rendered file plays back at an unexpected level, or the dbmd metadata is missing. Why: dialnorm lives in the dbmd metadata and must exist and agree across the file; a missing or inconsistent value changes playback onset. Fix: keep dialnorm consistent and inspect the dbmd block before export.
Symptom: the binaural metadata was never touched and stays all-off or all-Mid. Why: all-off is flagged by some requirements (UMG requires it set), and all-Mid is the kind of default QA marks. Fix: set the binaural metadata deliberately and confirm the headphone render reflects it.
Symptom: the session grew to a hundred and thirty-something PCM channels. Why: the Dolby Atmos Music master caps the channel count at 128. Fix: fold the excess into beds or objects before export.
The upmix question
Symptom: the Atmos file has no movement, nothing overhead, and a stereo master that lines up exactly. Why: the delivery policy does not accept an upmix as native Atmos; it is precisely what an engineer can hear and QA suspects. Fix: make the height and movement real in a native Atmos mix, or deliver it as what it is. The QC screen for this, spatialization authenticity, is experimental, opt-in and warn-only, never a verdict.
One timeline rule every deliverer writes down: 24 fps
Symptom: the timecode runs at 25, 29.97, or 23.976. Why: Apple Music, UMG and Sony all require 24 fps, and all three mark it as a confirmed must; it is also the rule second-hand guides most often get wrong. Fix: confirm the ADM timeline reports 24 fps before you send it.
The checklist, all at once
If a delivery comes back rejected, walk this list in order: 48 kHz and at least 24-bit; a real ADM BWF with chna and axml; a bed layout aimed at the 7.1.2 baseline, with deviations surfaced as advisory; exactly one band-limited LFE; up to 118 objects with finite positions inside ±1.0; no silent objects; true peak at or below -1 dBTP; integrated loudness within -20 to -18 LUFS on a 7.1.4 render; programme start at 00:00:00.00000; the stereo version within 50 ms and duration within 41.7 ms; dialnorm present and consistent; deliberate binaural metadata; at most 128 channels; real height content; 24 fps; and a compliant filename.
Running all of those by hand is the kind of chore that eats an afternoon. UTUVO QC runs the same 22 checks offline, in a single pass, against the published platform specs, and returns a clear Pass, Warn, Fail or Skip for each, so the guesswork is gone before the file reaches the label. It is a preflight, not a private pipeline to acceptance: the tool changes nothing about what platforms decide; it only checks the parts the specs actually name before you upload.