VAD / CNG

Voice Activity Detection / Comfort Noise Generation

The VAD determines whether or not speech is present in the outbound signal, when speech is not present, the CNG algorithm generates a “comfort” noise signal.

dreamstime_m_107178351

Features List

  • Functions are C-callable.
  • Multi-channel capable
  • Can be used with all types of speech coding
  • Spectrally shaped noise generation

Comfort noise is synthetic background noise used in traditional and wireless communications to fill the artificial silence in a transmission.

Availability

Platforms
Arm ® Devices – Armv7 Cortex-A8 / A9 / A15, | Cortex-M3 / M4 / M7 || ARM9e
Texas Instruments – TI TMS320C6000 C64x/C64x+/C66x, C674x, TMS320C5000 C55x / Legacy C54x
Windows x86 (32-bit) / x64 (64-bit)
Linux 32-bit / 64-bit

ADT VAD/CNG is available on the above Platforms: Other configurations are available upon request.

Specifications

Note: All CPU usage given in MIPS (also known as MCPS or MHz)

VAD/CNG C64x+/C66x/C674x

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of byte.
FunctionMIPS per ChannelProgram MemoryData MemoryPer-channel Data Memory
VAD0.4727842800212
CNG1.5

VAD/CNG C64x

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of byte.
FunctionMIPS per ChannelProgram MemoryData MemoryPer-channel Data Memory
VAD0.19172860464
CNG0.15

VAD/CNG C55x

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of byte.
FunctionMIPS per ChannelProgram MemoryData MemoryPer-channel Data Memory
VAD0.2881558252
CNG0.29

VAD/CNG C54x

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of 16-bit word.
FunctionMIPS per ChannelProgram MemoryData MemoryPer-channel Data Memory
VAD0.3642329126
CNG0.47

ARM Cortex-A8/A9/A15

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of byte.
FunctionMIPS per ChannelProgram MemoryData MemoryPer-channel Data MemoryScratch
VAD0.264K336800
CNG1.30

VAD/CNG ARM Cortex-M3/M4

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of byte.
FunctionMIPS per ChannelProgram MemoryData MemoryPer-channel Data MemoryScratch
VAD????800
CNG??0

VAD/CNG ARM9e/ARM11

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of byte.
FunctionMIPS per ChannelProgram MemoryData MemoryPer-channel Data MemoryScratch
VAD0.224K336800
CNG1.220

VAD/CNG Win Dll

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of byte.
FunctionMIPS per ChannelProgram MemoryData MemoryPer-channel Data MemoryScratch
VAD0.132.7 K0800
CNG0.530

Copy of VAD/CNG Win Static Lib

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of byte.
FunctionMIPS per ChannelProgram MemoryData MemoryPer-channel Data MemoryScratch
VAD0.162.7 K0800
CNG0.620

VAD/CNG i686

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of byte.
FunctionMIPS per ChannelProgram MemoryData MemoryPer-channel Data MemoryScratch
VAD0.132.8K412800
CNG0.620

Description

Adaptive Digital’s VAD/CNG software performs voice activity detection and comfort noise generation. It is used in systems
that used reduced bandwidth channels during silent or non-voiced portions of a conversation. The VAD algorithm is used
at the transmit side of a communication link. The VAD determines whether or not speech is present in the outbound
signal. If speech is not present, the VAD algorithm determines the level of the background noise. The background noise
level is transmitted to the opposite end of the link in place of the speech signal. The noise level requires little channel
bandwidth and only needs to be transmitted when the background noise level changes. The CNG algorithm runs at the
receive side of the link. When speech is not present, the CNG algorithm generates a noise signal at the level sent from
the transmit side.

Function

API function call summary

VAD_ADT_vadInitialize (…) Initializes the VAD and CNG modules 
VAD_ADT_vad (…) Executes voice activity detector 
CNG_ADT_cng (…) Executes comfort noise generator

Translate »