Package MSP

loudness~

Report loudness of a signal

Description

The loudness~ object reports the loudness of a signal according to the EBU R 128 standard. Momentary, short term, and integrated loudness measures are reported in LUFS (loudness units referenced to full scale). Additionally, the signal's loudness range is reported in loudness units, while sample peak true peak values are reported in dB. You can use these measurements to normalize audio signals for various broadcast and streaming platforms.

Arguments

OBJARG_NAME[OBJARG_TYPE]
optional

If present, a number specifies the number of input signal inlets. The default is a single input signal inlet. When multiple input signals are used, the loudness calculations will be integrated across all signals.

Attributes

channel[int]: -1

The channel attribute allows you to select a specific input signal for peak measurement. The default value of 0 reports the highest sample peak among all input signals, a non-zero value reports the sample peak in a specific input signal.

inputs[int]: 1

The number of signal input channels. The inputs attribute can only be set as a typed-in argument.

interval[float]: 0.

When the interval attribute is non-zero, the loudness~ object reports loudness values automatically at a specified interval in milliseconds. Measurements for momentary and short-term loudness are taken over a sliding window, so they may change more frequently than the interval measured (400 ms for momentary and 3 seconds for short-term). When the interval is 0, automatic reporting is disabled and a bang or int message is required to report the loudness.

Common Box Attributes

Below is a list of attributes shared by all objects. If you want to change one of these attributes for an object based on the object box, you need to place the word sendbox in front of the attribute name, or use the object's Inspector.

annotation[symbol]

Sets the text that will be displayed in the Clue window when the user moves the mouse over the object.

background[int]: 0

Adds or removes the object from the patcher's background layer. background 1 adds the object to the background layer, background 0 removes it. Objects in the background layer are shown behind all objects in the default foreground layer.

color[4 floats]

Sets the color for the object box outline.

fontface[int]

Sets the type style used by the object. The options are:

plain
bold
italic
bold italic Possible values:

0 = 'regular'
1 = 'bold'
2 = 'italic'
3 = 'bold italic'

fontname[symbol]

Sets the object's font.

fontsize[float]

Sets the object's font size (in points). Possible values:

'8'
'9'
'10'
'11'
'12'
'13'
'14'
'16'
'18'
'20'
'24'
'30'
'36'
'48'
'64'
'72'

hidden[int]: 0

Toggles whether an object is hidden when the patcher is locked.

hint[symbol]

Sets the text that will be displayed in as a pop-up hint when the user moves the mouse over the object in a locked patcher.

ignoreclick[int]: 0

Toggles whether an object ignores mouse clicks in a locked patcher.

jspainterfile[symbol]

JS Painter File

patching_rect[4 floats]: 0. 0. 100. 0.

Sets the position and size of the object in the patcher window.

position[2 floats]
write-only

Sets the object's x and y position in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its size unchanged.

presentation[int]: 0

Sets whether an object belongs to the patcher's presentation.

presentation_rect[4 floats]: 0. 0. 0. 0.

Sets the x and y position and width and height of the object in the patcher's presentation, leaving its patching position unchanged.

rect[4 floats]
write-only

Sets the x and y position and width and height of the object in both patching and presentation modes (if the object belongs to its patcher's presentation).

size[2 floats]
write-only

Sets the object's width and height in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its position unchanged.

textcolor[4 floats]

Sets the color for the object's text in RGBA format.

textjustification[int]

Sets the justification for the object's text. Possible values:

0 = 'left'
1 = 'center'
2 = 'right'

varname[symbol]

Sets the patcher's scripting name, which can be used to address the object by name in pattr, scripting messages to thispatcher, and the js object.

Messages

bang

Reports all loudness and peak values

int

A value of 0 reports the highest sample peak among all input signals, a non-zero value reports the sample peak in a specific input signal.

float

Converted to int

reset

The reset message resets the integrated loudness and peak value calculations. You may wish to do this at the beginning of playing back an audio program for which you want a global loudness measurement. These calculations are also reset when restarting audio.

signal

Signal to be measured

See Also

Name Description
meter~ Visual peak level indicator
levelmeter~ RMS level meter
snapshot~ Convert signal values to numbers
mcs.loudness~
average~ Multi-mode signal average
avg~ Signal average
peakamp~ Report the maximum amplitude of a signal