Timestamps to transcribe
State: closed | Pull request: yes
Labels: name: ASR

name: Run CICD

# What does this PR do ?

Adds support for extracting timestamps to .transcribe() method

**Collection**: ASR

# Changelog 
- Add timestamps=None/True/False to .transcribe() method in mixin
   - None: does nothing, restores state set outside with set_decoding_stratergy (default)
   - True: Enables timestamping with help of return_hypothesis and compute_timestamps setting to decoding_stratergy
   - False: Disables timestamping by disabling return_hypothesis and compute_timestamps to decoding_stratergy
- Adds corresponding support in
   - ctc_models.py
   - rnnt_models.py
   - hybrid_rnnt-ctc_models.py
   - Raise a notimplemented error for AED Based Models (Canary)
- Adds support to transcribe_speech.py
   - merges two variables to one: (compute_timestamps, preserve_alignments  -> timestamps) as both are mutually dependent 
   - cleans much of the code 
- Add optional verbose=True option to change_decoding_strategy method. Default is True
- Move some of model loading to conftest.py to improve setup time for each module
- Add unit test for timestamps option for ctc and hybrid models

# Usage

## From command-line
### with transcribe_speech.py script
```bash
python transcribe_speech.py pretrained_name="nvidia/parakeet-ctc-1.1b.nemo" \
dataset_manifest=<manifest_path> \
output_filename=<output_filename> timestamps=True
```

## From Python Env
### For CTC based models
```python
from nemo.collections.asr.models import ASRModel
ctc_model = ASRModel.from_pretrained('nvidia/parakeet-ctc-1.1b')
output=ctc_model.transcribe(['<file_path>'], timestamps=True) # or manifest instead of individual filepaths
# by default you get timestamps for char, word and segment level. segment level differs based on model you use if it support punctuations and capitalizations natively or not. 
# for word-level timestamps
print(output[0].timestep['word'][:10]) #prints first 10 timestamps *_offset corresponds to frame numbers and start and end are provided in seconds 
# for segment-level timestamps
print(output[0].timestep['segment'][:10])
```

### For RNNT/TDT based models
(currently only difference is output type for both models, will be making it consistent in upcoming PR)
```python
from nemo.collections.asr.models import ASRModel
transducer_model = ASRModel.from_pretrained('nvidia/parakeet-rnnt-1.1b')
output=transducer_model.transcribe(['<file_path>'], timestamps=True)
# for word-level timestamps
print(output[0][0].timestep['word'][:10]) 
# for segment-level timestamps
print(output[0][0].timestep['segment'][:10])
```

### For Hybrid RNNT/TDT-CTC models
Same as above by default decoding would be with transducer (RNNT/TDT), if user wants to change decoder then change decoding strategy before running transcribe()
like: 
```python
from nemo.collections.asr.models import ASRModel
from nemo.collections.asr.parts.submodules.ctc_decoding import CTCDecodingConfig
hybrid_model = ASRModel.from_pretrained('nvidia/parakeet-tdt_ctc-110m')
ctc_cfg = CTCDecodingConfig()
ctc_cfg.decoding = "greedy_batch"
hybrid_model.change_decoding_strategy(decoding_cfg=ctc_cfg, decoder_type="ctc")
output=hybrid_model.transcribe(['<file_path>'], timestamps=True)
# for word-level timestamps
print(output[0].timestep['word'][:10])
# for segment-level timestamps
print(output[0].timestep['segment'][:10])
```

### For AED Models

For AED models like Canary, support would be added soon. 


# GitHub Actions CI

The Jenkins CI system has been replaced by GitHub Actions self-hosted runners.

The GitHub Actions CI will run automatically when the "Run CICD" label is added to the PR.
To re-run CI remove and add the label again.
To run CI on an untrusted fork, a NeMo user with write access must first click "Approve and run".

# Before your PR is "Ready for review"
**Pre checks**:
- [ ] Make sure you read and followed [Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md)
- [x] Did you write any new necessary tests?
- [x] Did you add or update any necessary documentation?
- [ ] Does the PR affect components that are optional to install? (Ex: Numba, Pynini, Apex etc)
  - [ ] Reviewer: Does the PR have correct import guards for all optional libraries?
  
