File size: 8,713 Bytes
7bd0f2f b2804d8 9e8c199 2ddf9be b2804d8 9e8c199 b2804d8 9e8c199 b2804d8 9e8c199 b2804d8 0d700fc a974e2a 0d700fc a974e2a 0d700fc b2804d8 1d7bf00 b2804d8 e56c389 b2804d8 b49df67 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
---
license: other
language:
- en
- es
- fr
- de
- ru
- zh
metrics:
- roc_auc
pipeline_tag: voice-activity-detection
library_name: nemo
---
# Frame-VAD Multilingual MarbleNet v2.0
## Description
Frame-VAD Multilingual MarbleNet v2.0 is a convolutional neural network for voice activity detection (VAD) that serves as the first step for Speech Recognition and Speaker Diarization. It is a frame-based model that outputs a speech probability for each 20 millisecond frame of the input audio. <br>
To reduce false positive errors — cases where the model incorrectly detects speech when none is present — the model was trained with white noise and real-word noise perturbations. During training, the volume of audios was also varied. Additionally, the training data includes non-speech audio samples to help the model distinguish between speech and non-speech sounds (such as coughing, laughter, and breathing, etc.) <br>
This model is ready for commercial use. <br>
### License/Terms of Use
GOVERNING TERMS: Your use of this model is governed by the [NVIDIA Open Model License Agreement](https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-open-model-license).
Deployment Geography: Global <br>
Use Case: Developers, speech processing engineers, and AI researchers will use it as the first step for other speech processing models. <br>
## References:
[1] [Jia, Fei, Somshubra Majumdar, and Boris Ginsburg. "MarbleNet: Deep 1D Time-Channel Separable Convolutional Neural Network for Voice Activity Detection." ICASSP 2021-2021 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2021.](https://arxiv.org/abs/2010.13886) <br>
[2] [NVIDIA NeMo Toolkit](https://github.com/NVIDIA/NeMo)
<br>
## Model Architecture:
**Architecture Type:** Convolutional Neural Network (CNN) <br>
**Network Architecture:** MarbleNet <br>
**This model has 91.5K of model parameters** <br>
## Input: <br>
**Input Type(s):** Audio <br>
**Input Format:** .wav files <br>
**Input Parameters:** 1D <br>
**Other Properties Related to Input:** 16000 Hz Mono-channel Audio, Pre-Processing Not Needed <br>
## Output: <br>
**Output Type(s):** Sequence of speech probabilities for each 20 millisecond frame <br>
**Output Format:** Float Array <br>
**Output Parameters:** 1D <br>
**Other Properties Related to Output:** May need post-processing, such as smoothing, which reduces sudden fluctuations in detected speech probability for more natural transitions, and thresholding, which sets a cutoff value to determine whether a frame contains speech based on probability (e.g., classifying frames above 0.5 as speech and others as silence or noise). <br>
Our AI models are designed and/or optimized to run on NVIDIA GPU-accelerated systems. By leveraging NVIDIA’s hardware (e.g. GPU cores) and software frameworks (e.g., CUDA libraries), the model achieves faster training and inference times compared to CPU-only solutions.
## How to Use the Model
The model is available for use in the NeMo toolkit [2], and can be used as a pre-trained checkpoint for inference.
### Automatically load the model
```python
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecFrameClassificationModel.from_pretrained(model_name="frame_vad_multilingual_marblenet_v2.0.nemo")
```
### Perform VAD Inference
```bash
python <NEMO_ROOT>/examples/asr/speech_classification/frame_vad_infer.py \
--config-path="../conf/vad" \
--config-name="frame_vad_infer_postprocess.yaml" \
vad.model_path=<Path to .nemo file from which model should be instantiated> \
vad.parameters.shift_length_in_sec=0.02 \
prepare_manifest.auto_split=True \
prepare_manifest.split_duration=7200 \
input_manifest=<Path of manifest file of evaluation data, where audio files should have unique names> \
out_manifest_filepath=<Path of output manifest file>
```
## Software Integration:
**Runtime Engine(s):**
* NeMo-2.0.0 <br>
**Supported Hardware Microarchitecture Compatibility:** <br>
* [NVIDIA Ampere] <br>
* [NVIDIA Blackwell] <br>
* [NVIDIA Jetson] <br>
* [NVIDIA Hopper] <br>
* [NVIDIA Lovelace] <br>
* [NVIDIA Pascal] <br>
* [NVIDIA Turing] <br>
* [NVIDIA Volta] <br>
## Preferred/Supported Operating System(s):
* [Linux] <br>
## Model Version(s):
Frame-VAD Multilingual MarbleNet v2.0 <br>
## Training, Testing, and Evaluation Datasets:
### Training Dataset:
**Link:**
1. [ICSI (en)](https://groups.inf.ed.ac.uk/ami/icsi/download/)
2. [AMI (en)](https://groups.inf.ed.ac.uk/ami/corpus/)
3. [MLS (fr, es)](https://www.openslr.org/94/)
4. [MCV7 (de, ru)](https://commonvoice.mozilla.org/en/datasets)
5. [RULS (ru)](https://www.openslr.org/96/)
6. [SOVA (ru)](https://github.com/sovaai/sova-dataset)
7. [Aishell2 (zh)](https://www.aishelltech.com/)
8. [Librispeech (en)](https://www.openslr.org/12)
9. [Fisher (en)](https://www.ldc.upenn.edu/)
10. [MUSAN (noise)](https://www.openslr.org/17/)
11. [Freesound (noise)](https://freesound.org/)
12. [Vocalsound (noise)](https://github.com/YuanGongND/vocalsound)
13. [Ichbi (noise)](https://bhichallenge.med.auth.gr/ICBHI_2017_Challenge)
14. [Coswara (noise)](https://github.com/iiscleap/Coswara-Data) <br>
Data Collection Method by dataset: <br>
* Hybrid: Human, Annotated, Synthetic <br>
Labeling Method by dataset: <br>
* Hybrid: Human, Annotated, Synthetic <br>
**Properties:**
2600 hours of real-world data, 1000 hours of synthetic data, and 330 hours of noise data
<br>
### Testing Dataset:
**Link:**
1. [Freesound (noise)](https://freesound.org/)
2. [MUSAN (noise)](https://www.openslr.org/17/)
3. [Librispeech (en)](https://www.openslr.org/12)
4. [Fisher (en)](https://www.ldc.upenn.edu/)
5. [MLS (fr, es)](https://www.openslr.org/94/)
6. [MCV7 (de, ru)](https://commonvoice.mozilla.org/en/datasets)
7. [AMI (en)](https://groups.inf.ed.ac.uk/ami/corpus/)
8. [Aishell2 (zh)](https://www.aishelltech.com/)
9. [CH109 (en)](https://catalog.ldc.upenn.edu/LDC97S42) <br>
Data Collection Method by dataset: <br>
* Hybrid: Human, Annotated <br>
Labeling Method by dataset: <br>
* Hybrid: Human, Annotated <br>
**Properties:**
Around 100 hours of multilingual (Chinese, German, Russian, English, Spanish, French) audio data <br>
### Evaluation Dataset:
**Link:**
1. [VoxConverse-test](https://github.com/joonson/voxconverse/tree/master)
2. [VoxConverse-dev](https://github.com/joonson/voxconverse/tree/master)
3. [AMI-test](https://github.com/BUTSpeechFIT/AMI-diarization-setup/tree/main/only_words/rttms)
4. [Earnings21](https://github.com/revdotcom/speech-datasets/tree/main/earnings21)
5. [AISHELL4-test](https://www.openslr.org/111/)
6. [CH109](https://catalog.ldc.upenn.edu/LDC97S42)
7. [AVA-SPEECH](https://github.com/rafaelgreca/ava-speech-downloader) <br>
Data Collection Method by dataset: <br>
* Hybrid: Human, Annotated <br>
Labeling Method by dataset: <br>
* Hybrid: Human, Annotated <br>
**Properties:**
Around 182 hours of multilingual (Chinese, English) audio data <br>
# Inference:
**Engine:** NVIDIA NeMo <br>
**Test Hardware:** <br>
* RTX 5000 <br>
* A100 <br>
* V100 <br>
# Performance:
The ROC-AUC performance is listed in the following table. A higher ROC-AUC indicates better performance.
| Eval Dataset | ROC-AUC |
|------------------|----------|
| VoxConverse-test | 96.65 |
| VoxConverse-dev | 97.59 |
| AMI-test | 96.25 |
| Earnings21 | 97.11 |
| AISHELL4-test | 92.27 |
| CH109 | 94.44 |
| AVA-SPEECH | 95.26 |
## Ethical Considerations
NVIDIA believes Trustworthy AI is a shared responsibility and we have established policies and practices to enable development for a wide array of AI applications. When downloaded or used in accordance with our terms of service, developers should work with their internal model team to ensure this model meets requirements for the relevant industry and use case and addresses unforeseen product misuse.
For more detailed information on ethical considerations for this model, please see the Model Card++ [Explainability](https://huggingface.co/nvidia/Frame_VAD_Multilingual_MarbleNet_v2.0/blob/main/explainability.md), [Bias](https://huggingface.co/nvidia/Frame_VAD_Multilingual_MarbleNet_v2.0/blob/main/bias.md), [Safety & Security](https://huggingface.co/nvidia/Frame_VAD_Multilingual_MarbleNet_v2.0/blob/main/safety.md), and [Privacy](https://huggingface.co/nvidia/Frame_VAD_Multilingual_MarbleNet_v2.0/blob/main/privacy.md) Subcards [here](https://huggingface.co/nvidia/Frame_VAD_Multilingual_MarbleNet_v2.0/tree/main). Please report security vulnerabilities or NVIDIA AI Concerns [here](https://www.nvidia.com/en-us/support/submit-security-vulnerability/). |