O3A Meter - Karma
This plugin measures the loudness of an O3A stream. It provides metering and passes audio through unchanged.
Its design is intended to be a generalisation of the ITU-R BS.1770 standard loudness algorithm which forms the basis of the EBU R128 and ATSC A/85 loudness recommendations and the CALM act, but applied to an O3A stream rather than a stream for a specific speaker layout like 5.1.
The O3A decoders included in the O3A Core and O3A Decoding libraries and custom decoders generated using Blue Ripple Sound's Rapture3D "Advanced" edition are all designed in a way that means that the perceived loudness after decoding will be reasonably consistent with the numbers produced by this meter.
This means that if you use this plugin to meter your O3A mix, it will give you a good idea of the loudness you will achieve later on when you decode for a particular speaker layout.
Modifying ITU-R BS.1770 for O3A
The algorithm used for metering here is based on the ITU-R BS.1770 loudness algorithm. It uses the same "K" frequency weighting, RMS calculation, windows and gating, although a low pass filter is applied to the K-weighting above 24kHz when the sample rate is above 48kHz.
However, BS.1770 is specified for a 5.1 mix only whereas this meter is designed for use with full 3D O3A streams. This distinction means that channel contributions are aggregated using a substantially different methodology. Specifically, a smooth front/back directional weighting is used in place of the +1.5dB applied to the 5.1 surround channels in the standard. This weighting is approximately 0dB at the front and +1.5dB at +/-110deg (the "surround" angles of 5.1).
This distinction means that results are not identical to those produced by decoding to headphones, stereo, quad and 5.1 and then applying a standard BS.1770 meter. However, if Blue Ripple Sound O3A or custom Rapture3D decoders are to be used, this meter will provide a good estimate without the need to run each decoder and check individual results.
This meter does not perform True Peak measurements. Note that True Peaks can vary hugely depending on the decoder chosen.
"Different" Loudness Standards
EBU R128 and ATSC A/85 are both based on the ITU-R BS.1770 loudness algorithm but there are some subtle differences.
The full-scale unit for loudness is called "LKFS" in BS.1770 and A/85, but "LUFS" in R128. However, these are actually two names for the same thing. We use LUFS. A 0dBFS 1kHz sine tone panned to the front gives about -3LUFS. In all cases "LU" is used for loudness relative to some target loudness.
The biggest difference is that A/85 uses a target loudness of -24LUFS whereas R128 uses a target loudness of -23LUFS. You can select either (or another value) using the target level control and the LU values shown will change to correspond.
The three main meters are labelled "M", "S" and "I". These all measure the same underlying loudness but window the results in different ways:
- Momentary Loudness ("M") averages results over a 400ms window. This meter is the quickest to respond to changes in loudness.
- Short Term Loudness ("S") averages results over a 3sec window.
- Integrated Loudness ("I") averages momentary results since the stream started or was last reset. Multistage gating (-70LUFS absolute and -10dB relative) is used to exclude quiet periods from the results, as described in BS.1770.
The history graph shows the last five minutes of the overall level, displaying the range from minimum to maximum for each second.
The plugin is available in the O3A Decoding plugin library.
As recommended in BS.1770 and elsewhere, two scales are provided:
- The "Type 1" range is from -18LU to +9LU.
- The "Type 2" range is from -36LU to +18LU.
Note that this range is independent of the scale units provided, but that the definition of "LU" depends on the target level.
The scale values (shown between the history and meters) can be shown in LUFS units (absolute loudness) or LU units (relative to the target level). This does not change the way the plots themselves are shown.
The meter assumes that you are targeting a particular loudness level, specified in LUFS. EBU R128 recommends -23LUFS and ATSC A/85 recommends -24LUFS. Other values are sometimes needed and values between -36 and +6 can be entered into the text box provided.
Actual graphing is performed using LU units. LU values are simply LUFS values minus the target level. As graphing is always performed in LU (regardless of scale units), changing the target level effectively moves the plots up or down.
When the "active" button is on (lit), measurement will occur. When it is off, previous results are kept but new results are not collected.
This means that this button can be used to start measurement, pause and continue.
This button completely resets all meters and history. It can be used when measurement is active or not.
Presets are available for this plugin:
- EBU Type 1
- EBU Type 2
- ATSC Type 1
- ATSC Type 2
- O3A Brickwall
- O3A Decoder - 22.2
- O3A Decoder - 3D7.1
- O3A Decoder - 5.1
- O3A Decoder - 7.1
- O3A Decoder - 7.1.2 (Dolby Atmos)
- O3A Decoder - 7.1.4
- O3A Decoder - Auro-3D 10.1
- O3A Decoder - Auro-3D 11.1
- O3A Decoder - Auro-3D 13.1
- O3A Decoder - Auro-3D 9.1
- O3A Decoder - Cube
- O3A Decoder - Headphones
- O3A Decoder - Hexagon
- O3A Decoder - IMAX 12.0
- O3A Decoder - IMAX 5.0
- O3A Decoder - IMAX 6.0
- O3A Decoder - N3D
- O3A Decoder - Octagon
- O3A Decoder - Quad
- O3A Decoder - Quad Binaural
- O3A Decoder - UHJ Stereo
- O3A Meter - Karma
- Stereo Crosstalk Cancellation