WRID>RIFF-WAVE>bext
Extra parameters needed for exchange of material between broadcasters shall be added in a specific "Broadcast Audio Extension" chunk.
[BEXT1996]
TODO: overview
The bext
chunk is widely supported in audio processing software and hardware recorders, especially those designed for field recording or video production.
Chunk | Name | Bytes | Type | condition | Description | WRID |
---|---|---|---|---|---|---|
bext | id |
4 |
u8[4] |
id = "bext"
|
...>id | |
bext | size |
4 |
u32 |
|
...>size | |
bext | description |
256 |
u8[256] |
|
ASCII string (maximum 256 characters) containing a free description of the sequence. To help applications which display only a short description, it is recommended that a resume of the description is contained in the first 64 characters and the last 192 characters are used for details.
If the length of the string is less than 256 characters the last one shall be followed by a null character (00). |
...>description |
bext | originator |
32 |
u8[32] |
|
ASCII string (maximum 32 characters) containing the name of the originator/ producer of the audio file. If the length of the string is less than 32 characters the field shall be ended by a null character. | ...>originator |
bext | originator_reference |
32 |
u8[32] |
|
ASCII string (maximum 32 characters) containing an unambiguous reference allocated by the originating organisation. If the length of the string is less than 32 characters the field shall be terminated by a null character.
Note: The EBU has defined a format for the OriginatorReference field. See EBU Recommendation R 99 [6]. |
...>originator_reference |
bext | origination_date |
10 |
u8[10] |
|
10 ASCII characters containing the date of creation of the audio sequence. The format shall be « ‘,year’,-,’month,’-‘,day,’» with 4 characters for the year and 2 characters per other item.
The separator between the items can be anything but it is recommended that one of the following characters be used: ‘-’ hyphen ‘_’ underscore ‘:’ colon ‘ ’ space ‘.’ stop |
...>origination_date |
bext | origination_time |
8 |
u8[8] |
|
8 ASCII characters containing the time of creation of the audio sequence. The format shall be « ‘hour’-‘minute’-‘second’» with 2 characters per item.
The separator between the items can be anything but it is recommended that one of the following characters be used: ‘-’ hyphen ‘_’ underscore ‘:’ colon ‘ ’ space ‘.’ stop |
...>origination_time |
bext | time_reference |
64 |
u64 |
|
These fields shall contain the time-code of the sequence. It is a 64-bit value which contains the first sample count since midnight. The number of samples per second depends on the sample frequency which is defined in the field nSamplesPerSec from the fmt chunk.
(WAVRef note: This is actually specified as two separate u32 integers, low, then high. On modern 64bit machines, it seems less error prone to just parse it as a single value.) |
...>time_reference |
bext | version |
2 |
u16 |
|
An unsigned binary number giving the version of the BWF. This number is particularly relevant for the carriage of the UMID and loudness information. For Version 1 it shall be set to 0x0001 and for Version 2 it shall be set to 0x0002. | ...>version |
bext | umid |
64 |
u8[64] |
|
64 bytes containing a UMID (Unique Material Identifier) to standard SMPTE 330M [1]. If only a 32 byte "basic UMID" is used, the last 32 bytes should be set to zero. (The length of the UMID is given internally.) | ...>umid |
bext | loudness_value |
2 |
u16 |
|
A 16-bit signed integer, equal to round(100x the Integrated Loudness Value of the file in LUFS). | ...>loudness_value |
bext | loudness_range |
2 |
u16 |
|
A 16-bit signed integer, equal to round(100x the Loudness Range of the file in LU). | ...>loudness_range |
bext | max_true_peak_level |
2 |
u16 |
|
A 16-bit signed integer, equal to round(100x the Maximum True Peak Value of the file in dBTP). | ...>max_true_peak_level |
bext | max_momentary_loudness |
2 |
u16 |
|
A 16-bit signed integer, equal to round(100x the highest value of the Momentary Loudness Level of the file in LUFS). | ...>max_momentary_loudness |
bext | max_short_term_loudness |
2 |
u16 |
|
A 16-bit signed integer, equal to round(100x the highest value of the Short-term Loudness Level of the file in LUFS).
Note: The loudness terms are explained in EBU Recommendation R 128 [2], EBU Tech 3341 [7] and EBU Tech 3342 [8], supported by EBU Tech 3343 and EBU Tech 3344 |
...>max_short_term_loudness |
bext | reserved |
180 |
u8[180] |
|
180 bytes reserved for extension. If the Version field is set to 0x0001 or 0x0002, these 180 bytes shall be set to a NULL (zero) value. | ...>reserved |
bext | coding_history |
remaining |
u8[remaining] |
|
Unrestricted ASCII characters containing a collection of strings terminated by CR/LF. Each string shall contain a description of a coding process applied to the audio data. Each new coding application shall add a new string with the appropriate information.
This information shall contain the type of sound (PCM or MPEG) with its specific parameters : PCM : mode (mono, stereo), size of the sample (8, 16 bits) and sample frequency, MPEG : sample frequency, bit rate, layer (I or II) and the mode (mono, stereo, joint stereo or dual channel), It is recommended that the manufacturers of the coders provide an ASCII string for use in the coding history. Note: The EBU has defined a format for coding history which will simplify the interpretation of the information provided in this field. See EBU Recommendation R 98 [9]. |
...>coding_history |
Learning References
Specification
- [BEXT1996] Broadcast Wave Format: Broadcast Extension (1996).