devendradhakad/autodroid-nvidia-parakeet-tdt-0.6b-v3
<span style="color:#76b900;">π¦ parakeet-tdt-0.6b-v3: Multilingual Speech-to-Text Model</span>
<style> img { display: inline; } </style>
 |  | 
<span style="color:#466f00;">Description:</span>
parakeet-tdt-0.6b-v3 is a 600-million-parameter multilingual automatic speech recognition (ASR) model designed for high-throughput speech-to-text transcription. It extends the parakeet-tdt-0.6b-v2 model by expanding language support from English to 25 European languages. The model automatically detects the language of the audio and transcribes it without requiring additional prompting. It is part of a series of models that leverage the Granary [1, 2] multilingual corpus as their primary training dataset.
π£οΈ Try Demo here: https://huggingface.co/spaces/nvidia/parakeet-tdt-0.6b-v3
Supported Languages: Bulgarian (bg), Croatian (hr), Czech (cs), Danish (da), Dutch (nl), English (en), Estonian (et), Finnish (fi), French (fr), German (de), Greek (el), Hungarian (hu), Italian (it), Latvian (lv), Lithuanian (lt), Maltese (mt), Polish (pl), Portuguese (pt), Romanian (ro), Slovak (sk), Slovenian (sl), Spanish (es), Swedish (sv), Russian (ru), Ukrainian (uk)
This model is ready for commercial/non-commercial use.
<span style="color:#466f00;">Key Features:</span>
parakeet-tdt-0.6b-v3's key features are built on the foundation of its predecessor, parakeet-tdt-0.6b-v2, and include:
- Automatic punctuation and capitalization
- Accurate word-level and segment-level timestamps
- Long audio transcription, supporting audio up to 24 minutes long with full attention (on A100 80GB) or up to 3 hours with local attention.
- Released under a permissive CC BY 4.0 license
For full details on the model architecture, training methodology, datasets, and evaluation results, check out the [Technical Report](https://arxiv.org/abs/2509.14128).
<span style="color:#466f00;">License/Terms of Use:</span>
GOVERNING TERMS: Use of this model is governed by the CC-BY-4.0 license.
<span style="color:#466f00;">Discover more from NVIDIA:</span>
For documentation, deployment guides, enterprise-ready APIs, and the latest open modelsβincluding Nemotron and other cutting-edge speech, translation, and generative AIβvisit the NVIDIA Developer Portal at developer.nvidia.com. Join the community to access tools, support, and resources to accelerate your development with NVIDIAβs NeMo, Riva, NIM, and foundation models.<br>
<span style="color:#466f00;">Explore more from NVIDIA:</span> <br>
What is Nemotron?<br> NVIDIA Developer Nemotron<br> NVIDIA Riva Speech<br> NeMo Documentation<br>
Automatic Speech Recognition (ASR) Performance
Figure 1: ASR WER comparison across different models. This does not include Punctuation and Capitalisation errors.
Evaluation Notes
Note 1: The above evaluations are conducted for 24 supported languages, excluding Latvian since seamless-m4t-v2-large and seamless-m4t-medium do not support it.
Note 2: Performance differences may be partly attributed to Portuguese variant differences - our training data uses European Portuguese while most benchmarks use Brazilian Portuguese.
<span style="color:#466f00;">Deployment Geography:</span>
Global
<span style="color:#466f00;">Use Case:</span>
This model serves developers, researchers, academics, and industries building applications that require speech-to-text capabilities, including but not limited to: conversational AI, voice assistants, transcription services, subtitle generation, and voice analytics platforms.
<span style="color:#466f00;">Release Date:</span>
Huggingface 08/14/2025
<span style="color:#466f00;">Model Architecture:</span>
Architecture Type:
FastConformer-TDT
Network Architecture:
- This model was developed based on FastConformer encoder architecture[3] and TDT decoder[4]
- This model has 600 million model parameters.
<span style="color:#466f00;">Input:</span>
Input Type(s): 16kHz Audio Input Format(s): .wav and .flac audio formats Input Parameters: 1D (audio signal) Other Properties Related to Input: Monochannel audio
<span style="color:#466f00;">Output:</span>
Output Type(s): Text Output Format: String Output Parameters: 1D (text) Other Properties Related to Output: Punctuations and Capitalizations included.
Our AI models are designed and/or optimized to run on NVIDIA GPU-accelerated systems. By leveraging NVIDIA's hardware (e.g. GPU cores) and software frameworks (e.g., CUDA libraries), the model achieves faster training and inference times compared to CPU-only solutions.
For more information, refer to the NeMo documentation.
<span style="color:#466f00;">How to Use this Model:</span>
There are several ways to use this model. Choose the one that fits your needs.
Run locally with NeMo-Speech.cpp
NeMo-Speech.cpp provides a lightweight native C++ runtime for local inference with this model. After installing the runtime:
hf download nvidia/parakeet-tdt-0.6b-v3 \
parakeet-tdt-0.6b-v3.q8_0.gguf \
--local-dir models
nemo-speech transcribe audio.wav \
--model models/parakeet-tdt-0.6b-v3.q8_0.ggufSee the NeMo-Speech.cpp documentation for more details.
NVIDIA NeMo
To train, fine-tune, or run Python inference with this model, install NVIDIA NeMo after installing a recent PyTorch version.
pip install -U nemo_toolkit['asr']The model is available for use in the NeMo toolkit [5], and can be used as a pre-trained checkpoint for inference or for fine-tuning on another dataset.
You can also run Parakeet TDT with Transformers π€ (more below).
Automatically instantiate the model
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.ASRModel.from_pretrained(model_name="nvidia/parakeet-tdt-0.6b-v3")Transcribing using Python
First, let's get a sample
wget https://dldata-public.s3.us-east-2.amazonaws.com/2086-149220-0033.wavThen simply do:
output = asr_model.transcribe(['2086-149220-0033.wav'])
print(output[0].text)Transcribing with timestamps
To transcribe with timestamps:
output = asr_model.transcribe(['2086-149220-0033.wav'], timestamps=True)
# by default, timestamps are enabled for char, word and segment level
word_timestamps = output[0].timestamp['word'] # word level timestamps for first sample
segment_timestamps = output[0].timestamp['segment'] # segment level timestamps
char_timestamps = output[0].timestamp['char'] # char level timestamps
for stamp in segment_timestamps:
print(f"{stamp['start']}s - {stamp['end']}s : {stamp['segment']}")Transcribing long-form audio
#updating self-attention model of fast-conformer encoder
#setting attention left and right context sizes to 256
asr_model.change_attention_model(self_attention_model="rel_pos_local_attn", att_context_size=[256, 256])
output = asr_model.transcribe(['2086-149220-0033.wav'])
print(output[0].text)Streaming with Parakeet models
To use parakeet models in streaming mode use this script as shown below:
python NeMo/main/examples/asr/asr_chunked_inference/rnnt/speech_to_text_streaming_infer_rnnt.py \
pretrained_name="nvidia/parakeet-tdt-0.6b-v3" \
model_path=null \
audio_dir="<optional path to folder of audio files>" \
dataset_manifest="<optional path to manifest>" \
output_filename="<optional output filename>" \
right_context_secs=2.0 \
chunk_secs=2 \
left_context_secs=10.0 \
batch_size=32 \
clean_groundtruth_text=FalseNVIDIA NIM for v2 parakeet model is available at https://build.nvidia.com/nvidia/parakeet-tdt-0_6b-v2.
Transformers π€ usage
Until Parakeet TDT is part of an official Transformers release, you can use it by installing from source.
pip install git+https://github.com/huggingface/transformers<details> <summary>β‘οΈ Pipeline usage</summary>
from transformers import pipeline
pipe = pipeline("automatic-speech-recognition", model="nvidia/parakeet-tdt-0.6b-v3")
out = pipe("https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/bcn_weather.mp3")
print(out)</details>
<details> <summary>β‘οΈ AutoModel</summary>
from transformers import AutoModelForTDT, AutoProcessor
from datasets import load_dataset, Audio
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
num_samples = 3
model_id = "nvidia/parakeet-tdt-0.6b-v3"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForTDT.from_pretrained(model_id, dtype="auto", device_map=device)
ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el["array"] for el in ds["audio"][:num_samples]]
inputs = processor(speech_samples, sampling_rate=processor.feature_extractor.sampling_rate)
inputs.to(model.device, dtype=model.dtype)
output = model.generate(**inputs, return_dict_in_generate=True)
print(processor.decode(output.sequences, skip_special_tokens=True))</details>
<details> <summary>β‘οΈ Timestamping</summary>
from datasets import Audio, load_dataset
from transformers import AutoModelForTDT, AutoProcessor
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
num_samples = 3
model_id = "nvidia/parakeet-tdt-0.6b-v3"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForTDT.from_pretrained(model_id, dtype="auto", device_map=device)
ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el["array"] for el in ds["audio"][:num_samples]]
inputs = processor(speech_samples, sampling_rate=processor.feature_extractor.sampling_rate)
inputs.to(model.device, dtype=model.dtype)
output = model.generate(**inputs, return_dict_in_generate=True)
decoded_output, decoded_timestamps = processor.decode(
output.sequences,
durations=output.durations,
skip_special_tokens=True,
)
print("Transcription:", decoded_output)
print("Timestamped tokens:", decoded_timestamps)</details>
<details> <summary>β‘οΈ Training</summary>
from transformers import AutoModelForTDT, AutoProcessor
from datasets import load_dataset, Audio
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
model_id = "nvidia/parakeet-tdt-0.6b-v3"
NUM_SAMPLES = 4
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForTDT.from_pretrained(model_id, dtype=torch.bfloat16, device_map=device)
model.train()
ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el["array"] for el in ds["audio"][:NUM_SAMPLES]]
text_samples = ds["text"][:NUM_SAMPLES]
# passing `text` to the processor will prepare inputs' `labels` key
inputs = processor(audio=speech_samples, text=text_samples, sampling_rate=processor.feature_extractor.sampling_rate)
inputs.to(device=model.device, dtype=model.dtype)
outputs = model(**inputs)
print("Loss:", outputs.loss.item())
outputs.loss.backward()</details>
For more details about usage, please refer to the Transformers' documentation.
<span style="color:#466f00;">Software Integration:</span>
Runtime Engine(s):
- NeMo 2.4
Supported Hardware Microarchitecture Compatibility:
- NVIDIA Ampere
- NVIDIA Blackwell
- NVIDIA Hopper
- NVIDIA Volta
[Preferred/Supported] Operating System(s):
- Linux
Hardware Specific Requirements:
At least 2GB RAM for model to load. The bigger the RAM, the larger audio input it supports.
Model Version
Current version: parakeet-tdt-0.6b-v3. Previous versions can be accessed here.
<span style="color:#466f00;">Training and Evaluation Datasets:</span>
<span style="color:#466f00;">Training</span>
This model was trained using the NeMo toolkit [5], following the strategies below:
- Initialized from a CTC multilingual checkpoint pretrained on the Granary dataset \[1] \[2].
- Trained for 150,000 steps on 128 A100 GPUs.
- Dataset corpora and languages were balanced using a temperature sampling value of 0.5.
- Stage 2 fine-tuning was performed for 5,000 steps on 4 A100 GPUs using approximately 7,500 hours of high-quality, human-transcribed data of NeMo ASR Set 3.0.
Training was conducted using this example script and TDT configuration.
During the training, a unified SentencePiece Tokenizer \[6] with a vocabulary of 8,192 tokens was used. The unified tokenizer was constructed from the training set transcripts using this script and was optimized across all 25 supported languages.
<span style="color:#466f00;">Training Dataset</span>
The model was trained on the combination of Granary dataset's ASR subset and in-house dataset NeMo ASR Set 3.0:
- 10,000 hours from human-transcribed NeMo ASR Set 3.0, including:
- LibriSpeech (960 hours)
- Fisher Corpus
- National Speech Corpus Part 1
- VCTK
- Europarl-ASR
- Multilingual LibriSpeech
- Mozilla Common Voice (v7.0)
- AMI
All transcriptions preserve punctuation and capitalization. The Granary dataset will be made publicly available after presentation at Interspeech 2025.
Data Collection Method by dataset
- Hybrid: Automated, Human
Labeling Method by dataset
- Hybrid: Synthetic, Human
Properties:
- Noise robust data from various sources
- Single channel, 16kHz sampled data
Evaluation Datasets
For multilingual ASR performance evaluation:
- Fleurs [10]
- MLS [11]
- CoVoST [12]
For English ASR performance evaluation:
- Hugging Face Open ASR Leaderboard [13] datasets
Data Collection Method by dataset
- Human
Labeling Method by dataset
- Human
Properties:
- All are commonly used for benchmarking English ASR systems.
- Audio data is typically processed into a 16kHz mono channel format for ASR evaluation, consistent with benchmarks like the Open ASR Leaderboard.
<span style="color:#466f00;">Performance</span>
Multilingual ASR
The tables below summarizes the WER (%) using a Transducer decoder with greedy decoding (without an external language model):
Note: WERs are calculated after removing Punctuation and Capitalization from reference and predicted text.
Huggingface Open-ASR-Leaderboard
Additional evaluation details are available on the Hugging Face ASR Leaderboard.[13]
Noise Robustness
Performance across different Signal-to-Noise Ratios (SNR) using MUSAN music and noise samples [14]:
<span style="color:#466f00;">References</span>
[1] Granary: Speech Recognition and Translation Dataset in 25 European Languages
[2] NVIDIA Granary Dataset Card
[3] Fast Conformer with Linearly Scalable Attention for Efficient Speech Recognition
[4] Efficient Sequence Transduction by Jointly Predicting Tokens and Durations
[6] Google Sentencepiece Tokenizer
[7] Youtube-Commons
[8] MOSEL: 950,000 Hours of Speech Data for Open-Source Speech Foundation Model Training on EU Languages
[9] YODAS: Youtube-Oriented Dataset for Audio and Speech
[10] FLEURS: Few-shot Learning Evaluation of Universal Representations of Speech
[11] MLS: A Large-Scale Multilingual Dataset for Speech Research
[12] CoVoST 2 and Massively Multilingual Speech-to-Text Translation
[13] HuggingFace ASR Leaderboard
[14] MUSAN: A Music, Speech, and Noise Corpus
<span style="color:#466f00;">Inference:</span>
Engine:
- NVIDIA NeMo
Test Hardware:
- NVIDIA A10
- NVIDIA A100
- NVIDIA A30
- NVIDIA H100
- NVIDIA L4
- NVIDIA L40
- NVIDIA Turing T4
- NVIDIA Volta V100
<span style="color:#466f00;">Ethical Considerations:</span>
NVIDIA believes Trustworthy AI is a shared responsibility and we have established policies and practices to enable development for a wide array of AI applications. When downloaded or used in accordance with our terms of service, developers should work with their supporting model team to ensure this model meets requirements for the relevant industry and use case and addresses unforeseen product misuse.
For more detailed information on ethical considerations for this model, please see the Model Card++ Explainability, Bias, Safety & Security, and Privacy Subcards here.
Please report security vulnerabilities or NVIDIA AI Concerns here.
