Tarred dataset support for audio classification and label models
State: closed | Pull request: yes

Cleanup and continued work on previous PR #1578

- [x] Refactor classification models and label models in audio_to_label 
- [x] Add support for tarred dataset for audio_to_label
- [x] Update classification and label models 
- [x] Update VAD inference (should belong to Speaker Diarization pipelines PR but need to be used here)
- [x] Update training script, config, and instructions to use tarred dataset and improve consistency (classification and speaker model)
- [x] Update converting_to_tarred_dataset script to support label models. 
- [x] Upload test data
- [x] Add test scripts
- [x] Ok a new one. enable using the duplicate name for tarred dataloader. (webdataset doesn't allow it) 
       Will try some hacky ways and discuss with people about a cleaner / long-term way after break. 
- [x] Add instruction/warning that audio_filepath **should not contain "-sub"** cause we will need it to handle duplicate filename (different offset) samples.


Signed-off-by: fayejf <fayejf07@gmail.com>

This pull request **introduces 5 alerts** when merging f2b24d2a402f18b2856dc4da6bb769c04ff5ab9d into c6b90b3dd1321b3e95df8f91b89f55326d52a81c - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-b24b016b8363544667997fab2a9e26552d659897)

**new alerts:**

* 5 for Unused import

This pull request **introduces 5 alerts** when merging 912d5bc8f1038370e8204bd7ec286311be30bbc0 into f58ab531376a854e2e94b0fedc05705bc3711086 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-2202875a47eb9b964ced4f3daf3b21c720b94475)

**new alerts:**

* 5 for Unused import

This pull request **introduces 5 alerts** when merging 06f8f22ad1f57b8b6284e1f15d9ddcc48fe3396b into 4f46bd84d162da80a310c69f72980de935c1e99a - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-00b964fd177cb1ff02f3c0bbbe46430a06c6a885)

**new alerts:**

* 5 for Unused import

This pull request **introduces 5 alerts** when merging d33f7abe5f0ed3f7184323333e87cde90ceb13d0 into 84f69c582a76b66b208dc40ef18499b3448f2142 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-900b7bc7afc05412f0a9528a41d7074af0a265d4)

**new alerts:**

* 5 for Unused import

This pull request **introduces 5 alerts** when merging 7f03de20835c20c143ba55afa686e7271be4281f into bc5f03459c7273b71c50af7c2378d5e950b408c4 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-c1396ebe7f0941e35b9ccc00e4c912955ba99627)

**new alerts:**

* 5 for Unused import

This pull request **introduces 5 alerts** when merging c497e0baca72a36276c33c223e3219afd70ac175 into e10bb0348daff62348f84bdfb1845b1226d74f11 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-437b1faed6741fac7cfef4327215797da60dbb33)

**new alerts:**

* 5 for Unused import

This pull request **introduces 5 alerts** when merging 474451f92dcce00376d1beefba2ab4566aef3cb3 into eb927fe6aa69f8d73705dcb785a2afb95e4c279d - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-9421844dc6d44200f289366a794eb6b72a29b067)

**new alerts:**

* 5 for Unused import

This pull request **introduces 1 alert** when merging b773f86635c70beb5dc6ee70727f73bf2aacd4e9 into a42987279f0226aea7d776840ff06a56c4bfb259 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-67875e7a312b596b2e5a9b66c09eab9462491b0a)

**new alerts:**

* 1 for Unused import

This pull request **introduces 1 alert** when merging 4ada4f581c6abe327f6f08e1b6f5a5f201560474 into a42987279f0226aea7d776840ff06a56c4bfb259 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-a8378be797bbb17de3d67bffd35b162f8222240f)

**new alerts:**

* 1 for Unused import

This pull request **introduces 1 alert** when merging 8371682f5183a345449d4f81d149206755d32007 into df360cd3c856c645d23505305ee8b689636b2dd1 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-4ebc8a483cd445e0383ded8f9057f907313a0c58)

**new alerts:**

* 1 for Unused import

This pull request **introduces 1 alert** when merging f82ac7b57b043ec3b743ba8d64b734ec2f894b2a into df360cd3c856c645d23505305ee8b689636b2dd1 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-86409fce34c63eb58ec88e01db99b1245229baa9)

**new alerts:**

* 1 for Unused import

This pull request **introduces 1 alert** when merging 308a4c6c52535e6127aa08a91435e7ba836b80b2 into ad0edf2e6910b7b6de3ae93fba9b728f6479c50e - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-884f63e13a8408234e8dd35503b8fb565288324a)

**new alerts:**

* 1 for Unused import

Augmentor is passed to featurizer in classification and label model.  And featurizer is passed to `AudioLabelDataset`/`AudioToSpeechLabelDataSet` by `get_classification_label_dataset/get_speech_label_dataset`.  Well `audio_to_text` process augmentor and featurizer inside `_AudioTextDataset` 

I think expose featurzier (pass in augmentor)  (as in classification models ) makes more sense since one day we may end up using different featurizer. And its clearer what exactly is going on for augmentation

well I won’t change `audio_to_text` here cause it doesn’t belong to it. but leave here a note and might change it later.

This pull request **introduces 1 alert** when merging e05a8adfb6e192638f683429d1e205042afc0b66 into ad0edf2e6910b7b6de3ae93fba9b728f6479c50e - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-ff8b93ef0e892d25a6a32bf2441a5935551e1ebb)

**new alerts:**

* 1 for Unused import

This pull request **introduces 1 alert** when merging a68e5ea1617392d1a55efd3f5d91a272ff321c1b into 630c7e81b527ee42ab3e65319aadb4a941fb5aab - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-20c6223d5cfc44bd69cdd69d188e29ef7edd344f)

**new alerts:**

* 1 for Unused import