NVIDIA
NVIDIA
STT En Es Multilingual Code-Switched Conformer Transducer Large
Model
NVIDIA
NVIDIA
STT En Es Multilingual Code-Switched Conformer Transducer Large

English + Spanish Multilingual and Code-Switched Speech Recognition Conformer Transducer Large Model

Model Overview

This collection contains Conformer-Transducer large model (around 120M parameters) for Multilingual and Code-Switched speech recongition of English-Spanish speech. It utilizes a Google SentencePiece [1] tokenizer with vocabulary size 1024, and transcribes text in lower case English and Spanish alphabet along with spaces, apostrophes and a few other characters.

It can transcribe audio samples into English or Spanish or even both English and Spanish used in the same sentence. The language is detected automatically.

Model Architecture

Conformer-Transducer model is an autoregressive variant of Conformer model [2] for Automatic Speech Recognition. You may find more info on the detail of this model here Conformer-Transducer Model.

Training

The NeMo toolkit [3] was used for training the models for over several hundred epochs. These model are trained with this example script and this base config. The model was initialized from the weights of the stt_enes_conformer_transducer_large checkpoint.

The tokenizers for these models were built using the text transcripts of the train set with this script. For the creation of the tokenizer, the original text corpus from both English and Spanish sources we used instead of the synthetic code-switched text corupus.

Datasets

The models in this collection were trained on a synthetic intra-sentential code-switching set which was constructed from the following English and Spanish datasets:

English:

  • Librispeech: 960 hours of training data [9]

Spanish:

  • Mozilla Common Voice 7.0: 289 hours of training data after data cleaning [4]
  • Multilingual LibriSpeech: 801 hours of training data after data cleaning [5]
  • Voxpopuli transcribed subset: 110 hours of training data after data cleaning [6]
  • Fisher dataset: 140 hours of training data after data cleaning [7,8]

For the creation of the synthetic code-switched set, samples were chosen randomly from the English and Spanish sources, appropiately normalized and then concatenated with natural pauses to get utterances having lenght between 16-20 seconds.

Performance

The performance of Automatic Speech Recognition models is measured using Word Error Rate (WER).

The model obtains the following greedy WER scores on the following evaluation datasets -

  • 5.12 % on synthetic en-es code-switched set (en-es)

  • 1.97 % on Librispeech Dev-Clean (en)

  • 2.17 % on Librispeech Test-Clean (en)

  • 4.54 % on Librispeech Dev-Other (en)

  • 4.53 % on Librispeech Test-Other (en)

  • 4.51 % on MCV Dev v7.0 (es)

  • 3.27 % on MLS Dev (es)

  • 5.28 % on Voxpopuli Dev (es)

  • 15.70 % on Fisher Dev (es)

  • 5.06 % on MCV Test v7.0 (es)

  • 3.67 % on MLS Test (es)

  • 6.54 % on Voxpopuli Test (es)

  • 15.66 % on Fisher Test (es)

The model was not trained on the above datasets.

How to Use this Model

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.

Automatically load the model from NGC

import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecRNNTBPEModel.from_pretrained(model_name="stt_enes_conformer_transducer_large_codesw")

Transcribing text with this model

python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py \
  pretrained_name="stt_enes_conformer_transducer_large_codesw" \
  audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"

Input

This model accepts 16000 KHz Mono-channel Audio (wav files) as input.

Output

This model provides transcribed speech as a string for a given audio sample. The output string may contain English or Spanish characters, depending on the languages used in the audio sample.

Limitations

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. Further, the model has been trained on a synthetic code-switched set, hence the model performance might degrade on some out of domain code-switching cases.

References

[1] Google Sentencepiece Tokenizer

[2] Conformer: Convolution-augmented Transformer for Speech Recognition

[3] NVIDIA NeMo Toolkit

[4] Mozilla CommonVoice (MCV7.0)

[5] Multilingual LibriSpeech (MLS)

[6] VoxPopuli: A Large-Scale Multilingual Speech Corpus for Representation Learning, Semi-Supervised Learning and Interpretation

[7] Fisher Spanish - Transcripts

[8] Fisher Spanish Speech

[9] LibriSpeech ASR Corpus

Licence

License to use this model is covered by the NGC TERMS OF USE unless another License/Terms Of Use/EULA is clearly specified. By downloading the public and release version of the model, you accept the terms and conditions of the NGC TERMS OF USE.

Publisher
NVIDIA
NVIDIA
Latest Version1.0.0
UpdatedApril 4, 2023 UTC
Compressed Size460.16 MB

NVIDIA uses cookies to improve your experience on our web site. We and our third-party partners also use cookies and other tools to collect and record information you provide as well as information about your interactions with our websites for performance improvement, analytics, and to assist in marketing efforts. By clicking "Accept All", you consent to our use of cookies and other tools as described in our Cookie Policy. You can manage your cookie settings by clicking on "Manage Settings." By continuing to use this site or by clicking one of the buttons below, you agree to our Terms of Service (which contains important waivers). Please see our Privacy Policy for more information on our privacy practices.