Model reference · open weights
nemo-nano-codec-22khz-1.89kbps-21.5fps is an open-weight embedding model from NVIDIA. nemo-nano-codec-22khz-1.89kbps-21.5fps (BF16) weighs 79 MB; the smallest configuration that runs it is RTX 3060 12 GB.
Summary of the nvidia/nemo-nano-codec-22khz-1.89kbps-21.5fps model card, 2026-10-01
What it is
| Released by | NVIDIA |
|---|---|
| Released | 2025-08-06 |
| VRAM | 79 MB for the weights |
What it runs on
| Card | Runs | Memory |
|---|---|---|
| RTX 3060 12 GB | fits | 11.6 GB |
| RTX 4060 Ti 16 GB | fits | 15.4 GB |
| RTX 3090 24 GB | fits | 23.4 GB |
| RTX 4090 24 GB | fits | 23.4 GB |
| RTX 5090 32 GB | fits | 31.0 GB |
| L40S 48 GB | fits | 44.0 GB |
| A100 80 GB | fits | 78.2 GB |
| H100 80 GB | fits | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | fits | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | fits | 107 GB |
| H200 141 GB | fits | 138 GB |
| B200 180 GB | fits | 176 GB |
From the model card
img{ display: inline-table; vertical-align: small; margin: 0; padding: 0; } | |
The NeMo NanoCodec is a neural audio codec that leverages finite scalar quantization and adversarial training with large speech language models to achieve state-of-the-art audio compression across different bitrate and frame rate ranges. Model variant details:
| Sample Rate | Frame Rate | Bit Rate | # Codebooks | Codebook Size | Embed Dim | FSQ Levels |
|---|---|---|---|---|---|---|
| 22050 | 21.5 | 1.89kpbs | 8 | 2016 | 32 | [8, 7, 6, 6] |
This model is ready for commercial/non-commercial use.
| Model | Sample Rate | Frame Rate | Bit Rate | # Codebooks | Codebook Size | Embed Dim | FSQ Levels |
|---|---|---|---|---|---|---|---|
| 1.78kbps-12.5fps | 22050 | 12.5 | 1.78kpbs | 13 | 2016 | 52 | [8, 7, 6, 6] |
| 0.6kbps-12.5fps | 22050 | 12.5 | 0.6kpbs | 4 | 4032 | 16 | [9, 8, 8, 7] |
| 1.89kbps-21.5fps | 22050 | 21.5 | 1.89kpbs | 8 | 2016 | 32 | [8, 7, 6, 6] |
⚠️ Note on 0.6kbps-12.5fps This variant is designed for fine-tuning with a limited set of speakers, as shown in our S2S Duplex paper. It is not recommended for general-purpose audio encoding or decoding.
ℹ️ Recommended Variants Both 1.78kbps-12.5fps and 1.89kbps-21.5fps achieve similar audio reconstruction quality. However, our Magpie TTS model performs best with 1.89kbps-21.5fps.
NVIDIA Open Model License Agreement
NeMo NanoCodec is composed of a fully convolutional generator neural network and three discriminators. The generator comprises an encoder, followed by vector quantization, and a HiFi-GAN-based decoder.
The non-causal encoder consists of five residual blocks, each block containing three residual layers similar to the multi-receptive field fusion (MRF) module. The causal decoder, based on the HiFi-GAN vocoder, uses upsampling rates that are the reverse of the encoder's One-Dimensional (1D) convolutional strides.
For the vector quantization, we have used Finite Scalar Quantization (FSQ) with thirteen codebooks and four dimensions per code and 2016 codes per codebook. For the discriminators, we utilize three neural networks, all employing a squared-GAN and feature-matching loss. We adopt the multi-period discriminator, multi-band multi-scale STFT discriminator, and WavLM-based discriminator.
For more details please check our paper.
This model was developed based on NVIDIA Low Frame-rate Speech Codec
** This model has 62M of model parameters.**
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.
The model is available for use in the NVIDIA NeMo, and can be used as a pre-trained checkpoint for inference or for fine-tuning on another dataset.
For inference, you can refer to our Audio Codec Inference Tutorial, which automatically downloads the model checkpoint. Ensure that you set the model_name parameter to "nvidia/nanocodec-22khz-1.78kbps-12.5fps".
Alternatively, you can use the code below, which also handles the automatic checkpoint download:
import librosa
import torch
import soundfile as sf
from nemo.collections.tts.models import AudioCodecModel
path_to_input_audio = ??? # path of the input audio
path_to_output_audio = ??? # path of the reconstructed output audio
# load audio codec model
nemo_codec_model = AudioCodecModel.from_pretrained("nvidia/nemo-nano-codec-22khz-1.89kbps-21.5fps").eval()
# get discrete tokens from audio
audio, _ = librosa.load(path_to_input_audio, sr=nemo_codec_model.sample_rate)
device = 'cuda' if torch.cuda.is_available() else 'cpu'
audio_tensor = torch.from_numpy(audio).unsqueeze(dim=0).to(device)
audio_len = torch.tensor([Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.
How it works