Draft:Audio Definition Model

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
  • Comment: I can see what it is, and the references say what it is, but the notability is not verified in the references.
    The prior AI issues have been solved 🇵🇸‍🇺🇦 FiddleTimtrent FaddleTalk to me 🇺🇦‍🇵🇸 16:50, 3 December 2025 (UTC)


Audio Definition Model
ITU-R Recommemndation BS.2076
AbbreviationADM
StatusPublished
First publishedJune 2015 (2015-06)
Latest version2
OrganizationInternational Telecommunications Union
Related standardsITU-R Recommendations BS.2125, BS.2094, BS.2127
PredecessorEBU Tech 3364
Websitehttps://www.itu.int/rec/R-REC-BS.2076-2-201910-I/en

The Audio Definition Model (ADM) is an open, standardized, metadata model, developed to describe the technical properties of audio.[1][2]

It was originally specified by the European Broadcasting Union,[3] but since 2015 has specified by the ITU as Recommendation ITU-R BS.2076.[4]

Scope

[edit | edit source]

The ADM is intended for the delivery and exchange of audio content from production through to the stage where the audio is encoded for final broadcast.[5] Due to its flexibility it can be used to describe very simple audio configurations such as traditional mono and stereo content, up to highly complex immersive and interactive productions, including Next Generation Audio (NGA).[6] The ADM does not set any limits on the quantity or complexity of the audio it is describing.[7]

Type of Supported Audio

[edit | edit source]

The ADM supports five types of audio:[8]

  • Channel-based - an audio channel is expected to be delivered to a loudspeaker without any need for modification, e.g. stereo.
  • Scene-based - the audio channels represent a speaker-independent representation of a soundfield using spherical harmonics. e.g ambisonics and Higher Order Ambisonics (HOA).
  • Object-based - each audio channel has positional metadata or other properties attached to it.[9]
  • Matrix-based - audio channels are combined via matrix equations to generate other channels. They are decoded using a Matrix decoder.
  • Binaural-based - binaural recording has been used to simulate the acoustic effects of the head and ears, or the audio has been pre-rendered using binaural filters; and intended to be played over headphones.

Structure

[edit | edit source]

The ADM consists of the set of elements to desribe the format and general content of the associated audio.[10] The elements that describe the format are:

  • audioTrackFormat - describes the essential audio data type in a track (e.g. PCM).
  • audioStreamFormat - a combination of tracks (audioTrackFormat) that must be combined to represent one or more audio channels.
  • audioChannelFormat - describes a single mono channel of audio, including which type of audio it is (e.g. front-left channel)
  • audioPackFormat - a combination of related channels (audioChannelFormat) that must be combined to represent a particular sound (e.g. stereo).

The elements that describe the content are:

  • audioObject - references one or more tracks and associated audioPackFormat to define an audio object.
  • audioContent - describes a set of audio objects with related content, and contains content information such a language and loudness.
  • audioProgramme - decscribes a whole programme and references the relevant audioContents to make that programme.

Rendering

[edit | edit source]

As with any metadata the ADM metadata requires parsing and processing to be useful. Apart from channel-based audio, each type of audio requires processing to convert it into audio channels that are able to sent to output devices. This type of processor is called a renderer, which reads in ADM metadata and its associated audio and outputs audio channels based on an assignement output configuration.[11]

A reference ADM renderer has been standardised in the ITU with Recommendation ITU-R BS.2127.[12] This was derived from EBU work in EBU Tech.

Several software tools have been developed to render ADM, including:

Serial ADM

[edit | edit source]

The ADM, as defined in ITU-R BS.2076, is designed for file-based applications, where a complete audio programme will be carried in a single file. However, this is not suitable for streaming or live scenarios where audio and metadata needs to be delivered in real-time. The Serial ADM (S-ADM) is a version of the ADM that carries audio and its associated metadata in a succession of time-limited frames.[15] This is standardised in the ITU as Recommendation ITU-R BS.2125 [16]

Format and Carriage

[edit | edit source]

The ADM is primarily represented in XML.[1] It does not carry any audio itself, though it does the reference audio tracks it is describing. All the XML elements and attributes names are in English.

ADM XML can be carried in a number of file formats including BW64 (using recommendation ITU-R BS.2088).[17] The axml chunk carries the ADM XML metadata, and the chna chunk carries the channel allocation look-up table.

S-ADM frames can be carried over IP using SMPTE ST2110 transport methods, specifically SMPTE ST2110-41, SMPTE ST2110-31; and over AES3 using SMPTE ST2116.

Though ADM elements are typically represented by XML, ITU-R BS.2076 does not prohobit the use of other data standards to hold information, e.g. JSON.

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).