What is in the file?
A wave file with extra chunks. The audio sits in data; chna maps the tracks; axml describes them.
A wave file is a run of labelled blocks, called chunks. An ADM master is the same, with two extra chunks.
The data chunk holds the audio, just as in any multichannel wave file.
The chna chunk is a table: one row per track, saying what that track is. The axml chunk holds the full description.
Ordinary wave files stop at 4 GB. Bigger files start with BW64 instead of RIFF, and add a ds64 chunk for the real size.
So under 4 GB, a file that starts RIFF is correct. The standard for this, ITU-R BS.2088, says so.
You may also meet RF64, the EBU’s older version of the same idea. BW64 replaces it.
SoAn ADM master is still a wave file. The ADM is two chunks: chna, the map, and axml, the description.
What do I read first?
The fmt chunk, then the chna table, then the XML from the top: programme, content, object.
- fmtHow many tracks, at what sample rate and bit depth.
- chnaOne row per track, numbered from 1.
- axmlThe description, read from the top down.
The programme is the complete mix. Inside it, each content is a part, such as music or dialogue.
Each object links a part to two things: its layout, and the tracks that carry it.
Check the version near the top. If there isn’t one, readers assume the first edition of the ADM, from 2015.
A file can hold several programmes. Unless something says otherwise, the one with the lowest ID plays.
A profile list, if there is one, names the flavour of ADM the file follows (section 7).
SoRead from the outside in. The fmt chunk says what is there; chna says which track is which; the XML says what it all means.
How do I read a track’s IDs?
Each chna row names a track and what it is. You only need two parts of each ID: what kind, and which one.
The letters say what an ID points to. AP_ is a pack, or layout; AC_ is one channel in it.
The first four digits give the kind. 0001 is speakers, 0003 objects and 0004 HOA. 0002 matrix and 0005 binaural are rarer.
The last four digits say which one. 0FFF or below is a standard layout or channel. 1000 and above is defined in the file itself.
One track can serve several objects, if they use it at different times. A file can mark an unused track AT_00000000_00.
Two things look odd but are fine. chna adds _00 to a channel ID, and IDs ignore case.
SoThe first four digits say what kind; the last four say which one. Low numbers are standard; high ones are defined in the file.
Why does a file point to definitions it doesn’t contain?
Common layouts are defined once, in ITU-R BS.2094. A file only has to reference them.
Stereo, 5.1 and 7.1.4 are the same in every file. So BS.2094 defines them once, and files point to them by ID.
Players look up these standard layouts first. A file that uses only standard layouts needn’t define them in its own XML.
Each layout comes in two forms: one placed by angles, one by X, Y and Z. The second adds 0800 to the number.
| Layout | Pack ID | ITU name |
|---|---|---|
| Mono | AP_00010001 | None. One speaker, ear height: 0+1+0. |
| Stereo | AP_00010002 | System A, 0+2+0. |
| 5.1 | AP_00010003 | System B, 0+5+0. |
| 5.1.4 | AP_00010005 | System D, 4+5+0. |
| 7.1, back surrounds | AP_0001000f | System I, 0+7+0. |
| 7.1.4 | AP_00010017 | System J, 4+7+0. Cartesian twin AP_00010817. |
SoIf a pack ID ends in 0FFF or below, look it up in BS.2094, not in the file. Readers are told to check that list first.
Which layout is the bed?
The pack tells you. The bed’s object points to a speaker pack, and every bed track in chna carries the same pack ID.
The ITU names rooms by letter, or by speakers above, at ear height and below. 7.1.4 is System J, or 4+7+0.
Names like 7.1.4 are the pack names. 7.1.2, and a 5.1.2 with side heights, have packs but no ITU room letter.
In both 5.1 and 7.1.4, the LFE is channel AC_00010004, the fourth in the pack. BS.2051 gives the LFE speaker no set position.
Tracks can sit in any order in the file. The LFE’s track is whichever chna row points to AC_00010004. Your delivery spec may set a track order, so check it.
SoMatch the pack ID to the layout you were asked for. Then find the LFE’s track in chna, and check it carries only low-frequency content.
What should the numbers be?
The studio standard is 48 kHz and at least 16-bit. Your delivery spec sets the rest: Apple’s asks for 24-bit.
| What | Value | Source |
|---|---|---|
| Sample rate | 48 kHz nominal. | ITU-R BS.646 |
| Bit depth | At least 16 bits. | ITU-R BS.646 |
| Apple, immersive music | 24-bit PCM at 48 or 96 kHz, as BWF ADM. | Apple’s Immersive Audio Source Profile |
| Tracks | Up to 128, in the EBU production profile. | EBU Tech 3393 |
| Objects | Up to 128 at once, in the same profile. | EBU Tech 3393 |
| Programme start | Zero, unless set. | ITU-R BS.2076 |
The XML can repeat each track’s sample rate and bit depth. Where it does, they should match the fmt chunk.
A programme’s start time is there for lining up with picture. If it isn’t zero, check it against the video.
Times read as hours, minutes and seconds, or as a sample count, such as 12000S48000.
SoThe standards set a floor. The delivery spec sets the target: read it, and check the fmt chunk against it.
Which flavour of ADM is it?
The ADM can describe almost anything. A profile narrows it down for one job. You will meet three: the EBU’s, Dolby’s and the ITU’s.
A profile is a set of rules on top of the ADM. Tools that follow it know what to expect. The EBU puts it like this:
“The purpose of a profile for the Audio Definition Model (ADM) [ITU-R Recommendation BS.2076] is to provide an extra set of restrictions, requirements, and structure to the metadata to allow it to be suited to a particular application area.”
EBU Tech 3393, section 1
| Profile | What it is for | Main limits |
|---|---|---|
| EBU ADM Production Profile, Tech 3393 (2025) | Making and exchanging masters. | Up to 128 tracks and 128 objects at once. Beds, objects, HOA and binaural are all allowed. |
| Dolby Atmos ADM files, Dolby’s own profile | Dolby’s production tools and deliveries. | One programme, beds up to 7.1.2, up to 118 objects, 128 tracks. X, Y, Z positions only. No HOA. |
| ITU-R BS.2168 emission profile (2025) | Feeding a broadcast encoder. | Level 1: 16 tracks, 48 objects. Level 2: 28 tracks, 84 objects. Level 0 has no limits. No HOA or binaural. |
Dolby’s profile came early, before the ADM had settled. The EBU explains:
“Dolby adopted the ADM in 2017, based upon ITU-R BS.2076–0 (2015), as an alternative metadata description to the proprietary DAMF. Through the widespread implementation and support of Dolby Atmos in DAWs and NLE, this specific profile has become widely adopted.”
EBU Tech 3393, annex A.2.1
Its ADM software list is blunter. It describes the ADM from Dolby’s renderer as a “Legacy and premature implementation of ADM”. It warns of “Only limited compatibility with present ADM implementations and workflows”.
In practice, Dolby Atmos ADM files carry one quirk from 2015. The EBU says they must be processed before the ITU’s reference renderer can play them.
Profile lists arrived in 2025, so older files have none. Read the clues instead. One programme, a bed of 7.1.2 or smaller and X, Y, Z positions point to Dolby’s profile.
Delivery specs, such as Apple’s, sit on top of these. They set the numbers in section 6, not a new flavour.
SoFind out which flavour you were given before you judge it. What is a fault in one profile is normal in another.
Where are the loudness values?
In loudnessMetadata, inside the audioProgramme or an audioContent. Never on an object.
| Field | Unit |
|---|---|
| integratedLoudness | LUFS, the same as LKFS. |
| loudnessRange | LU. |
| maxTruePeak | dBTP. |
| maxMomentary, maxShortTerm | LUFS. |
| dialogueLoudness | LUFS. |
Each value should say how it was measured, such as ITU-R BS.1770. The EBU production profile asks for BS.1770-5 or later.
It can also say which speaker layout was measured. Check that before comparing numbers.
These are values the writer stored, not a measurement of what you are holding. The ADM says some can only be filled in after the audio exists.
Apple’s spec is a useful example. Integrated: no louder than −18 LKFS. True peak: no higher than −1 dBTP. Both are measured to ITU-R BS.1770-4.
SoLoudness metadata is a claim. Measure the audio yourself, and check which edition of ITU-R BS.1770 the file says it used.
What goes wrong, symptom first?
Most problems show up as a file that won’t open, a scene that looks empty, or numbers that don’t match.
- It won’t open, or opens with no objects.
- A missing chna is always a fault. A missing axml is legal only when the file uses common definitions alone. Some tools, Orbit included, reject a file without both.
- The XML is there, but nothing reads it.
- The standard says a reader that can’t interpret the axml should ignore the whole chunk. Check the XML is complete and well formed.
- A large file reads short, or fails.
- It may be over 4 GB but written as plain RIFF, with no ds64 chunk to hold the real size. Readers handle this differently.
- Nothing moves.
- An object with one block is static, and that is legal. Check the master actually carries movement.
- Tracks have metadata but no audio.
- Some files carry metadata only, or silent tracks. Solo them and listen.
- Two objects share a track.
- That is legal if their times don’t overlap. If they do overlap, it is an authoring fault.
- The loudness doesn’t match your meter.
- Check the loudnessMethod edition, and which layout the value was measured on.
SoStart from what you see, then check the chunk it points to. Most faults are in chna or axml, not in the audio.
What do I check before I sign off?
Six things, in this order. Each takes a minute, and together they catch the faults above.
- The headerRIFF under 4 GB. Over 4 GB, BW64 or the older RF64, with ds64 straight after the header.
- The fmt chunkPCM, the expected track count, sample rate and bit depth.
- One axml (or bxml), one chnaThe chna lists every track in use. Any unused tracks are marked or left out.
- The linksEvery track UID in chna appears in the XML, and the other way round.
- The bedThe pack ID matches the layout asked for. The LFE’s track carries only low frequencies.
- Timing and loudnessStart and end line up with the picture; loudness matches your own measurement.
Orbit reads the ADM from the axml and chna chunks, and decodes beds, objects and HOA up to third order. It is one way to run these checks by eye and by ear.
Not to be confused with serial ADM, ITU-R BS.2125. That splits the ADM into frames for live streams. A file master uses ordinary ADM in axml.
SoBefore you sign off, run these six checks against the delivery spec, then listen to the whole programme.
Five questions before you go
Question 1 of 5Glossary
- ADM
- The Audio Definition Model, ITU-R BS.2076: a standard way to describe what the audio in a file is.
- ADM BWF, BW64
- A wave file to ITU-R BS.2088 that carries audio tracks plus ADM metadata.
- RF64
- The EBU’s earlier 64-bit wave format. BW64 is its successor.
- ds64 chunk
- The chunk that holds 64-bit sizes, so a file can pass 4 GB.
- fmt chunk
- The standard wave header: track count, sample rate and bits per sample.
- chna chunk
- The table that links each track in the file to its ADM description.
- axml chunk
- The chunk that holds the ADM description, written as XML.
- Common definitions
- Standard layouts and channels, ITU-R BS.2094, that a file can reference without defining.
- Pack, channel
- In ADM, a pack (AP_) describes a layout or object type; a channel (AC_) is one part of it.
- Track UID
- An ID (ATU_) for one use of one track. One track can carry several, at different times.
- loudnessMetadata
- The ADM element that stores loudness values for a programme or a content.
- Profile
- A set of rules that narrows the ADM down for one job, with limits that tools can rely on.
- Production profile
- EBU Tech 3393: the EBU’s rules for ADM in production, with practical limits.
- Emission profile
- ITU-R BS.2168: rules for the ADM sent to a broadcast encoder. Tighter than production.
Further reading
The ITU-R Recommendations are the reference, and all are free to download. The EBU’s ADM guidelines are the best worked explanation.
- ITU-R BS.2088-2, “Long-form file format for the international exchange of audio programme materials with metadata,” 2025. itu.int
- ITU-R BS.2076-3, “Audio Definition Model,” 2025. itu.int
- ITU-R BS.2094-2, “Common definitions for the audio definition model,” 2025. itu.int
- ITU-R BS.2051-3, “Advanced sound system for programme production,” 2022. itu.int
- ITU-R BS.646-1, “Source encoding for digital sound signals in broadcasting studios,” 1992. itu.int
- ITU-R BS.2125-1, “A serial representation of the Audio Definition Model,” 2022. itu.int
- EBU Tech 3393, “EBU ADM Production Profile,” September 2025. tech.ebu.ch
- ITU-R BS.2168-0, “Audio definition model and serial representation of audio definition model profile for advanced sound systems emission,” 2025. itu.int
- EBU, “ADM software,” Dolby entry. adm.ebu.io
- EBU, “The Audio Definition Model: guidelines and reference.” adm.ebu.io · “BW64 and ADM,” adm.ebu.io · “Common definitions,” adm.ebu.io
- Apple, “Video and Audio Asset Guide: Immersive Audio Source Profile.” help.apple.com
- Orbit documentation, “ADM basics” and “Troubleshooting.” docs.orbitspatial.io
- Dolby and Dolby Atmos are trademarks of Dolby Laboratories. Orbit is not affiliated with Dolby.
Written by the people who make Orbit.