Skip to main content
Skip table of contents

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.

Type Definition

CODE
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

CODE
 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.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.