Model reference · open weights
wav2vec2-da-ft-nst is an open-weight audio or speech model from Alvenir. wav2vec2-base-da-ft-nst (BF16) weighs 378 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.
Summary of the Alvenir/wav2vec2-base-da-ft-nst model card, 2026-10-01
What it is
| Released by | Alvenir |
|---|---|
| Released | 2022-03-15 |
| VRAM | 378 MB for the weights |
What it runs on
| Card | One stream | 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
This the alvenir wav2vec2 model for Danish ASR finetuned by Alvenir on the public NST dataset. The model is trained on 16kHz, so make sure your data is the same sample rate.
The model was trained using fairseq and then converted to huggingface/transformers format.
Alvenir is always happy to help with your own open-source ASR projects, customized domain specializations or premium models. ;-)
import soundfile as sf
import torch
from transformers import Wav2Vec2CTCTokenizer, Wav2Vec2Tokenizer, Wav2Vec2Processor, \
Wav2Vec2ForCTC
def get_tokenizer(model_path: str) -> Wav2Vec2CTCTokenizer:
return Wav2Vec2Tokenizer.from_pretrained(model_path)
def get_processor(model_path: str) -> Wav2Vec2Processor:
return Wav2Vec2Processor.from_pretrained(model_path)
def load_model(model_path: str) -> Wav2Vec2ForCTC:
return Wav2Vec2ForCTC.from_pretrained(model_path)
model_id = "Alvenir/wav2vec2-base-da-ft-nst"
model = load_model(model_id)
model.eval()
tokenizer = get_tokenizer(model_id)
processor = get_processor(model_id)
audio_file = ""
audio, _ = sf.read(audio_file)
input_values = processor(audio, return_tensors="pt", padding="longest", sampling_rate=16_000).input_values
with torch.no_grad():
logits = model(input_values).logits
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.batch_decode(predicted_ids)
print(transcription)
This is some benchmark results on the public available datasets in Danish.
| Dataset | WER Greedy | WER with 3-gram Language Model |
|---|---|---|
| NST test | 15,8% | 11.9% |
| alvenir-asr-da-eval | 19.0% | 12.1% |
| common_voice_80 da test | 26,3% | 19,2% |
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.