Skip to content

SbSplitter

Overview

Subband splitter module

Discussion

Module Pack

Advanced

ClassID

classID = 1329

Type Definition

typedef struct _ModuleSbSplitter
{
ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
INT32 numOut;                                 // Number of output pins
FLOAT32* bandEdges;                           // Cutoff frequencies between bands, in Hz
FLOAT32* transitionWidths;                    // Width of the transition region between bands (Hz or Octave)
FLOAT32* gains;                               // Internal array of gain factors.  Each column represents a different output.
} ModuleSbSplitterClass;

Variables

Properties

Name Type Usage isHidden Default Value Range Units
numOut int const 0 2 Unrestricted
bandEdges float* parameter 0 [1 x 1] 0:24000
transitionWidths float* parameter 0 [1 x 1] 0:24000
gains float* derived 1 [129 x 2] Unrestricted

Pins

Input Pins

Name in
Description audio input
Data type float
Channel range Unrestricted
Block size range Unrestricted
Sample rate range Unrestricted
Complex support Real and Complex

Output Pins

Name out1
Description audio output
Data Type float
Name out2
Description audio output
Data Type float

Matlab Usage

File Name: sb_splitter_module.m 
 M = sb_splitter_module(NAME, NUMOUT, FFTSIZE) 
 Creates a module which splits subband data into separate frequency 
 bands.  In some sense, it acts like a multiband crossover based on 
 linear gains within each subband.  The gains are 1.0 in the center of 
 each band and a cosine window is used for smoothing between bands. 
 The width of the smoothing interval between each pair of bands can 
 be individually set. The module operates on real or complex subband 
 data.  Arguments: 
    NAME - name of the module. 
    NUMOUT - number of output bands.  By default = 2. 
    FFTSIZE - optional argument which sets the default size of the array. 
              By default, FFTSIZE = 256 and the internal gain arrays have 
              a length of 257. 

 The module's processing function copies the input data to each 
 output pin and applies a linear set of frequency gains.  The 
 gains are different for each output pin and the gains are computed 
 by the module's set function. 

Copyright (c) 2026 DSP Concepts, Inc.