Model reference · open weights

wav2vec2-large-robust-ft-libri-960h

Audio facebook Speech→text 1 build Open weights 40k dl/mo

wav2vec2-large-robust-ft-libri-960h is an open-weight audio or speech model from Meta. wav2vec2-large-robust-ft-libri-960h (FP32) weighs 631 MB; the smallest configuration that runs it is RTX 3060 12 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • wav2vec2-large-robust-ft-libri-960h is an automatic speech recognition model developed by Meta with 315M parameters.
  • It is a fine-tuned version of wav2vec2-large-robust, trained on English audio data including Libri-Light, CommonVoice, Switchboard, and Fisher, and subsequently fine-tuned on 960 hours of Librispeech.
  • The model requires 16Khz sampled input and is released under the apache-2.0 licence.

Summary of the facebook/wav2vec2-large-robust-ft-libri-960h model card, 2026-10-01

What it is

Released byMeta
Released2022-03-02
Parameters315M
VRAM631 MB for the weights

What it runs on

Memory and cards for wav2vec2-large-robust-ft-libri-960h (FP32)

631 MBweights, file size
1.6 GBruntime overhead
CardOne streamMemory
RTX 3060 12 GBfits11.6 GB
RTX 4060 Ti 16 GBfits15.4 GB
RTX 3090 24 GBfits23.4 GB
RTX 4090 24 GBfits23.4 GB
RTX 5090 32 GBfits31.0 GB
L40S 48 GBfits44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

From the model card

What Meta says about wav2vec2-large-robust-ft-libri-960h

Read the model card

Facebook's Wav2Vec2.

This model is a fine-tuned version of the wav2vec2-large-robust model. It has been pretrained on:

  • Libri-Light: open-source audio books from the LibriVox project; clean, read-out audio data
  • CommonVoice: crowd-source collected audio data; read-out text snippets
  • Switchboard: telephone speech corpus; noisy telephone data
  • Fisher: conversational telephone speech; noisy telephone data

and subsequently been finetuned on 960 hours of

When using the model make sure that your speech input is also sampled at 16Khz.

Paper Robust Wav2Vec2

Authors: Wei-Ning Hsu, Anuroop Sriram, Alexei Baevski, Tatiana Likhomanenko, Qiantong Xu, Vineel Pratap, Jacob Kahn, Ann Lee, Ronan Collobert, Gabriel Synnaeve, Michael Auli

Abstract Self-supervised learning of speech representations has been a very active research area but most work is focused on a single domain such as read audio books for which there exist large quantities of labeled and unlabeled data. In this paper, we explore more general setups where the domain of the unlabeled data for pre-training data differs from the domain of the labeled data for fine-tuning, which in turn may differ from the test data domain. Our experiments show that using target domain data during pre-training leads to large performance improvements across a variety of setups. On a large-scale competitive setup, we show that pre-training on unlabeled in-domain data reduces the gap between models trained on in-domain and out-of-domain labeled data by 66%-73%. This has obvious practical implications since it is much easier to obtain unlabeled target domain data than labeled data. Moreover, we find that pre-training on multiple domains improves generalization performance on domains not seen during training. Code and models will be made available at this https URL.

The original model can be found under https://github.com/pytorch/fairseq/tree/master/examples/wav2vec#wav2vec-20.

Usage

To transcribe audio files the model can be used as a standalone acoustic model as follows:

 from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
 from datasets import load_dataset
 import soundfile as sf
 import torch

 # load model and processor
 processor = Wav2Vec2Processor.from_pretrained("facebook/wav2vec2-large-robust-ft-libri-960h")
 model = Wav2Vec2ForCTC.from_pretrained("facebook/wav2vec2-large-robust-ft-libri-960h")

 # define function to read in sound file
 def map_to_array(batch):
     speech, _ = sf.read(batch["file"])
     batch["speech"] = speech
     return batch

 # load dummy dataset and read soundfiles
 ds = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation")
 ds = ds.map(map_to_array)

 # tokenize
 input_values = processor(ds["speech"][:2], return_tensors="pt", padding="longest").input_values  # Batch size 1

 # retrieve logits
 logits = model(input_values).logits

 # take argmax and decode
 predicted_ids = torch.argmax(logits, dim=-1)
 transcription = processor.batch_decode(predicted_ids)

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms