Document toolboxDocument toolbox

(8.D.2.5) ScalerFract32

Overview

Linear multichannel scaler

Discussion

The Scaler module scales multichannel signals by a single gain value. By default, the module has a 1 input and 1 output pin.

The module can also be configured for an arbitrary number of input and output pins. In this case, the ith input pin is scaled and copied to the ith output pin. The same scale factor is used in all cases and the dimensions and sample rate of each signal can be arbitrary

This module is multi-type and supports both floating-point and fract32 audio signals. The module is not smoothly varying, and the gain value is applied to both the real and imaginary parts. If you update the gain value, you may introduce an audible click. For clickless operation, use the ScalerSmoothedFract32 module instead, which does not work with complex data.

Type Definition

typedef struct _ModuleScalerFract32 { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure FLOAT32 gain; // Linear gain fract32 f; // Multiplicative gain factor INT32 shift; // Number of bits to shift } ModuleScalerFract32Class;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

gain

float

parameter

0

1

-10:10

linear

f

fract32

derived

1

0.5

Unrestricted

 

shift

int

derived

1

1

Unrestricted

 

Pins

Input Pins

Name: in1

Description: Input signal

Data type: fract32

Channel range: Unrestricted

Block size range: Unrestricted

Sample rate range: Unrestricted

Complex support: Real and Complex

Output Pins

Name: out1

Description: Output signal

Data type: fract32

MATLAB Usage

File Name: scaler_fract32_module.m

M=scaler_fract32_module(NAME, NUMPINS) Creates a linear scaler for use with the Audio Engine. The scaler operates on fractional 32-bit values. By default, the scaler has a single multichannel input and scales all channels by the same value. Arguments: NAME - name of the module. NUMPINS - Number of pins The module be configured for multiple pins, using an optional second argument: M=scaler_fract32_module(NAME, NUMPINS) The ith input pin is then scaled and placed in the ith output pin. In all cases, the same scale factor is applied to all values.

Â