Skip to content

Sb2micICv1

Overview

Cancel external interfering sound for Voice UI application

Discussion

DSP Concepts proprietary 2-mic Interfering Sound Canceler module. This module works in conjunction with the WOLA filterbank modules. The module has two two-channel frequency-domain audio input pins and one control pin. The first pin is two-microphone signals and the second pin is two end-fire beamforming signals. The third pin is keyword trigger flag. The module has two output pins. The first pin is mono interfering sound canceler output and the second pin is stereo interfering sound canceler output signals. If keyword trigger status is not available, connect DC source int with value of zero to the third input pin.

The module operates on any block size and any sampling rate. At instantiation time, the maximum tail length and latency are specfied in millisecond unit. At run time, actual tail length and latency are specified in millisecond unit.

The module analyzes external interfering sound and cancels it from microphone signal while preserving keyword utterances.

Module Pack

awe-mod-dspc-vui

ClassID

classID = 15400

Type Definition

typedef struct _ModuleSb2micICv1
{
ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
FLOAT32 maxTailLength;                        // Maximum tail length in milliseconds.
FLOAT32 maxLatency;                           // Maximum latency in milliseconds.
FLOAT32 SR;                                   // sampling rate in Hz 
FLOAT32 tailLength;                           // Tail length, in milliseconds.
FLOAT32 latency;                              // Latency, in milliseconds.
INT32 aecMaxTaps;                             // Maximum tail length in samples.
INT32 aecNumTaps;                             // tail length in samples.
INT32 maxBlockDelay;                          // Maximum block delay.
INT32 blockDelay;                             // block delay.
INT32 blockExtractStartIndex;                 // Block extract start index.
INT32 blockExtractEndIndex;                   // Block extract end index.
// +35 private module(s)                     } ModuleSb2micICv1Class;

Variables

Properties

Name Type Usage isHidden Default Value Range Units
maxTailLength float const 0 150 Unrestricted
maxLatency float const 0 50 Unrestricted
SR float const 0 48000 Unrestricted
tailLength float parameter 0 0 1:150 msec
latency float parameter 0 0 0:50 msec
aecMaxTaps int const 0 7200 Unrestricted
aecNumTaps int const 0 7200 Unrestricted
maxBlockDelay int const 0 2400 Unrestricted
blockDelay int const 0 0 Unrestricted
blockExtractStartIndex int const 0 0 Unrestricted
blockExtractEndIndex int const 0 2 Unrestricted

Pins

Input Pins

Name micIn
Description Audio input
Data type float
Channel range 2
Block size range Unrestricted
Sample rate range Unrestricted
Complex support Complex
Name beamIn
Description Audio input
Data type float
Channel range 2
Block size range Unrestricted
Sample rate range Unrestricted
Complex support Complex
Name freezeFlag
Description Audio input
Data type int
Channel range 1
Block size range 1
Sample rate range Unrestricted
Complex support Real

Output Pins

Name monoOut
Description Audio input
Data Type float
Name stereoOut
Description Audio input
Data Type float

Scratch Pins

Channel Count 1
Block size 32
Sample rate 48000
Channel Count 1
Block size 32
Sample rate 48000
Channel Count 1
Block size 32
Sample rate 48000
Channel Count 1
Block size 32
Sample rate 48000
Channel Count 1
Block size 3
Sample rate 48000
Channel Count 1
Block size 3
Sample rate 48000
Channel Count 1
Block size 3
Sample rate 48000
Channel Count 1
Block size 1
Sample rate 16000
Channel Count 1
Block size 1
Sample rate 48000
Channel Count 2
Block size 32
Sample rate 48000
Channel Count 1
Block size 1
Sample rate 48000
Channel Count 1
Block size 3
Sample rate 48000
Channel Count 1
Block size 3
Sample rate 48000
Channel Count 1
Block size 1
Sample rate 48000
Channel Count 3
Block size 3
Sample rate 48000
Channel Count 1
Block size 1
Sample rate 48000
Channel Count 1
Block size 1
Sample rate 48000
Channel Count 1
Block size 1
Sample rate 48000
Channel Count 1
Block size 1
Sample rate 48000

Matlab Usage

File Name: sb_2mic_IC_v1_module.m 
 M = sb_2mic_IC_v1_module(NAME) 
 Creates a 2-mic interfering sound canceler module which cancels external 
 interfering sound in microphone signal with using two microphones. Arguments: 
   NAME - name of the module. 
   MAXTAIL - maximum tail length of the internal adaptive filter.  This is 
     specified in units of msec and defaults to 128. 
   MAXLATENCY - Lookahead switching latency allowing the algorithm to 
     settle.  In units of msec and this defaults to 50. 
   SR - sample of the corresponding time domain signal.  Defaults to 
     16000. 

Copyright (c) 2026 DSP Concepts, Inc.