readme: ---
  language:
  - en
  library_name: nemo
  datasets:
  - librispeech_asr
  thumbnail: null
  tags:
  - automatic-speech-recognition
  - speech
  - audio
  - CTC
  - Citrinet
  - Transformer
  - pytorch
  - NeMo
  - hf-asr-leaderboard
  license: cc-by-4.0
  widget:
  - example_title: Librispeech sample 1
    src: https://cdn-media.huggingface.co/speech_samples/sample1.flac
  - example_title: Librispeech sample 2
    src: https://cdn-media.huggingface.co/speech_samples/sample2.flac
  model-index:
  - name: stt_en_citrinet_512_ls
    results:
    - task:
        name: Automatic Speech Recognition
        type: automatic-speech-recognition
      dataset:
        name: LibriSpeech (clean)
        type: librispeech_asr
        config: clean
        split: test
        args:
          language: en
      metrics:
      - name: Test WER
        type: wer
        value: 3.1
    - task:
        type: Automatic Speech Recognition
        name: automatic-speech-recognition
      dataset:
        name: LibriSpeech (other)
        type: librispeech_asr
        config: other
        split: test
        args:
          language: en
      metrics:
      - name: Test WER
        type: wer
        value: 7.8
  ---
  
  # NVIDIA Citrinet CTC 512 Librispeech (en-US)
  
  <style>
  img {
   display: inline;
  }
  </style>
  
  | [![Model architecture](https://img.shields.io/badge/Model_Arch-Citrinet--CTC-lightgrey#model-badge)](#model-architecture)
  | [![Model size](https://img.shields.io/badge/Params-36M-lightgrey#model-badge)](#model-architecture)
  | [![Language](https://img.shields.io/badge/Language-en--US-lightgrey#model-badge)](#datasets)
  | [![Riva Compatible](https://img.shields.io/badge/NVIDIA%20Riva-compatible-brightgreen#model-badge)](#deployment-with-nvidia-riva) |
  
  
  This model transcribes speech in the lower case English alphabet, spaces, and apostrophes.
  It is an "medium" versions of Citrinet-CTC (around 36 parameters) model.  
  See the [model architecture](#model-architecture) section and [NeMo documentation](https://docs.nvidia.com/deeplearning/nemo/user-guide/docs/en/main/asr/models.html#citrinet) for complete architecture details. 
  It is also compatible with NVIDIA Riva for [production-grade server deployments](#deployment-with-nvidia-riva). 
  
  ## NVIDIA NeMo: Training
  
  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.
  ```
  pip install nemo_toolkit['all']
  ``` 
  
  ## 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 instantiate the model
  
  ```python
  import nemo.collections.asr as nemo_asr
  asr_model = nemo_asr.models.EncDecCTCModelBPE.from_pretrained("nvidia/stt_en_citrinet_512_ls")
  ```
  
  ### Transcribing using Python
  First, let's get a sample
  ```
  wget https://dldata-public.s3.us-east-2.amazonaws.com/2086-149220-0033.wav
  ```
  Then simply do:
  ```
  asr_model.transcribe(['2086-149220-0033.wav'])
  ```
  
  ### Transcribing many audio files
  
  ```shell
  python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py 
   pretrained_name="nvidia/stt_en_citrinet_512_ls" 
   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.
  
  ## Model Architecture
  
  Citrinet-CTC model is an autoregressive variant of Citrinet model [1] for Automatic Speech Recognition which uses CTC loss/decoding instead of Transducer Loss. You may find more info on the detail of this model here: [Citrinet Model](https://docs.nvidia.com/deeplearning/nemo/user-guide/docs/en/main/asr/models.html). 
  
  ## Training
  
  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/citrinet/citrinet_1024.yaml) (Note: Change the `model.model_defaults.filters` to match the model size).
  
  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).
  
  ### Datasets
  
  All the models in this collection are trained on a just the Librispeech Dataset:
  
  - Librispeech 960 hours of English speech
  
  
  ## Performance
  
  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.
  
  | Version | Tokenizer | Vocabulary Size | LS test-other | LS test-clean | 
  |---------|---------------------------|-----------------|---------------|---------------|
  | 1.0.0 | SentencePiece Unigram [2] | 256 | 7.8 | 3.1 |
  
  ## Limitations
  Since this model was trained on publicly available speech datasets, the performance