Skip to content

Session export

Export accumulated loudness measurements in EBU R128-compliant formats.


Overview

VERO-BAAMBI continuously accumulates loudness data from the moment measurement begins. The session export module provides two standards-compliant output formats:

FormatStandardUse Case
JSONEBU R128 terminologyInternal QC, archiving, automation
XMLITU-R BS.2076 (ADM)Regulatory delivery, broadcast QC systems

Session Duration

Unlike radar history (limited to 30–600 seconds), session export uses continuously accumulated data:

ParameterData SourceDuration
Integrated (I)LUFS meterEntire session
Loudness Range (LRA)LUFS meterEntire session
True Peak MaxmeterStateEntire session
Session durationmeterStateWall-clock time

Session length is unlimited. A 4-hour broadcast will produce a complete report.


Exported Parameters

Loudness (EBU R128 / ITU-R BS.1770-4)

ParameterUnitDescription
integratedLUFSGated programme loudness
rangeLULoudness Range (EBU Tech 3342)
targetLUFSTarget loudness (default: −23)
deviationLUDifference from target

True Peak (ITU-R BS.1770-4)

ParameterUnitDescription
maxdBTPMaximum True Peak (both channels)
maxLeftdBTPMaximum True Peak (left channel)
maxRightdBTPMaximum True Peak (right channel)

Session Metadata

ParameterFormatDescription
startISO 8601Session start time
endISO 8601Session end time
durationHH:MM:SSActive duration
pausedSecondssecondsTotal paused time

JSON Format

Example Output

{
"format": "EBU R128 Session Report",
"version": "1.0",
"generated": "2026-01-04T14:30:00.000Z",
"generator": "TSG VERO-BAAMBI",
"session": {
"start": "2026-01-04T12:00:00.000Z",
"end": "2026-01-04T14:30:00.000Z",
"duration": "2:30:00",
"durationSeconds": 9000,
"pausedSeconds": 120
},
"loudness": {
"integrated": -23.1,
"integratedUnit": "LUFS",
"range": 8.2,
"rangeUnit": "LU",
"target": -23,
"targetUnit": "LUFS",
"deviation": -0.1,
"deviationUnit": "LU"
},
"truePeak": {
"max": -1.5,
"maxLeft": -1.5,
"maxRight": -2.1,
"unit": "dBTP"
},
"compliance": {
"integratedWithinTolerance": true,
"truePeakBelowLimit": true,
"toleranceUsed": "±1.0 LU",
"truePeakLimit": "-1.0 dBTP"
},
"reference": {
"standard": "EBU R128",
"meteringSpec": "EBU Tech 3341",
"loudnessRange": "EBU Tech 3342",
"truePeak": "ITU-R BS.1770-4",
"gating": "ITU-R BS.1770-4 §5"
}
}

Compliance Flags

The compliance section provides quick pass/fail indicators:

FlagConditionEBU R128 Requirement
integratedWithinTolerance|I − target| ≤ 1.0 LUProgramme loudness ±1 LU
truePeakBelowLimitTP ≤ −1.0 dBTPMaximum permitted level

XML Format (ADM)

Standards Compliance

The XML export follows:

  • ITU-R BS.2076 — Audio Definition Model
  • EBU Tech 3364 — ADM Metadata Specification
  • EBU Tech 3293 — EBUCore Metadata Set

Example Output

