EBU R128

EBU R128 operator properties for Script Engine. Measures audio loudness and true-peak levels in real time according to the EBU R128 standard — the same loudness reference used by most broadcasters worldwide. Reports momentary (400 ms), short-term (3 s), and integrated (since-start) loudness in LUFS, loudness range in LU, and per-channel true-peak levels in dBTP. Useful for verifying that a programme meets broadcast loudness targets without changing the audio.

Property Type Access Description
AutoStart bool get/set Whether the operator starts measuring as soon as the project loads. [default=true]. When true, the operator begins measuring automatically on load (equivalent to running StartCommand). Disable to require an explicit start, useful when you only want to measure a specific section of programme.
Momentary double get Loudness right now, averaged over the last 400 milliseconds, in LUFS (read-only). Reacts very quickly to level changes — useful for spotting momentary loudness spikes.
ShortTerm double get Loudness over the last 3 seconds, in LUFS (read-only). Smoother than Momentary — closer to the perceived loudness of a typical phrase or musical bar. Often the value broadcasters watch most closely during live operation.
EnableIntegratedLufs bool get/set Whether to measure integrated loudness. [default=false]. When true, the operator computes the EBU R128 integrated loudness — the standardised "average" loudness over the entire measurement period. Disable if you only need momentary or short-term readings to save a small amount of processing time.
IntegratedLoudnessLufs double get Overall programme loudness since the operator was started, in LUFS (read-only). The single value broadcasters compare against the loudness target (typically −23 LUFS for European broadcast, −16 LUFS for streaming). Only meaningful when EnableIntegratedLufs is true.
EnableRange bool get/set Whether to measure the loudness range. [default=false]. When true, the operator computes the EBU R128 loudness range — a measure of the dynamics of the programme. Disable if you don't need the range value.
LoudnessRangeLu double get Difference between the loudest and quietest parts of the programme, in LU (read-only). A high value means the programme is dynamic (orchestral music, drama with whispers and shouts); a low value means it's heavily compressed (commercials, pop music). Only meaningful when EnableRange is true.
EnablePeak bool get/set Whether to measure per-channel true-peak levels. [default=false]. When true, the operator computes the true-peak levels using oversampling — the EBU R128 measurement that catches inter-sample peaks a normal sample-peak meter would miss. Important for catching clipping that only shows up after digital-to- analogue conversion or during lossy encoding.
TruePeakLeftDbTp double get Highest true-peak level measured on the left channel since the operator was started, in dBTP (read-only). Should stay below the broadcast limit (typically −1 dBTP). Only meaningful when EnablePeak is true.
TruePeakRightDbTp double get Highest true-peak level measured on the right channel since the operator was started, in dBTP (read-only). See TruePeakLeftDbTp.
StartCommand Command get Start measuring loudness and true-peak levels.
StopCommand Command get Stop measuring and freeze the integrated loudness and loudness range at their final values.
ProcessingTimeMs double get Time spent processing the most recent audio buffer, in milliseconds (read-only, debug). Covers feeding samples into the loudness library plus reading back all enabled measurements. Useful for monitoring how heavy the chosen mix of measurements is.
PeakProcessingTimeMs double get Worst-case processing time observed since the operator was started, in milliseconds (read-only, debug).

Inherits from: AbstractAudioOperator, AbstractOperator, AbstractAudioMetering.

See also: EBU R128 in Operators — user-facing introduction, screenshots, and section summaries.