ADM BWF files

The Audio Definition Model and Broadcast Wave files: structure, metadata and how to validate a master.

This page describes ADM BWF files: Broadcast Wave files that carry Audio Definition Model metadata. ADM BWF is the most common master format for object-based immersive audio, including Dolby Atmos music masters, and it is the input Spatial9 uses to convert an Atmos mix to Eclipsa Audio.

It is written for mix engineers, mastering and delivery engineers, archivists and developers who need to know what is inside an ADM master, how beds, objects and movement are stored, and how to check a file before you deliver or convert it.

Definition

The name joins two standards.

TermFull nameStandardWhat it defines
ADMAudio Definition ModelITU-R BS.2076A metadata model describing each track: fixed channel or object, and where it should be heard
BWFBroadcast Wave FormatBroadcast WAVA WAV file with extra broadcast information such as title and timecode
BW64Long-form BWFITU-R BS.2088A long-form variant that can exceed the 4 GB WAV limit
RF6464-bit RIFFVariant of WAVAnother large-file variant used for big masters
S-ADMSerial ADMITU-R BS.2125ADM metadata sent in small pieces alongside live audio

An ADM BWF file is therefore a Broadcast Wave file that carries ADM metadata. Large immersive masters often use the BW64 or RF64 variant so that the file can grow beyond 4 GB.

File structure

A WAV file is made of labelled sections called chunks. An ADM BWF file adds two chunks, chna and axml, to the usual ones.

Diagram of an ADM BWF file showing the fmt, bext, chna, axml and data chunks inside a BW64 or RF64 container
The audio lives in the data chunk. The chna and axml chunks tell any player what each track is and where it belongs in 3D space.
ChunkContentsPurpose
fmtSample rate, bit depth and number of tracksLets software read the audio correctly
bextBroadcast information such as title, originator and timecodeKeeps the file identifiable and in sync
chnaA map from every audio track to its ADM descriptionConnects the audio to the spatial metadata
axmlThe ADM metadata, written in XMLDescribes beds, objects and their positions over time
dataThe audio, as many mono tracks side by sideThe sound of the mix

A standard audio player opens an ADM BWF file as a very wide WAV and ignores the metadata, so it does not reproduce the intended mix. You need an immersive renderer or a converter that reads chna and axml.

Typical Dolby Atmos master properties

PropertyTypical value
TracksUp to 128
Sample rate48 kHz
Bit depth24-bit
BedUp to 7.1.2, which uses 10 tracks
ObjectsUp to 118 alongside a 7.1.2 bed
SizeOften several gigabytes for a full-length song

Beds and objects

Every immersive mix in an ADM file is built from two kinds of audio.

BedsObjects
PositionFixed to speaker positions, such as 7.1.2Carried as metadata and can change over time
Typical contentWide ambiences, pads, room tone, reverb returnsLead vocals, solo instruments, effects that fly overhead
ADM pack typeBed layoutObject
Conversion to AmbisonicsEncoded at the positions of the bed channelsEncoded at the position stored in each time block

Beds fill a zone of the room. Objects sit anywhere, including between or beyond the speakers.

The ADM model

ADM metadata is organised in two linked hierarchies. The content side describes what the audio is; the format side describes how it plays.

The ADM model: audioProgramme, audioContent and audioObject on the content side, audioPackFormat, audioChannelFormat and audioBlockFormat on the format side, linked by audioTrackUID
The content side names the parts of the mix. The format side describes the layout and every position over time.

Content elements

ElementDescribesExample
audioProgrammeThe whole mixAlbum master
audioContentA group within the mixMusic, Dialogue
audioObjectA single bed or objectLead vocal
audioTrackUIDThe link from an object to an actual track in the fileTrack 14

Format elements

ElementDescribes
audioPackFormatThe type of group: a bed layout or an object
audioChannelFormatOne channel
audioBlockFormatThe position of one channel for a stretch of time

Your DAW or Atmos renderer writes this metadata when you export. You do not edit it by hand, but knowing the structure explains how a converter can rebuild a mix precisely.

How movement is stored

An ADM file does not store a recording of a pan. It stores a series of time blocks (audioBlockFormat entries), each holding a position for a stretch of time. Played in order, the blocks become movement.

PropertyMeaning
AzimuthDirection around the listener, from left through front to right
ElevationHeight above or below ear level
DistanceOptional distance from the listener
SizeOptional spread, so a sound feels less like a point

Dolby Atmos music describes object positions in a room-centred coordinate system: a point inside a cube that represents the room. A converter to Eclipsa Audio must map those room positions to listener-centred directions on a sphere. See Immersive audio formats compared for the difference between the two coordinate systems.