<?xml version="1.0" encoding="UTF-8"?>
<ebuCoreMain xmlns="urn:ebu:metadata-schema:ebucore"
xmlns:adm="urn:ebu:metadata-schema:adm">
<coreMetadata>
<title>VERO-BAAMBI Loudness Report</title>
<creator>TSG VERO-BAAMBI</creator>
<date>
<created>2026-01-04T12:00:00.000Z</created>
<modified>2026-01-04T14:30:00.000Z</modified>
</date>
<duration>PT2H30M0S</duration>
<format>
<audioFormat>
<adm:audioFormatExtended>
<adm:audioProgramme audioProgrammeID="APR_1001"
audioProgrammeName="VERO-BAAMBI Session"
start="PT0S"
end="PT2H30M0S">
<adm:loudnessMetadata loudnessMethod="ITU-R BS.1770"
loudnessRecType="EBU R128"
loudnessCorrectionType="file">
<adm:integratedLoudness>-23.1</adm:integratedLoudness>
<adm:loudnessRange>8.2</adm:loudnessRange>
<adm:maxTruePeak>-1.5</adm:maxTruePeak>
<adm:maxMomentary>-18.2</adm:maxMomentary>
<adm:maxShortTerm>-20.1</adm:maxShortTerm>
</adm:loudnessMetadata>
</adm:audioProgramme>
</adm:audioFormatExtended>
</audioFormat>
</format>
</coreMetadata>
</ebuCoreMain>

loudnessMetadata Attributes

AttributeValueDescription
loudnessMethodITU-R BS.1770Measurement algorithm
loudnessRecTypeEBU R128Target recommendation
loudnessCorrectionTypefileCorrection applied to file

loudnessMetadata Elements

ElementUnitDescription
integratedLoudnessLUFSGated programme loudness
loudnessRangeLUEBU Tech 3342 LRA
maxTruePeakdBTPMaximum True Peak
maxMomentaryLUFSMaximum momentary loudness
maxShortTermLUFSMaximum short-term loudness

API Reference

Import

import {
getSessionData,
generateJSON,
generateXML,
downloadSessionJSON,
downloadSessionXML
} from './app/session-export.js';

getSessionData(lufsMeter, targetLufs)

Collect accumulated session data from meters.

const data = getSessionData(lufsMeter, -23);
console.log(data.integrated); // -23.1
console.log(data.truePeakMax); // -1.5
console.log(data.durationFormatted); // "2:30:00"

generateJSON(data)

Generate JSON string from session data.

const data = getSessionData(lufsMeter, -23);
const json = generateJSON(data);

generateXML(data, options)

Generate ADM-compliant XML from session data.

const data = getSessionData(lufsMeter, -23);
const xml = generateXML(data, {
programmeName: 'Evening News',
programmeId: 'APR_2001'
});

downloadSessionJSON(lufsMeter, targetLufs, filename)

Download session data as JSON file.

my-session.json
downloadSessionJSON(lufsMeter, -23, 'my-session.json');

downloadSessionXML(lufsMeter, targetLufs, filename, options)

Download session data as XML file.

my-session.xml
downloadSessionXML(lufsMeter, -23, 'my-session.xml', {
programmeName: 'Documentary'
});

GUI Integration

Session capture is available via the Session Capture panel in the sidebar menu.

Controls

ControlAction
Start SessionBegin capturing (resets integrated values)
Stop SessionStop capturing (data preserved for export)
Export JSONDownload session as JSON file
Export XMLDownload session as ADM-compliant XML file
Enable captureToggle whether C key controls session capture

Header Indicator

When capture is enabled, a Capture badge appears in the header (matching the Calibrated badge style):

StateAppearance
ReadyGrey badge with duration field
CapturingRed badge with running duration counter

Keyboard Shortcut

KeyBehaviour
CToggle session capture (when hotkey enabled)

Regulatory Acceptance

JSON Format

Use CaseAcceptance
Internal QC✓ Recommended
Archiving✓ Recommended
Automation scripts✓ Recommended
EBU/regulatory delivery⚠ Check requirements

XML Format (ADM)

Use CaseAcceptance
EBU member delivery✓ Per EBU Tech 3364
BWF embedding✓ Via axml chunk
Broadcast QC systems✓ Standard format
Regulatory submission✓ Check local requirements

Comparison with Radar Export

AspectRadar ExportSession Export
Duration limit30–600 secondsUnlimited
Data sourceradarHistory bufferLUFS meter accumulators
Short-term history✓ IncludedCurrent values only
Integrated (I)Passed inFrom LUFS meter
LRAPassed inFrom LUFS meter
True PeakPassed inFrom meterState
FormatJSON onlyJSON + XML (ADM)

References


Document version: 1.0 Last updated: 2026-01-04