VAD / CNG
Voice Activity Detection / Comfort Noise Generation
The VAD determines whether speech is not present in the outbound signal, then the CNG algorithm generates a “comfort” noise signal.
Features List
- Functions are C-callable.
- Multi-channel capable
- Can be used with all types of speech coding
- Spectrally shaped noise generation
- Comfort Noise RFC 3389 compliant
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-A / Armv8-A / Armv9-A || Armv7-M / Armv8-M || *Legacy ARM9e Texas Instruments – TI TMS320C7000 C7x, 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: We specify MIPS (Millions of Instructions Per Second) as MCPS (Millions of Instruction Cycles Per Second). Unless otherwise specified, peak MIPS are indicated.
↓ Click on links below to view specification tables.
ARM Cortex-A8/A9/A15
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
Function | MIPS per Channel | Program Memory | Data Memory | Per-channel Data Memory | Scratch |
VAD | 0.26 | 4K | 336 | 80 | 0 |
CNG | 1.3 | 0 |
VAD/CNG ARM Cortex-M4
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
Function | MIPS per Channel | Program Memory | Data Memory | Per-channel Data Memory | Scratch |
VAD | ?? | ? | ? | 80 | 0 |
CNG | ?? | 0 |
VAD/CNG ARM9e/ARM11
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
Function | MIPS per Channel | Program Memory | Data Memory | Per-channel Data Memory | Scratch |
VAD | 0.22 | 4K | 336 | 80 | 0 |
CNG | 1.22 | 0 |
Note: All CPU usage given in MIPS (also known as MCPS or MHz)
VAD/CNG C64x+/C66x/C674x
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
Function | MIPS per Channel | Program Memory | Data Memory | Per-channel Data Memory |
VAD | 0.47 | 2784 | 2800 | 212 |
CNG | 1.5 |
VAD/CNG C64x
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
Function | MIPS per Channel | Program Memory | Data Memory | Per-channel Data Memory |
VAD | 0.19 | 1728 | 604 | 64 |
CNG | 0.15 |
VAD/CNG C55x
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
Function | MIPS per Channel | Program Memory | Data Memory | Per-channel Data Memory |
VAD | 0.28 | 815 | 582 | 52 |
CNG | 0.29 |
VAD/CNG C54x
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of 16-bit word.
Function | MIPS per Channel | Program Memory | Data Memory | Per-channel Data Memory |
VAD | 0.36 | 423 | 291 | 26 |
CNG | 0.47 |
VAD/CNG Win Dll
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
Function | MIPS per Channel | Program Memory | Data Memory | Per-channel Data Memory | Scratch |
VAD | 0.13 | 2.7 K | 0 | 80 | 0 |
CNG | 0.53 | 0 |
Copy of VAD/CNG Win Static Lib
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
Function | MIPS per Channel | Program Memory | Data Memory | Per-channel Data Memory | Scratch |
VAD | 0.16 | 2.7 K | 0 | 80 | 0 |
CNG | 0.62 | 0 |
VAD/CNG i686
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
Function | MIPS per Channel | Program Memory | Data Memory | Per-channel Data Memory | Scratch |
VAD | 0.13 | 2.8K | 412 | 80 | 0 |
CNG | 0.62 | 0 |
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