SampleMultiplexorControl
Overview
N to 1 multiplexor module with a control input operating sample-by-sample
Discussion
Multiplexor module in which the channel to select is taken from a control pin (the first pin). The control pin is an integer value in the range 0 to N-1, where N is the number of audio inputs. If the control value is outside of the allowable range it is clipped. The multiplexor operates on a sample-by-sample basis. The 1st value on the control pin selects which channel and input pin the 1st output is from. The 2nd value on the control pin selects which channel and input pin the 2nd output is from. And so on.
Each audio input pin must have the same number of channels, sample rate, real/complex, and block size. The control pin has to be single channel with the same block size as the audio pins.
Smoothing is not supported by this module.
Module Pack
Advanced
ClassID
classID = 1317
Type Definition
typedef struct _ModuleSampleMultiplexorControl
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
} ModuleSampleMultiplexorControlClass;
Pins
Input Pins
| Name | Ctrl |
| Description | Control signal |
| Data type | int |
| Channel range | 1 |
| Block size range | Unrestricted |
| Sample rate range | Unrestricted |
| Complex support | Real |
| Name | in1 |
| Description | Input signal |
| Data type | {float, int, fract32} |
| Channel range | Unrestricted |
| Block size range | Unrestricted |
| Sample rate range | Unrestricted |
| Complex support | Real and Complex |
| Name | in2 |
| Description | Input signal |
| Data type | {float, int, fract32} |
| Channel range | Unrestricted |
| Block size range | Unrestricted |
| Sample rate range | Unrestricted |
| Complex support | Real and Complex |
Output Pins
| Name | out |
| Description | Output signal |
| Data Type | {float, int, fract32} |
Matlab Usage
File Name: sample_multiplexor_control_module.m
M=sample_multiplexor_control_module(NAME, NUMINPIN)
Multiplexor with control pin that operates on a sample-by-sample basis.
The control pin's block size is the same size as other input pin's block
size. The control pin is an integer value in the range 0 to N-1. (N is
the number of data pins).
Although the control signal has to be real numbers, the data signals can
be either real or complex number. Smoothing is not supported in this
module.
Arguments:
NAME - name of the module.
NUMINPIN - number of input pins.
All input pins must have the same block size and number of channels.
Copyright (c) 2026 DSP Concepts, Inc.