Document toolboxDocument toolbox

(8.D.2.7) MeterFract32

Overview

Peak and RMS meter module

Discussion

The MeterFract32 module provides a flexible level meter that can operate in several modes. The module has a single multichannel input and separately meters each channel. The meter can be configured to conform to IEC 60280-10 (peak meters) and IEC 60280-17 (VU Meter) specifications. The meterType parameter is used to configure the module as follows.

meterType

Description

Attack Time (msec)

Release Time (msec)

Comments

meterType

Description

Attack Time (msec)

Release Time (msec)

Comments

0

FastPeakSample

5

1087

Peak meter: IEC 60280-10 "fast mode"

1

SlowPeakSample

10

1450

Peak meter: IEC 60280-10 "slow mode"

2

VUMeterSample

65

65

IEC 60280-17 standard "VU meter"

3

CustomSample

user

user

Set the attackTime and releaseTime from a Matlab script

16

FastPeakBlock

5

1087

Computationally efficient peak meter: IEC 60280-10 "fast mode"

17

SlowPeakBlock

10

1450

Computationally efficient peak meter: IEC 60280-10 "slow mode"

18

VUMeterBlock

65

65

Computationally efficient IEC 60280-17 standard "VU meter"

19

CustomBlock

user

user

Computationally efficient custom meter. Set the attackTime and releaseTime from a Matlab script

In meterTypes 0 to 3, the peak attack and release are performed on a sample-by-sample basis in the envelope follower. In meterTypes 16 to 19, the peak absolute value for the entire input block is found and this one value is passed through the envelope follower.

Type Definition

typedef struct _ModuleMeterFract32 { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure INT32 meterType; // Operating module of the meter. Selects between peak and RMS calculations. See the discussion section for more details FLOAT32 attackTime; // Attack time of the meter. Specifies how quickly the meter value rises FLOAT32 releaseTime; // Release time of the meter. Specifies how quickly the meter decays fract32 attackCoeffFract32; // Internal coefficient that realizes the attack time fract32 releaseCoeffFract32; // Internal coefficient that realizes the release time fract32* value; // Array of meter output values, one per channel } ModuleMeterFract32Class;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

meterType

int

parameter

0

18

0:3, 16:19

 

attackTime

float

derived

1

65

0:1000

msec

releaseTime

float

derived

1

65

0:10000

msec

attackCoeffFract32

fract32

derived

1

0.02336

Unrestricted

 

releaseCoeffFract32

fract32

derived

1

0.02336

Unrestricted

 

value

fract32*

state

0

[1 x 1]

-60:10

 

Pins

Input Pins

Name: in

Description: audio input

Data type: fract32

Channel range: Unrestricted

Block size range: Unrestricted

Sample rate range: Unrestricted

Complex support: Real

Scratch Pins

Channel count: 1

Block size: 32

Sample rate: 48000

MATLAB Usage

File Name: meter_fract32_module.m

M=meter_fract32_module(NAME) Creates a meter module for usein the Audio Weaver environment. The module has a single multi-channel input pin. Arguments: NAME - name of the module.

Â