smajumdar94 commited on
Commit
07673ae
1 Parent(s): d85a564

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +250 -0
README.md CHANGED
@@ -1,3 +1,253 @@
1
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  license: cc-by-4.0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ language:
3
+ - en
4
+ library_name: nemo
5
+ datasets:
6
+ - librispeech_asr
7
+ - fisher_corpus
8
+ - Switchboard-1
9
+ - WSJ-0
10
+ - WSJ-1
11
+ - National Singapore Corpus Part 1
12
+ - National Singapore Corpus Part 6
13
+ - vctk
14
+ - VoxPopuli (EN)
15
+ - Europarl-ASR (EN)
16
+ - Multilingual LibriSpeech (2000 hours)
17
+ - mozilla-foundation/common_voice_8_0
18
+ thumbnail: null
19
+ tags:
20
+ - automatic-speech-recognition
21
+ - speech
22
+ - audio
23
+ - CTC
24
+ - Conformer
25
+ - Transformer
26
+ - pytorch
27
+ - NeMo
28
+ - hf-asr-leaderboard
29
  license: cc-by-4.0
30
+ widget:
31
+ - example_title: Librispeech sample 1
32
+ src: https://cdn-media.huggingface.co/speech_samples/sample1.flac
33
+ - example_title: Librispeech sample 2
34
+ src: https://cdn-media.huggingface.co/speech_samples/sample2.flac
35
+ model-index:
36
+ - name: stt_en_conformer_transducer_xlarge
37
+ results:
38
+ - task:
39
+ name: Automatic Speech Recognition
40
+ type: automatic-speech-recognition
41
+ dataset:
42
+ name: LibriSpeech (clean)
43
+ type: librispeech_asr
44
+ config: clean
45
+ split: test
46
+ args:
47
+ language: en
48
+ metrics:
49
+ - name: Test WER
50
+ type: wer
51
+ value: 1.62
52
+ - task:
53
+ type: Automatic Speech Recognition
54
+ name: automatic-speech-recognition
55
+ dataset:
56
+ name: LibriSpeech (other)
57
+ type: librispeech_asr
58
+ config: other
59
+ split: test
60
+ args:
61
+ language: en
62
+ metrics:
63
+ - name: Test WER
64
+ type: wer
65
+ value: 3.01
66
+ - task:
67
+ type: Automatic Speech Recognition
68
+ name: automatic-speech-recognition
69
+ dataset:
70
+ name: Multilingual LibriSpeech
71
+ type: facebook/multilingual_librispeech
72
+ config: english
73
+ split: test
74
+ args:
75
+ language: en
76
+ metrics:
77
+ - name: Test WER
78
+ type: wer
79
+ value: 5.32
80
+ - task:
81
+ type: Automatic Speech Recognition
82
+ name: automatic-speech-recognition
83
+ dataset:
84
+ name: Multilingual LibriSpeech
85
+ type: facebook/multilingual_librispeech
86
+ config: english
87
+ split: dev
88
+ args:
89
+ language: en
90
+ metrics:
91
+ - name: Test WER
92
+ type: wer
93
+ value: 4.59
94
+ - task:
95
+ type: Automatic Speech Recognition
96
+ name: automatic-speech-recognition
97
+ dataset:
98
+ name: Mozilla Common Voice 7.0
99
+ type: mozilla-foundation/common_voice_7_0
100
+ config: en
101
+ split: test
102
+ args:
103
+ language: en
104
+ metrics:
105
+ - name: Test WER
106
+ type: wer
107
+ value: 5.13
108
+ - task:
109
+ type: Automatic Speech Recognition
110
+ name: automatic-speech-recognition
111
+ dataset:
112
+ name: Mozilla Common Voice 8.0
113
+ type: mozilla-foundation/common_voice_8_0
114
+ config: en
115
+ split: test
116
+ args:
117
+ language: en
118
+ metrics:
119
+ - name: Test WER
120
+ type: wer
121
+ value: 6.46
122
+ - task:
123
+ type: Automatic Speech Recognition
124
+ name: automatic-speech-recognition
125
+ dataset:
126
+ name: Wall Street Journal 92
127
+ type: wsj_0
128
+ args:
129
+ language: en
130
+ metrics:
131
+ - name: Test WER
132
+ type: wer
133
+ value: 1.17
134
+ - task:
135
+ type: Automatic Speech Recognition
136
+ name: automatic-speech-recognition
137
+ dataset:
138
+ name: Wall Street Journal 93
139
+ type: wsj_1
140
+ args:
141
+ language: en
142
+ metrics:
143
+ - name: Test WER
144
+ type: wer
145
+ value: 2.05
146
+ - task:
147
+ type: Automatic Speech Recognition
148
+ name: automatic-speech-recognition
149
+ dataset:
150
+ name: National Singapore Corpus
151
+ type: nsc_part_1
152
+ args:
153
+ language: en
154
+ metrics:
155
+ - name: Test WER
156
+ type: wer
157
+ value: 5.70
158
  ---