**PR Type**:
- [x] New Feature
- [ ] Bugfix
- [x] Documentation

If you haven't finished some of the above items you can still open "Draft" PR.


## Who can review?

Anyone in the community is free to review the PR once the checks have passed. 
[Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md) contains specific people who can review PRs to various areas.

# Additional Information
* Related to # (issue)


[🤖]: Hi @nithinraok 👋,

We wanted to let you know that a [CICD pipeline](https://github.com/NVIDIA/NeMo/actions/runs/11749649899) for this PR just finished successfully

So it might be time to merge this PR or get some approvals

I'm just a bot so I'll leave it you what to do next.

//cc @pablo-garay @ko3n1g

<!-- pylint-output-strict-mode-false -->

beep boop 🤖: 🙏 The following files have warnings. In case you are familiar with these, please try helping us to improve the code base.

---

Your code was analyzed with PyLint. The following annotations have been identified:

```
************* Module nemo.collections.asr.models.aed_multitask_models
nemo/collections/asr/models/aed_multitask_models.py:695:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/aed_multitask_models.py:727:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/aed_multitask_models.py:769:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/aed_multitask_models.py:777:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/aed_multitask_models.py:1049:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/aed_multitask_models.py:1115:0: C0116: Missing function or method docstring (missing-function-docstring)
************* Module nemo.collections.asr.models.ctc_bpe_models
nemo/collections/asr/models/ctc_bpe_models.py:365:0: C0301: Line too long (139/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:366:0: C0301: Line too long (141/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:372:0: C0301: Line too long (139/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:373:0: C0301: Line too long (141/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:379:0: C0301: Line too long (140/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:380:0: C0301: Line too long (143/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:386:0: C0301: Line too long (151/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:387:0: C0301: Line too long (160/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:393:0: C0301: Line too long (150/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:394:0: C0301: Line too long (160/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:400:0: C0301: Line too long (151/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:401:0: C0301: Line too long (162/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:408:0: C0301: Line too long (139/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:409:0: C0301: Line too long (138/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:416:0: C0301: Line too long (140/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:417:0: C0301: Line too long (140/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:423:0: C0301: Line too long (162/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:424:0: C0301: Line too long (160/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:430:0: C0301: Line too long (162/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:431:0: C0301: Line too long (170/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:437:0: C0301: Line too long (151/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:438:0: C0301: Line too long (162/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:445:0: C0301: Line too long (146/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:446:0: C0301: Line too long (152/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:452:0: C0301: Line too long (147/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:453:0: C0301: Line too long (154/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:459:0: C0301: Line too long (146/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:460:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:466:0: C0301: Line too long (147/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:467:0: C0301: Line too long (155/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:473:0: C0301: Line too long (165/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:474:0: C0301: Line too long (169/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:480:0: C0301: Line too long (164/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:481:0: C0301: Line too long (167/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:487:0: C0301: Line too long (171/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:488:0: C0301: Line too long (181/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:494:0: C0301: Line too long (165/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:495:0: C0301: Line too long (169/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:501:0: C0301: Line too long (171/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:502:0: C0301: Line too long (181/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:508:0: C0301: Line too long (164/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:509:0: C0301: Line too long (167/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:515:0: C0301: Line too long (149/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:516:0: C0301: Line too long (158/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:522:0: C0301: Line too long (150/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:523:0: C0301: Line too long (160/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:529:0: C0301: Line too long (149/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:530:0: C0301: Line too long (158/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:536:0: C0301: Line too long (157/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:537:0: C0301: Line too long (152/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:543:0: C0301: Line too long (157/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:544:0: C0301: Line too long (162/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:550:0: C0301: Line too long (146/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:551:0: C0301: Line too long (152/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:557:0: C0301: Line too long (146/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:558:0: C0301: Line too long (152/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:564:0: C0301: Line too long (147/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:565:0: C0301: Line too long (154/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:571:0: C0301: Line too long (147/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:572:0: C0301: Line too long (154/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:578:0: C0301: Line too long (148/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:579:0: C0301: Line too long (156/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:585:0: C0301: Line too long (146/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:586:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:592:0: C0301: Line too long (146/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:593:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:599:0: C0301: Line too long (155/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:600:0: C0301: Line too long (170/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:606:0: C0301: Line too long (146/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:607:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:613:0: C0301: Line too long (146/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:614:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:620:0: C0301: Line too long (146/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:621:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:627:0: C0301: Line too long (146/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:628:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:634:0: C0301: Line too long (146/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:635:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:641:0: C0301: Line too long (150/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:642:0: C0301: Line too long (160/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:648:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:649:0: C0301: Line too long (166/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:655:0: C0301: Line too long (151/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:656:0: C0301: Line too long (163/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:662:0: C0301: Line too long (152/119) (line-too-long)
nemo/collections/asr/models/ctc_bpe_models.py:663:0: C0301: Line too long (165/119) (line-too-long)
************* Module nemo.collections.asr.models.ctc_models
nemo/collections/asr/models/ctc_models.py:196:0: C0301: Line too long (120/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:197:0: C0301: Line too long (120/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:813:0: C0301: Line too long (133/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:819:0: C0301: Line too long (140/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:820:0: C0301: Line too long (143/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:826:0: C0301: Line too long (139/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:827:0: C0301: Line too long (141/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:833:0: C0301: Line too long (140/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:834:0: C0301: Line too long (143/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:840:0: C0301: Line too long (140/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:841:0: C0301: Line too long (143/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:847:0: C0301: Line too long (140/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:848:0: C0301: Line too long (143/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:854:0: C0301: Line too long (140/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:855:0: C0301: Line too long (143/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:861:0: C0301: Line too long (140/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:862:0: C0301: Line too long (143/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:868:0: C0301: Line too long (140/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:869:0: C0301: Line too long (143/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:875:0: C0301: Line too long (140/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:876:0: C0301: Line too long (143/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:882:0: C0301: Line too long (139/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:883:0: C0301: Line too long (141/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:889:0: C0301: Line too long (151/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:890:0: C0301: Line too long (162/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:897:0: C0301: Line too long (151/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:898:0: C0301: Line too long (162/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:904:0: C0301: Line too long (139/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:905:0: C0301: Line too long (146/119) (line-too-long)
nemo/collections/asr/models/ctc_models.py:545:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/ctc_models.py:602:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/ctc_models.py:620:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/ctc_models.py:662:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/ctc_models.py:680:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/ctc_models.py:916:4: C0116: Missing function or method docstring (missing-function-docstring)
************* Module nemo.collections.asr.models.hybrid_rnnt_ctc_bpe_models
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:263:0: C0301: Line too long (123/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:267:0: C0301: Line too long (129/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:277:0: C0301: Line too long (139/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:526:0: C0301: Line too long (156/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:527:0: C0301: Line too long (173/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:533:0: C0301: Line too long (156/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:534:0: C0301: Line too long (173/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:540:0: C0301: Line too long (156/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:541:0: C0301: Line too long (173/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:547:0: C0301: Line too long (156/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:548:0: C0301: Line too long (173/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:554:0: C0301: Line too long (156/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:555:0: C0301: Line too long (190/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:561:0: C0301: Line too long (156/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:562:0: C0301: Line too long (173/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:568:0: C0301: Line too long (156/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:569:0: C0301: Line too long (173/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:575:0: C0301: Line too long (156/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:576:0: C0301: Line too long (173/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:582:0: C0301: Line too long (156/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:583:0: C0301: Line too long (173/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:589:0: C0301: Line too long (156/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:590:0: C0301: Line too long (173/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:596:0: C0301: Line too long (175/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:597:0: C0301: Line too long (211/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:603:0: C0301: Line too long (166/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:604:0: C0301: Line too long (193/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:610:0: C0301: Line too long (168/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:611:0: C0301: Line too long (197/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:617:0: C0301: Line too long (169/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:618:0: C0301: Line too long (199/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:624:0: C0301: Line too long (170/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:625:0: C0301: Line too long (201/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:631:0: C0301: Line too long (169/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_bpe_models.py:632:0: C0301: Line too long (199/119) (line-too-long)
************* Module nemo.collections.asr.models.hybrid_rnnt_ctc_models
nemo/collections/asr/models/hybrid_rnnt_ctc_models.py:717:0: C0301: Line too long (141/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_models.py:718:0: C0301: Line too long (139/119) (line-too-long)
nemo/collections/asr/models/hybrid_rnnt_ctc_models.py:16:0: W0611: Unused import json (unused-import)
nemo/collections/asr/models/hybrid_rnnt_ctc_models.py:17:0: W0611: Unused import os (unused-import)
nemo/collections/asr/models/hybrid_rnnt_ctc_models.py:18:0: W0611: Unused import tempfile (unused-import)
nemo/collections/asr/models/hybrid_rnnt_ctc_models.py:24:0: W0611: Unused tqdm imported from tqdm.auto (unused-import)
************* Module nemo.collections.asr.models.rnnt_bpe_models
nemo/collections/asr/models/rnnt_bpe_models.py:53:0: C0301: Line too long (141/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:54:0: C0301: Line too long (142/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:60:0: C0301: Line too long (141/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:61:0: C0301: Line too long (142/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:67:0: C0301: Line too long (142/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:68:0: C0301: Line too long (144/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:74:0: C0301: Line too long (145/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:75:0: C0301: Line too long (150/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:81:0: C0301: Line too long (145/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:82:0: C0301: Line too long (150/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:88:0: C0301: Line too long (146/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:89:0: C0301: Line too long (152/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:95:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:96:0: C0301: Line too long (166/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:102:0: C0301: Line too long (154/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:103:0: C0301: Line too long (168/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:109:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:110:0: C0301: Line too long (167/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:116:0: C0301: Line too long (156/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:117:0: C0301: Line too long (172/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:123:0: C0301: Line too long (154/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:124:0: C0301: Line too long (169/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:130:0: C0301: Line too long (155/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:131:0: C0301: Line too long (170/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:137:0: C0301: Line too long (142/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:138:0: C0301: Line too long (144/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:144:0: C0301: Line too long (142/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:145:0: C0301: Line too long (142/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:151:0: C0301: Line too long (142/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:152:0: C0301: Line too long (144/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:158:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:159:0: C0301: Line too long (166/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:165:0: C0301: Line too long (164/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:166:0: C0301: Line too long (164/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:172:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:173:0: C0301: Line too long (166/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:179:0: C0301: Line too long (155/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:180:0: C0301: Line too long (170/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:186:0: C0301: Line too long (145/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:187:0: C0301: Line too long (150/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:193:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:194:0: C0301: Line too long (167/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:200:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:201:0: C0301: Line too long (167/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:207:0: C0301: Line too long (162/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:208:0: C0301: Line too long (184/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:214:0: C0301: Line too long (154/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:215:0: C0301: Line too long (169/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:221:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:222:0: C0301: Line too long (167/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:228:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:229:0: C0301: Line too long (167/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:235:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:236:0: C0301: Line too long (167/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:242:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:243:0: C0301: Line too long (167/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:249:0: C0301: Line too long (153/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:250:0: C0301: Line too long (167/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:256:0: C0301: Line too long (157/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:257:0: C0301: Line too long (174/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:263:0: C0301: Line too long (160/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:264:0: C0301: Line too long (180/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:270:0: C0301: Line too long (158/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:271:0: C0301: Line too long (177/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:277:0: C0301: Line too long (159/119) (line-too-long)
nemo/collections/asr/models/rnnt_bpe_models.py:278:0: C0301: Line too long (179/119) (line-too-long)
************* Module nemo.collections.asr.models.rnnt_models
nemo/collections/asr/models/rnnt_models.py:1084:0: C0301: Line too long (164/119) (line-too-long)
nemo/collections/asr/models/rnnt_models.py:1085:0: C0301: Line too long (166/119) (line-too-long)
nemo/collections/asr/models/rnnt_models.py:230:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/rnnt_models.py:705:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/rnnt_models.py:803:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/rnnt_models.py:820:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/rnnt_models.py:888:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/rnnt_models.py:896:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/rnnt_models.py:1061:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/models/rnnt_models.py:1092:4: C0116: Missing function or method docstring (missing-function-docstring)
************* Module nemo.collections.asr.modules.conv_asr
nemo/collections/asr/modules/conv_asr.py:197:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/modules/conv_asr.py:239:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/modules/conv_asr.py:399:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/modules/conv_asr.py:459:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/modules/conv_asr.py:503:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/modules/conv_asr.py:507:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/modules/conv_asr.py:603:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/modules/conv_asr.py:677:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/modules/conv_asr.py:689:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/modules/conv_asr.py:758:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/modules/conv_asr.py:858:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/modules/conv_asr.py:881:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/modules/conv_asr.py:900:0: C0115: Missing class docstring (missing-class-docstring)
nemo/collections/asr/modules/conv_asr.py:945:0: C0115: Missing class docstring (missing-class-docstring)
nemo/collections/asr/modules/conv_asr.py:969:0: C0115: Missing class docstring (missing-class-docstring)
nemo/collections/asr/modules/conv_asr.py:983:0: C0115: Missing class docstring (missing-class-docstring)
nemo/collections/asr/modules/conv_asr.py:992:0: C0115: Missing class docstring (missing-class-docstring)
************* Module nemo.collections.asr.parts.mixins.transcription
nemo/collections/asr/parts/mixins/transcription.py:40:0: C0115: Missing class docstring (missing-class-docstring)
nemo/collections/asr/parts/mixins/transcription.py:57:0: C0115: Missing class docstring (missing-class-docstring)
nemo/collections/asr/parts/mixins/transcription.py:95:0: C0115: Missing class docstring (missing-class-docstring)
nemo/collections/asr/parts/mixins/transcription.py:119:4: C0116: Missing function or method docstring (missing-function-docstring)
************* Module nemo.collections.asr.parts.submodules.rnnt_decoding
nemo/collections/asr/parts/submodules/rnnt_decoding.py:1117:0: C0301: Line too long (125/119) (line-too-long)
nemo/collections/asr/parts/submodules/rnnt_decoding.py:730:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/submodules/rnnt_decoding.py:756:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/submodules/rnnt_decoding.py:1770:0: C0115: Missing class docstring (missing-class-docstring)
nemo/collections/asr/parts/submodules/rnnt_decoding.py:1827:0: C0115: Missing class docstring (missing-class-docstring)
************* Module nemo.collections.asr.parts.utils.streaming_utils
nemo/collections/asr/parts/utils/streaming_utils.py:426:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:429:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:473:0: C0115: Missing class docstring (missing-class-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:546:0: C0115: Missing class docstring (missing-class-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:569:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:632:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:644:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:658:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:671:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:680:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:685:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:777:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:783:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:787:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:824:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:842:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:1506:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:1515:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:1521:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:1525:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:1537:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:1542:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:1549:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:1584:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:1587:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:1597:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:1608:0: C0115: Missing class docstring (missing-class-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:1612:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:1683:0: C0115: Missing class docstring (missing-class-docstring)
nemo/collections/asr/parts/utils/streaming_utils.py:1731:0: C0115: Missing class docstring (missing-class-docstring)
************* Module nemo.collections.asr.parts.utils.transcribe_utils
nemo/collections/asr/parts/utils/transcribe_utils.py:177:0: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/transcribe_utils.py:339:0: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/transcribe_utils.py:636:0: C0115: Missing class docstring (missing-class-docstring)
nemo/collections/asr/parts/utils/transcribe_utils.py:651:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/transcribe_utils.py:659:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/transcribe_utils.py:662:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/collections/asr/parts/utils/transcribe_utils.py:670:0: C0115: Missing class docstring (missing-class-docstring)

-----------------------------------
Your code has been rated at 9.42/10
```

---

Thank you for improving NeMo's documentation!

[🤖]: Hi @nithinraok 👋,

We wanted to let you know that a [CICD pipeline](https://github.com/NVIDIA/NeMo/actions/runs/11766676240) for this PR just finished successfully

So it might be time to merge this PR or get some approvals

I'm just a bot so I'll leave it you what to do next.

//cc @pablo-garay @ko3n1g