DPS Mic

The DPSMic SDK contains all of the standard DPS functions with the addition of Noise Reduction and other features unique to input signal processing.

Noise Reduction

In the current version, the AI Noise Reduction algorithms work at a 16kHz sample rate. To allow for the best possible quality for all applications, we allow independent control of the original signal (InputGain) and the noise reduction algorithm output (NrGain). These two signals are blended via the gain, amount, and syncDelay controls.

`DPSMic SDK Signal Diagram

NOTE: While it is possible to control the noise reduction features in real-time using the functions listed below, we recommend loading a BGPS file with these parameters pre-set for your use case. The latest version of Profile Creator 2 provides a UI for setting these parameters in the Preset Manager window. Contact your Bongiovi agent for more information.

get/setNrEnabled

Set true to enable the Noise Reduction effect. Disabling removes the sync delay and InputGain effects.

get/setAlgorithm

Multiple noise reduction algorithms are available depending on your use case. This API is used to set or get the index of available algorithms (v2.0.0.1).

Algorithm DescriptionIdentifier
AI Clarity v1 – This algorithm will attempt to create a completely dry (no reverberation or background noise) speech result. Works will with radio or telephone voices and other headset use cases.0
AI Natural v1 – This algorithm will detect speech then attempt to remove non-speech signals while keeping the voice a natural-sounding as possible. Allows adjustment of Aggressiveness and Lower Bound for fine-tuning.1

get/setNrAmount

Adjusts the amount of AI Noise Reduction as a percentage (float 0 to 1). This automatically adjusts NrGain and InputGain for an easy-to-use user-facing feature.

RangePercentageFloat
Minimum0%0.0
Median50%0.5
Maximum100%1.0

get/setNrGain

Set the level of the noise reduction algorithm output.

RangeDecibelsScalar Float
Minimum-40dB0.01
Unity0dB1.0
Maximum+6dB2.0

get/setNrMuted

Set true to mute the Noise Reduction algorithm output.

get/setNrAggressiveness

This is available when the AI Natural v1 (algorithm ID 1) noise reduction algorithm is selected.

DescriptionValue
Not aggressive – Will attempt to have minimal impact on the voice when removing noise0
Normal – Will allow small impact on the voice to remove noise1
Very Aggressive – Will allow more impact on the voice to remove as much noise as possible2

get/setNrLowerBound

This is available when the AI Natural v1 (algorithm ID 1) noise reduction algorithm is selected. This parameter is used to limit the amount of noise reduction to provide a more natural-sounding result. The “lower bound” represents the maximum allowed noise reduction by the algorithm.

NOTE: This API is set as a range between 0 (maximum noise reduction) and 1 (no noise reduction). However, we recommend using a decibel conversion to provide easier control for the user.

Range DescriptionValue
Maximum (100%) noise reduction (about -40dB)0
Medium (50%) noise reduction (about -6dB)0.5
None (0%) same as source1

Input (original signal)

get/setInputMuted

Set true to mute the original signal.

get/setInputGain

Set the level of the original signal.

RangeDecibelsScalar Float
Minimum-40dB0.01
Maximum0dB1.0

get/setInputDelay

Set a delay in milliseconds to synchronize the input signal with the delayed noise reduction algorithm output. The delay is introduced by algorithm, sample rate conversion, and buffer handling latency.

The range is 0.0ms to 80.0ms. Currently, 55.2ms works well for most common sample rates.

Core DPS Functions

See DPS SDK Reference

Was this page helpful?