VAD/CNG
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.
ADT VAD / CNG is available on the following Platforms: Other configurations are available upon request.
| Product Number | Platform |
| adt_vad-cng_c54x | TI TMS320C54x |
| adt_vad-cng_c55x | TI TMS320C55x |
| adt_vad-cng_c64x | TI TMS320C64x |
| adt_vad-cng_c64xp | TI TMS320C64x+ |
| adt_vadcngdll_win32 | Win32 |
| adt_vadcnglib_win32 | Win32 |
| adt_vad-cng_i686 | i686 |
| adt_vad-cng_armM3 | Cortex-M3 |
| adt_vad-cng_armM4 | Cortex-M4 |
| adt_vad-cng_armA8 | Cortex-A8 |
| adt_vad-cng_armA9 | Cortex-A9 |
| adt_vad-cng_armA15 | Cortex-A15 |
| adt_vad-cng_arm9 | ARM9e |
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.
Applications include Voice-Over-Packet, Satellite, and other digital voice applications.
Data Sheet - .pdf
FEATURES
- Functions are C-callable.
- Multi-channel capable
- Can be used with all types of speech coding
- Spectrally shaped noise generation
SPECIFICATIONS
TI TMS320C5000VAD/CNG C54x
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of 16-bit word.
| SOFTWARE | MIPs (Peak) | Program Memory | Data Memory | Per-Channel Data Memory |
| VAD | 0.36 | 423 | 291 | 26 |
| CNG | 0.47 |
VAD/CNG C55x
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of 16-bit word.
| SOFTWARE | MIPs (Peak) | Program Memory | Data Memory | Per-Channel Data Memory |
| VAD | 0.28 | 815 | 582 | 52 |
| CNG | 0.29 |
*Loading assumes a 2-frequency signal
TI TMS320C6000
VAD/CNG C64x
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of 16-bit word.
| SOFTWARE | MIPs (Peak) | Program Memory | Data Memory | Per-Channel Data Memory |
| VAD | 0.19 | 1728 | 604 | 64 |
| CNG | 0.15 |
VAD/CNG C64x +
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of 16-bit word.
| SOFTWARE | MIPs (Peak) | Program Memory | Data Memory | Per-Channel Data Memory |
VAD |
0.17 |
1632 | 604 | 64 |
CNG |
0.15 |
PC / WINDOWS
VAD/CNG DLL
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of 16-bit word.
| SOFTWARE | MIPs (Peak) | Program Memory | Data Memory | Per-Channel Data Memory | Scratch Memory |
| VAD | 0.13 | 2.7K | 0 | 80 | 0 |
| CNG | 0.53 | 0 |
VAD/CNG LIB
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of 16-bit word.
| SOFTWARE | MIPs (Peak) | Program Memory | Data Memory | Per-Channel Data Memory | Scratch Memory |
| VAD | 0.16 | 2.7K | 0 | 80 | 0 |
| CNG | 0.62 | 0 |
ARM® DEVICES
VAD/CNG ARM Cortex-A8/A9/A15
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of 16-bit word.
| SOFTWARE | MIPs (Peak) | Program Memory | Data Memory | Per-Channel Data Memory | Scratch Memory |
| VAD | 0.26 | 4K | 336 | 80 | 0 |
| CNG | 1.3 | 0 |
VAD/CNG ARM Cortex-M3/M4
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of 16-bit word.
| SOFTWARE | MIPs (Peak) | Program Memory | Data Memory | Per-Channel Data Memory | Scratch Memory |
| VAD | ?? | ? | ? | 80 | 0 |
| CNG | ?? | 0 |
VAD/CNG ARM9e
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of 16-bit word.
| SOFTWARE | MIPs (Peak) | Program Memory | Data Memory | Per-Channel Data Memory | Scratch Memory |
| VAD | 0.22 | 4K | 336 | 80 | 0 |
| CNG | 1.22 | 0 |
LINUX
VAD/CNG i686
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of 16-bit word.
| SOFTWARE | MIPs (Peak) | Program Memory | Data Memory | Per-Channel Data Memory | Scratch Memory |
| VAD | 0.13 | 2.8K | 412 | 80 | 0 |
| CNG | 0.62 | 0 |
We specify MIPS (Millions of Instructions per Second) as MCPS (Millions of Instruction Cycles per Second). Unless otherwise specified, peak MIPS are indicated.
FUNCTION
VAD_ADT_vadInitialize (…) Initializes the VAD and CNG modulesVAD_ADT_vad (…) Executes voice activity detector
CNG_ADT_cng (…) Executes comfort noise generator
