Skip to content

MultiplexorSmoothedFract32

Discussion

THIS MODULE IS DEPRECATED AND NOT RECOMMENDED FOR NEW DESIGNS. PLEASE USE THE MultiplexorV2Fract32 MODULE INSTEAD.

This module has a variable number of input pins and routes (or copies) one of these pins to the output. Each input pin must have the same number of channels and block size. The parameter index specifies which of the input pins to route to the output. index is zero based and must lie in the range [0 NUMINPIN-1] where NUMINPIN is the number of input pins. If index is outside of the allowable range, it is clipped so that it lies in the proper range.

Note that this module has built in smoothing to prevent audible clicks. Use the multiplexor_module.m if you do not need smoothing.

Module Pack

Deprecated

ClassID

classID = 2030

Type Definition

typedef struct _ModuleMultiplexorSmoothedFract32
{
ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
INT32 index;                                  // Specifies which input pin to route to the output.  The index is zero based.
FLOAT32 smoothingTime;                        // Time constant of the smoothing process
fract32 smoothingCoeffFract32;                // Smoothing coefficient
INT32 currentIndex;                           // This is index that is currently being used and the module smoothly transitions to index
fract32 currentGainFract32;                   // Instanteous gain being applied.  This is an internal variable used in the smoothing process
} ModuleMultiplexorSmoothedFract32Class;

Variables

Properties

Name Type Usage isHidden Default Value Range Units
index int parameter 0 0 0:2
smoothingTime float parameter 0 10 0:100 msec
smoothingCoeffFract32 fract32 derived 1 0.0020811 Unrestricted
currentIndex int parameter 1 0 Unrestricted
currentGainFract32 fract32 state 1 0 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
Name in2
Description Input signal
Data type fract32
Channel range Unrestricted
Block size range Unrestricted
Sample rate range Unrestricted
Complex support Real
Name in3
Description Input signal
Data type fract32
Channel range Unrestricted
Block size range Unrestricted
Sample rate range Unrestricted
Complex support Real

Output Pins

Name out
Description Output signal
Data Type fract32

Matlab Usage

File Name: multiplexor_smoothed_fract32_module.m 
 M=multiplexor_smoothed_fract32_module(NAME, NUMINPIN) 
 Creates a multiplexor module for using in the Audio Weaver.  The 
 module has multiple input pins and routes 1 of the inputs to the 
 output.  Arguments: 
    NAME - name of the module. 
    NUMINPIN - number of input pins. 

 All input pins must have the same block size and number of channels. 

 Note, this version has built in smoothing with a progammable smoothing 
 time.  If you do not need smoothing, use multiplexor_module.m instead 
 which leads to a more efficient implementation. 

Copyright (c) 2026 DSP Concepts, Inc.