Skip to content

MixerDense

Discussion

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

This module implements a full M-input x N-output mixer with a total of MxN coefficients. When using the module in MATLAB, the coefficients are contained in the .coeffs matrix with the gain from the ith input to the jth output found at coeffs(i, j). From the C code point of view, the .coeffs array is a one dimensional array of length MxN. The gain from input m (0 <= m <= M-1) to output n (0 <= n <= N-1) is stored at:

coeffs[m + n*M]

The module's processing function has been optimized for a large number of non-zero coefficients. If you expect to have a sparse gain matrix, then the mixer_module.m is a better choice.

Put another way, the first M coefficients are the gains needed to compute the first output channel. The next M coefficients are the gains needed to compute the second output channel, and so out.

Note, this mixer is not smoothly updating and changes to the gain coefficients may result in audible clicks. Use the mixer_smoothed_module for clickless updates.

When the module is bypassed, it copies the ith input channel to the ith output channel. If the module has more output channels than input channels, the remaining output channels are set to 0.

Module Pack

Deprecated

ClassID

classID = 2021

Type Definition

typedef struct _ModuleMixerDense
{
ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
FLOAT32* gain;                                // Array of linear gain factors. The size of the array is numIn * numOut.
} ModuleMixerDenseClass;

Variables

Properties

Name Type Usage isHidden Default Value Range Units
gain float* parameter 0 [1 x 2] -60:20

Pins

Input Pins

Name in
Description audio input
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 audio output
Data Type {float, int, fract32}

Matlab Usage

File Name: mixer_dense_module.m 
 M=mixer_dense_module(NAME, NUMOUT) 
 Creates a multichannel mixer module for usd in the Audio Weaver Environment. 
 This is the dense mixer which has been optimized for a non sparse gain matrix. 
 The mixer has one input and one output pin.  Each of these pins can 
 contain multiple interleaved channels.  The number of input channels is 
 determined by the upstream audio module.  However, you must specify the 
 number of output channels at construction time.   

 Arguments: 
   NAME - name of the module. 
   NUMOUT - number of output channels. 

Copyright (c) 2026 DSP Concepts, Inc.