Document toolboxDocument toolbox

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

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.

Â