159
+ ## Model Overview
160
+ This model transcribes speech in lower case English alphabet along with spaces and apostrophes.
161
+ It is a "large" versions of Conformer-Transducer (around 600M parameters) model.
162
+
163
+ ## NVIDIA NeMo: Training
164
+
165
+ To train, fine-tune or play with the model you will need to install [NVIDIA NeMo](https://github.com/NVIDIA/NeMo). We recommend you install it after you've installed latest Pytorch version.
166
+ ```
167
+ pip install nemo_toolkit['all']
168
+ ```
169
+
170
+ ## How to Use this Model
171
+
172
+ The model is available for use in the NeMo toolkit [3], and can be used as a pre-trained checkpoint for inference or for fine-tuning on another dataset.
173
+
174
+ ### Automatically instantiate the model
175
+
176
+ ```python
177
+ import nemo.collections.asr as nemo_asr
178
+ asr_model = nemo_asr.models.EncDecRNNTBPEModel.from_pretrained("nvidia/stt_en_conformer_transducer_xlarge")
179
+ ```
180
+
181
+ ### Transcribing using Python
182
+ First, let's get a sample
183
+ ```
184
+ wget https://dldata-public.s3.us-east-2.amazonaws.com/2086-149220-0033.wav
185
+ ```
186
+ Then simply do:
187
+ ```
188
+ asr_model.transcribe(['2086-149220-0033.wav'])
189
+ ```
190
+
191
+ ### Transcribing many audio files
192
+
193
+ ```shell
194
+ python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py \
195
+ pretrained_name="nvidia/stt_en_conformer_transducer_xlarge" \
196
+ audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
197
+ ```
198
+
199
+ ### Input
200
+
201
+ This model accepts 16000 KHz Mono-channel Audio (wav files) as input.
202
+
203
+ ### Output
204
+
205
+ This model provides transcribed speech as a string for a given audio sample.
206
+
207
+ ## Model Architecture
208
+
209
+ Conformer-Transducer model is a non-autoregressive variant of Conformer model [1] for Automatic Speech Recognition which uses CTC loss/decoding instead of Transducer. You may find more info on the detail of this model here: [Conformer-CTC Model](https://docs.nvidia.com/deeplearning/nemo/user-guide/docs/en/main/asr/models.html).
210
+
211
+ ## Training
212
+
213
+ The NeMo toolkit [3] was used for training the models for over several hundred epochs. These model are trained with this [example script](https://github.com/NVIDIA/NeMo/blob/main/examples/asr/asr_ctc/speech_to_text_ctc_bpe.py) and this [base config](https://github.com/NVIDIA/NeMo/blob/main/examples/asr/conf/conformer/conformer_ctc_bpe.yaml).
214
+
215
+ The tokenizers for these models were built using the text transcripts of the train set with this [script](https://github.com/NVIDIA/NeMo/blob/main/scripts/tokenizers/process_asr_text_tokenizer.py).
216
+
217
+ ### Datasets
218
+
219
+ All the models in this collection are trained on a composite dataset (NeMo ASRSET) comprising of several thousand hours of English speech:
220
+
221
+ - Librispeech 960 hours of English speech
222
+ - Fisher Corpus
223
+ - Switchboard-1 Dataset
224
+ - WSJ-0 and WSJ-1
225
+ - National Speech Corpus (Part 1, Part 6)
226
+ - VCTK
227
+ - VoxPopuli (EN)
228
+ - Europarl-ASR (EN)
229
+ - Multilingual Librispeech (MLS EN) - 2,000 hrs subset
230
+ - Mozilla Common Voice (v8.0)
231
+ - People's Speech - 12,000 hrs subset
232
+
233
+ Note: older versions of the model may have trained on smaller set of datasets.
234
+
235
+ ## Performance
236
+
237
+ The list of the available models in this collection is shown in the following table. Performances of the ASR models are reported in terms of Word Error Rate (WER%) with greedy decoding.
238
+
239
+ | Version | Tokenizer | Vocabulary Size | LS test-other | LS test-clean | WSJ Eval92 | WSJ Dev93 | NSC Part 1 | MLS Test | MLS Dev | MCV Test 8.0 | Train Dataset |
240
+ |---------|-----------------------|-----------------|---------------|---------------|------------|-----------|-----|-------|------|----|------|
241
+ | 1.10.0 | SentencePiece Unigram | 1024 | 3.01 | 1.62 | 1.17 | 2.05 | 5.70 | 5.32 | 4.59 | 6.46 | NeMo ASRSET 3.0 |
242
+
243
+ ## Limitations
244
+ Since this model was trained on publically available speech datasets, the performance of this model might degrade for speech which includes technical terms, or vernacular that the model has not been trained on. The model might also perform worse for accented speech.
245
+
246
+ ## References
247
+ [1] [Conformer: Convolution-augmented Transformer for Speech Recognition](https://arxiv.org/abs/2005.08100)
248
+ [2] [Google Sentencepiece Tokenizer](https://github.com/google/sentencepiece)
249
+ [3] [NVIDIA NeMo Toolkit](https://github.com/NVIDIA/NeMo)
250
+
251
+ ## Licence
252
+
253
+ License to use this model is covered by the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/). By downloading the public and release version of the model, you accept the terms and conditions of the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/) license.