Best Fine-Tuned ASR Models
Collection
This collection serves to reflect the best models fine-tuned during several experiments in the task of Automatic Speech Recognition. • 6 items • Updated
A Dutch automatic speech recognition (ASR) model fine-tuned from nvidia/parakeet-tdt-0.6b-v3.
| Property | Value |
|---|---|
| Base model | nvidia/parakeet-tdt-0.6b-v3 |
| Architecture | FastConformer-TDT (600M params) |
| Language | Dutch (nl) |
| Input | 16 kHz mono audio |
| Output | Dutch text with punctuation and capitalization |
| License | CC-BY-4.0 |
Evaluated on Common Voice 17.0 Dutch splits (raw text, no normalization):
| Split | WER | CER | Samples |
|---|---|---|---|
| Validation | 3.73% | 1.02% | 9,062 |
| Test | 5.33% | 1.46% | 11,266 |
Fine-tuned on a combination of:
| Parameter | Value |
|---|---|
| Optimizer | AdamW |
| Learning rate | 5e-5 (cosine annealing) |
| Warmup | 10% of total steps |
| Batch size | 64 |
| Precision | bf16-mixed |
| Gradient clipping | 1.0 |
| Early stopping | 10 epochs patience on val WER |
| Best epoch | 21 |
pip install nemo_toolkit[asr]
import nemo.collections.asr as nemo_asr
# Load model
asr_model = nemo_asr.models.ASRModel.from_pretrained(
model_name="yuriyvnv/parakeet-tdt-0.6b-dutch"
)
# Transcribe
output = asr_model.transcribe(["audio.wav"])
print(output[0].text)
output = asr_model.transcribe(["audio.wav"], timestamps=True)
for stamp in output[0].timestamp["segment"]:
print(f"{stamp['start']:.1f}s - {stamp['end']:.1f}s : {stamp['segment']}")
For audio longer than 24 minutes, enable local attention:
asr_model.change_attention_model(
self_attention_model="rel_pos_local_attn",
att_context_size=[256, 256],
)
output = asr_model.transcribe(["long_audio.wav"])
This model is designed for transcribing Dutch speech to text. It works best on: