Automatic Speech Recognition
Transformers
Safetensors
Azerbaijani
wav2vec2
asr
speech-recognition
mms
azerbaijani
Instructions to use tahmaz/wav2vec2-large-mms-1b-azerbaijani with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use tahmaz/wav2vec2-large-mms-1b-azerbaijani with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="tahmaz/wav2vec2-large-mms-1b-azerbaijani")# Load model directly from transformers import AutoProcessor, AutoModelForCTC processor = AutoProcessor.from_pretrained("tahmaz/wav2vec2-large-mms-1b-azerbaijani") model = AutoModelForCTC.from_pretrained("tahmaz/wav2vec2-large-mms-1b-azerbaijani", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Wav2Vec2 Large MMS 1B – Azerbaijani ASR
This model is a Wav2Vec2 Large MMS (1B parameters) fine-tuned for Azerbaijani (az) speech recognition using an external adapter.
The base model comes from Meta’s Massively Multilingual Speech (MMS) project, with a custom Azerbaijani adapter loaded at inference time.
Model Details
- Base model: facebook/wav2vec2-large-mms-1b
- Language: Azerbaijani (
az) - Sampling rate: 16 kHz
- Framework: PyTorch
- Adapter file:
adapter.az.pt
Usage
Installation
pip install torch transformers numpy
Inference Example
import torch
import numpy as np
import wave
from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
MODEL_ID = "tahmaz/wav2vec2-large-mms-1b-azerbaijani"
SAMPLE_RATE = 16000
device = "cuda" if torch.cuda.is_available() else "cpu"
processor = Wav2Vec2Processor.from_pretrained(MODEL_ID)
model = Wav2Vec2ForCTC.from_pretrained(MODEL_ID).to(device)
# Load adapter
adapter_weights = torch.load(
"adapter.az.pt", # or downloaded from HF
map_location=device
)
model.load_state_dict(adapter_weights, strict=False)
model.eval()
def transcribe_wav(path):
with wave.open(path, "rb") as wf:
audio = wf.readframes(wf.getnframes())
audio = np.frombuffer(audio, dtype=np.int16).astype(np.float32) / 32768.0
inputs = processor(
audio,
sampling_rate=SAMPLE_RATE,
return_tensors="pt"
).to(device)
with torch.no_grad():
logits = model(**inputs).logits
pred_ids = torch.argmax(logits, dim=-1)
return processor.batch_decode(pred_ids)[0]
print(transcribe_wav("sample.wav"))
- Downloads last month
- 84