Instructions to use ThaiVanPhat95/wav2vec2-robust-uwb-supcon-hybrid with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ThaiVanPhat95/wav2vec2-robust-uwb-supcon-hybrid with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="ThaiVanPhat95/wav2vec2-robust-uwb-supcon-hybrid")# Load model directly from transformers import AutoProcessor, AutoModelForCTC processor = AutoProcessor.from_pretrained("ThaiVanPhat95/wav2vec2-robust-uwb-supcon-hybrid") model = AutoModelForCTC.from_pretrained("ThaiVanPhat95/wav2vec2-robust-uwb-supcon-hybrid", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Wav2Vec2 Robust UWB SupCon Hybrid
Associated paper: Contrastive Regularization for Accent-Robust ASR.
This model performs English air-traffic-control automatic speech recognition. It was trained using CTC and supervised contrastive learning with a hybrid training schedule that combines:
- Similar-transcript SupCon batches
- Original and synthetic transcript pairs
- CTC-only batches
The included processor supports greedy CTC decoding.
Intended Use
This model is intended for research on robust English ATC speech recognition. It may be used to transcribe English ATC recordings with acoustic and speaker characteristics similar to its training data.
Training Data
The model was trained using UWB-ATCC speech and synthetic speech derived from UWB-ATCC transcripts.
- UWB-ATCC: https://huggingface.co/datasets/Jzuluaga/uwb_atcc
- Training code: https://github.com/thaivanphat95/robust-atc-asr
Users should review and comply with the original dataset terms before using or redistributing this model.
Usage
import torch
import soundfile as sf
from transformers import AutoModelForCTC, AutoProcessor
model_id = "thaivanphat95/wav2vec2-robust-uwb-supcon-hybrid"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForCTC.from_pretrained(model_id).eval()
audio, sample_rate = sf.read("audio.wav")
inputs = processor(audio, sampling_rate=sample_rate, return_tensors="pt")
with torch.no_grad():
logits = model(**inputs).logits
prediction_ids = torch.argmax(logits, dim=-1)
transcript = processor.batch_decode(prediction_ids)[0]
print(transcript)
Audio should be mono. Resample audio to 16 kHz before inference when necessary.
Citation
@article{thai2026contrastive,
title={Contrastive Regularization for Accent-Robust ASR},
author={Thai, Van-Phat and Dhruv, Aradhya and Pham, Duc-Thinh and Alam, Sameer},
journal={arXiv preprint arXiv:2605.03297},
year={2026},
doi={10.48550/arXiv.2605.03297}
}
Limitations
- The model is specialized for English ATC speech.
- Performance may degrade for other domains, languages, recording conditions, or terminology not represented in the training data.
- Greedy decoding does not use an external language model.
- Model predictions should be reviewed before use in safety-critical settings.
License
The model weights are not covered by the Apache License 2.0 used for the training code. Their use and redistribution may also be affected by the licenses and terms of the pretrained model, UWB-ATCC, source transcripts, and synthetic speech-generation systems.
- Downloads last month
- 7