Programmable Voice

  1. Home
  2. Docs
  3. Programmable Voice
  4. HMP Elements
  5. Conferencing Settings

Conferencing Settings

For a detailed overview on conferencing please see: HMP Elements – Conferencing Overview

Front End Gain

The front end gain is a simple increase or decrease of the incoming signal. Based on the requested gain (in dB), the volume of the signal is either amplified or reduced. A positive gain will increase the volume and a neqative gain will decrease it. Be very careful in your code to not over gain the signal or clipping will occur. (It is recommended that you do not increase the gain more than 10 to 20 dB.

Programmatic Settings

Front end gain can only be changed programmatically on a per channel basis.

ChannelResource.SetConferenceFEGLevel(float gain);

Setting the value to 0 will disable any front end gain processing. This can be called without taking the participant out of the conference.

This setting will take effect immediately.

Be sure to set the gain for the channel to zero the first time you add it to a new conference, otherwise the last value set will continue to be used.

Echo Cancellation

Hmp Elements provides for up to 200ms of echo cancellation on a per channel basis. Care must be take in chosing the correct settings for your network configuration. Calls over the internet are particularly difficult to manage due to packet loss, out of order packets, and jitter.

Configuration Settings

Note: Configuration settings are found in the HmpElementsServer.exe.config file.

EchoCancelEnabled

This setting allows you to enable or disable echo cancellation on a system wide basis. Changes take approximately 10 seconds to take effect. This setting overrides all other settings.

Default: True

Allowable: True, False

EchoCancelAlgType

This setting controls the specific algorythm used for echo cancellation. SubBand is the preferred algorythm for high density systems.

Default: 0

Allowable: 0 (Sub-Band), 1 (Full-Band), 2 (Fast Sub-Band)

Note: This setting cannot be changed while the system is in operation. You must restart HMP Elements for a new value to take effect.

EchoCancelEchoTail

This sets the echo tail in milliseconds. The longer the tail, the more memory and processor power is required.

Default: 150

Allowable: 10-200

Note: This setting cannot be changed while the system is in operation. You must restart HMP Elements for a new value to take effect.

EchoCancelAdapt

This setting controls the adaptation type. You may select full adapatation, lite adaptation, which reduces the load on the processor or disbale the adaptation.

Default: 1

Allowable: 0 (Disabled), 1 (Full Adapatation), 2 (Lite Adaptation)

Changes take approximately 10 seconds to take effect.

EchoCancelZeroCoeff

When set, this setting tells the echo canceller to restart its evaluation of the echo signal each time a person is placed in a conference. This should be set in changing environments.

Default: 0

Allowable: 0 (Coefficients are not zeroed), 1 (Coefficients are reevaluated each time a participant enters the conference)

Changes take approximately 10 seconds to take effect.

EchoCancelCng

This setting inserts a small amount of comfort noise in the places that echo is cancelled.

Default: 0

Allowable: 0 (Comfort noise is disabled), 1 (Comfort noise is enabled)

Changes take approximately 10 seconds to take effect.

EchoCancelNlp

This setting determines the type of Non-Linear processing used for echo calculations. Use options 2 and 3 only when using they subband algorythm.

Default: 3

Allowable: 0 (NLP Diabled), 1 (NLP type for all modes), 2 (NLP type for Sub Band Fast), 3 (1+2 combined)

Changes take approximately 10 seconds to take effect.

EchoCancelTd

This setting enables or disables the tone disabler.

Default: 0

Allowable: 0 (Tones are not clamped), 1 (Tones are clamped)

Changes take approximately 10 seconds to take effect.

EchoCancelAh

This setting enables or disables the anti-howler code.

Default: 0

Allowable: 0 (Disable anti howling), 1 (Spectra based anti-howling is enabled), 2 (Energy based anti-howling is enabled)

Changes take approximately 10 seconds to take effect.

EchoCancelAp

This setting changes the affine projection order. Here 1 or 4 is recommended. This setting only applies to the Sub-Band Algorythm.

Default: 0

Allowable: 1, 2, 3, or 4

Changes take approximately 10 seconds to take effect.

EchoCancelNr

Enabled or disables the noise reduction of the echo canceller.

Default: 1

Allowable: 0 (Disable NR), 1 (Low NR) 2 (Medium NR), 3 (Normal NR), 4 (High NR), 5 (Automatic NR)

Changes take approximately 10 seconds to take effect.

EchoCancelNrSmooth

Sets the smoothing operation for noise reduction.

Default: 0

Allowable: 0 (Disable Smoothing), 1 (Static Smoothing) 2 (Dynamic Smoothing)

Changes take approximately 10 seconds to take effect.

EchoCancelDcFlag

Removes any DC component from the signal.

Default: 0

Allowable: 0 (Disable DC removal), 1 (Enable DC removal)

Changes take approximately 10 seconds to take effect.

Programmatic Settings

Echo cancellation can be turned on or off on a per channel basis.

ChannelResource.ConferenceAttributes.EchoCancellation = true;

Setting the value to false will disable the echo canceller for this channel. This can be called without taking the participant out of the conference.

This setting will take effect immediately.

Be sure to set the attributes for a new participant the first time you add them to a new conference, otherwise the last value set will continue to be used.

The Echo Tail Delay can be set on a per channel basis.

ChannelResource.SetConferenceECTailDelay(int tailDelay);

Setting the value to 0 will not buffer in any extra delay. Valid values are from 0 to 200 in 10ms units. IE: 1=10ms, 10=100ms, and 200=2sec.

This setting will take effect immediately.

Be sure to set this value to zero for a new participant the first time you add them to a new conference, otherwise the last value set will continue to be used.

Noise Reduction

Noise reduction can be enabled for times when the echo canceller is not is use on a channel. These are system wide settings.

Configuration Settings

Note: Configuration settings are found in the HmpElementsServer.exe.config file.

NoiseReductionEnabled

This setting allows you to enable or disable noise reduction on a system wide basis. Changes take approximately 10 seconds to take effect. This setting overrides all other settings.

Default: False

Allowable: True, False

NoiseReductionLevel

Enabled or disables the noise reduction system.

Default: 1

Allowable: 0 (Disable NR), 1 (Low NR) 2 (Medium NR), 3 (Normal NR), 4 (High NR), 5 (Automatic NR)

Changes take approximately 10 seconds to take effect.

NoiseReductionSmoothMode

Sets the smoothing operation for noise reduction.

Default: 0

Allowable: 0 (Disable Smoothing), 1 (Static Smoothing) 2 (Dynamic Smoothing)

Changes take approximately 10 seconds to take effect.

Automatic Gain Control (AGC)

Configuration Settings

Note: Configuration settings are found in the HmpElementsServer.exe.config file.

AutomaticGainControlMaxGain

This is the maximum gain that will be applied at any time to the conference input channels before mixing. For exmple, if the incoming signal for an active participant is averaging -30db, the most this signal will be boosted (amplified) is 11.6db. Keep in mind that the system is trying to reach the “Target” level which is described below.

Default: 11.6 (db)

AutomaticGainControlTarget

This is the level in db (without the negative sign), that the gain control is trying to acheive for each input channel. If the signal is stronger than the target, it’s volume is reduced to attempt to reach the target level. Conversely, if the signal is quieter than the target then the signal is boosted to try to reach the target level. The Target and the MaxGain work together to keep from boosting background noise into the conference. For example of the Target is set to 10 (representing -10db), and your signal is -30db, and the MaxGain is 10db, this signal would get a maximum boost of 10db to -20db. Never quite reaching the target. This is important to consider when setting the levels in this section.

The important thing to realize is that if you lower the Target (IE from -21 to say -25), you will need to lower the maxGain, otherwise, background noise could be boosted into the target area. The reverse is true for increasing the Target. If you increase it too much, you may never be able to reach the Target because the MaxGain is too low.

Default: 21.0 (db without the negative sign)

AutomaticGainControlClipLevel

This is the level at which the system will clip the peaks of the input signal. If the any single sample of the signal exceedes the level specified, the signal will be clipped at the specified level. Be advised that clipping a signal can cause an unwanted hollow sound to speaker. By default HMPElements does not clip the signal.

Default: 0.0 (db without the negative sign)

Programmatic Settings

AGC levels can be manipulated on a per channel basis by the following syntax:

ChannelResource.SetConferenceAGCLevels(float target, float clipLevel, float maxGain);

To return the AGC control to the system, use:

ChannelResource.SetConferenceAGCLevels(-1.0, -1.0, -1.0,);

Additionally, AGC can be turned on or off on a per channel basis.

ChannelResource.ConferenceAttributes.AutomaticGainControl = false;

Setting the value to false will disable the AGC for this channel. This can be called without taking the participant out of the conference.

This setting will take effect immediately.

Be sure to set the attributes for a new participant the first time you add them to a new conference, otherwise the last value set will continue to be used.

Was this article helpful to you? Yes 7 No

How can we help?