加载中…
加载中…
Quranic Wav2Vec2 Phonetic ASR is a fine-tuned wav2vec2 model designed specifically for phonetic transcription of Quranic recitation.
Unlike standard Arabic ASR systems that output orthographic Arabic text, this model outputs a phonetic (sound-level) representation, making it suitable for:
To the best of our knowledge, this is the first publicly released wav2vec2 model trained explicitly for Quranic phonetic transcription.
This model is intended for:
facebook/wav2vec2-baseBuraaq/quran-md-words
This dataset contains word-level Quranic recitation audio with aligned metadata.
Each sample includes:
word_tr)word_ar)This dataset was chosen intentionally to:
🔗 Dataset: https://huggingface.co/datasets/Buraaq/quran-md-words
The model uses a custom phonetic vocabulary built directly from the dataset:
word_tr| as word delimiter[PAD] for CTC blank[UNK] for unknown symbolsThis design allows:
Audio featureThe wav2vec2 feature extractor was not frozen, allowing adaptation to Quranic recitation acoustics.
On the held-out evaluation split:
⚠️ Note:
These results reflect word-level phonetic transcription accuracy on a dataset with consistent recitation style.
Performance may degrade on:
- Fast recitation
- Strong coarticulation
- Unseen riwayat styles
from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
import torch
import soundfile as sf
import librosa
import numpy as np
processor = Wav2Vec2Processor.from_pretrained(
"USERNAME/quranic-wav2vec2-phonetic"
)
model = Wav2Vec2ForCTC.from_pretrained(
"USERNAME/quranic-wav2vec2-phonetic"
)
model.eval()
audio, sr = sf.read("recitation.wav")
# convert to mono
if audio.ndim > 1:
audio = audio.mean(axis=1)
# resample to 16kHz
if sr != 16000:
audio = librosa.resample(audio, orig_sr=sr, target_sr=16000)
inputs = processor(
audio,
sampling_rate=16000,
return_tensors="pt",
padding=True,
)
with torch.inference_mode():
logits = model(inputs.input_values).logits
predicted_ids = torch.argmax(logits, dim=-1)
phonetics = processor.batch_decode(
predicted_ids,
skip_special_tokens=True
)[0]
print(phonetics)
tālik
facebook/wav2vec2-base