Where the master fits in a workflow

  1. Mix in your DAW with an immersive renderer, using beds and objects.
  2. Export a single ADM BWF master that contains the audio and the spatial metadata.
  3. Deliver that master to distributors for immersive music streaming.
  4. Archive it as your editable source of truth.
  5. Convert it to other formats, such as Eclipsa Audio for YouTube, TVs and soundbars.

Distributors for Apple Music, Amazon Music and TIDAL ask for the Atmos ADM BWF master. The same file is the input to the Spatial9 converter at /adm-to-eclipsa.

ADM BWF compared with other file types

FileHoldsSpatial informationTypical use
Stereo WAVTwo channelsLeft and right onlyStandard music masters
Multichannel WAVSeveral channels, such as 5.1Fixed speaker positions onlySurround deliveries
ADM BWFUp to 128 tracks plus ADM metadataBeds and moving objects in 3DImmersive masters, including Dolby Atmos
Ambisonics WAV4, 9 or 16 channels and moreA full sound field around one pointVR, 360 video, scene-based workflows
Eclipsa Audio (IAMF)A compressed immersive bitstream, often in MP4Ambisonics scene or channel layers with mix metadataPlayback on YouTube, TVs and soundbars

Validating a master before delivery or conversion

Use this checklist on every ADM BWF master before you send it to a distributor or upload it for conversion.

  1. Confirm the file is the untouched export from your renderer, not a copy re-saved in another tool.
  2. Confirm the file contains chna and axml chunks. If either is missing, the spatial metadata has been stripped.
  3. Confirm the sample rate is 48 kHz and the bit depth is 24-bit, unless your distributor specifies otherwise.
  4. Confirm the track count matches your session, up to 128 tracks.
  5. For files larger than 4 GB, confirm the container is BW64 or RF64.
  6. Open the file in an immersive renderer and check that beds and objects play from the expected positions, including moving objects.
  7. Check that objects have clear names, such as "Lead Vox" rather than "Audio 14". Names travel with the metadata and make troubleshooting easier.
  8. Keep a copy of the untouched export alongside any converted versions.

Listing chunks with a script

You can confirm that the metadata chunks are present with a short script that walks the chunk list. This example reads only the chunk headers, so it runs quickly on multi-gigabyte files.

import struct
import sys

def list_chunks(path):
    with open(path, "rb") as f:
        riff_id, _, wave_id = struct.unpack("<4sI4s", f.read(12))
        print("container:", riff_id.decode(), wave_id.decode())
        while True:
            header = f.read(8)
            if len(header) < 8:
                break
            chunk_id, size = struct.unpack("<4sI", header)
            print(chunk_id.decode(errors="replace"), size)
            f.seek(size + (size & 1), 1)

list_chunks(sys.argv[1])

A valid ADM BWF master lists fmt, chna, axml and data, usually with bext.

Common problems

ProblemCauseResolution
Missing metadataThe file was opened and re-saved in a tool that does not understand ADM, stripping chna and axmlDeliver the file exactly as your renderer exported it
Wrong file typeA different Dolby-branded delivery file was sent instead of ADM BWFExport ADM BWF from the session
Delivery rejectionSample rate other than 48 kHzRe-export at 48 kHz
File too large for a classic WAVMany tracks over a long durationUse BW64 or RF64
Hard to troubleshootGeneric object namesName objects clearly in the session before export

Converting an ADM BWF master

Spatial9 converts ADM BWF masters, supplied as WAV or BWF files, to Eclipsa Audio for free in your browser, with no watermark. It reads every bed and object, follows the time blocks so moving sounds keep moving, and rebuilds the mix as a third-order Ambisonics scene of 16 components. This process is called motion-aware translation. A patent-pending Intent Fidelity Score then compares placement in the original master with the converted scene.

Keep these limits of the translation in mind.

  • The result is a translation, not a copy. A very small, precise object can sound slightly broader in a third-order scene than in the Dolby Atmos Renderer.
  • Dolby-specific settings, such as the binaural render modes chosen in the Dolby Atmos Renderer, have no direct equivalent in Eclipsa Audio.
  • Ambisonics has no dedicated LFE channel, so low-frequency content must be carried deliberately during conversion.
  • Keep the ADM master. Apple Music, Amazon Music and TIDAL take Dolby Atmos; Eclipsa Audio is for YouTube and compatible devices.
  • Only convert masters you own or have permission to release.

You can also encode ADM BWF directly with the open-source iamf-tools encoder using its --adm_filename option. See Eclipsa Audio and IAMF reference.

Next steps

Go deeper on the blog