Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -102,16 +102,16 @@ pipeline {
}
}

stage('L0: Unit Tests Speech Dataset Processor') {
stage('L0: Unit Tests Speech Data Processor') {
when {
anyOf {
branch 'main'
changeRequest target: 'main'
}
}
steps {
sh 'pip install -r tools/speech_dataset_processor/requirements.txt'
sh 'cd tools/speech_dataset_processor && CUDA_VISIBLE_DEVICES="" pytest tests -m "not pleasefixme"'
sh 'pip install -r tools/speech_data_processor/requirements.txt'
sh 'cd tools/speech_data_processor && CUDA_VISIBLE_DEVICES="" pytest tests -m "not pleasefixme"'
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Speech Dataset Processor
# Speech Data Processor

Speech Dataset Processor (SDP) is a toolkit to make it easy to:
Speech Data Processor (SDP) is a toolkit to make it easy to:
1. write code to process a new dataset, minimizing the amount of boilerplate code required.
2. share the steps for processing a speech dataset. Sharing processing steps can be as easy as sharing a YAML file.

SDP's philosophy is to represent processing operations as 'processor' classes. Many common processing operations are provided, and it is easy to add your own. In some cases, all you will need to do to process a new dataset is simply to write a YAML file containing the parameters needed to process your dataset.

SDP is specifically intended for the use case when you have an existing dataset with the audio & text pairs already specified in some form, and you wish to create a JSON manifest suitable for use with NeMo. SDP allows for intermediate cleaning and filtering steps which involve amending the 'ground truth' `"text"` or dropping utterances which are deemed to be too inaccurate for training on.

## Quick intro to Speech Dataset Processor
## Quick intro to Speech Data Processor

* The steps to process a dataset are specified by a YAML config file.
* The YAML config file contains a list of processor classes & the args to pass into the constructor.
Expand Down Expand Up @@ -44,7 +44,7 @@ processors:
...
```
## Existing processor classes
In addition to those mentioned in the example config file, many more classes are already included in Speech Dataset Processor, for example:
In addition to those mentioned in the example config file, many more classes are already included in Speech Data Processor, for example:
* `sdp.processors.ASRInference` will run inference on the manifest using a specified `pretrained_model`.
* `sdp.processors.DropHighWER` will compute WER between `text` and `pred_text` of each utterance and remove the utterance if WER is greater than the specified `wer_threshold`.
* `sdp.processors.DropHighLowCharrate` will compute the character rate in the utterance using `text` and `duration`, and drop the utterance if it is outside the bounds of the specified `high_charrate_threshold` and `low_charrate_threshold`. Carefully chosen thresholds will allow us to drop utterances with incorrect ground truth `text`.
Expand Down