Fine-tuned
openai/whisper-large-v3-turbo for Azerbaijani automatic speech recognition.
1import torch
2import librosa
3from transformers import WhisperProcessor, WhisperForConditionalGeneration
4import soundfile as sf
5import numpy as np
6
7processor = WhisperProcessor.from_pretrained("LocalDoc/azerbaijani-whisper-turbo")
8model = WhisperForConditionalGeneration.from_pretrained("LocalDoc/azerbaijani-whisper-turbo")
9
10audio, sr = sf.read("audio.wav")
11
12if len(audio.shape) > 1:
13 audio = audio.mean(axis=1)
14
15audio = librosa.resample(np.asarray(audio, dtype=np.float32), orig_sr=sr, target_sr=16000)
16sr = 16000
17
18inputs = processor(audio, sampling_rate=sr, return_tensors="pt")
19forced_ids = processor.get_decoder_prompt_ids(language="az", task="transcribe")
20
21with torch.no_grad():
22 ids = model.generate(inputs.input_features, forced_decoder_ids=forced_ids)
23
24text = processor.batch_decode(ids, skip_special_tokens=True)[0]
25print(text)
All models evaluated on
FLEURS Azerbaijani test split (921 samples) with the same normalization (lowercase, no punctuation).