Views
No views yet
wav2vec2 model designed specifically for phonetic transcription of Quranic recitation.facebook/wav2vec2-baseword_tr)word_ar)word_tr| as word delimiter[PAD] for CTC blank[UNK] for unknown symbolsAudio feature⚠️ 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
1from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
2import torch
3import soundfile as sf
4import librosa
5import numpy as np
6
7processor = Wav2Vec2Processor.from_pretrained(
8 "USERNAME/quranic-wav2vec2-phonetic"
9)
10model = Wav2Vec2ForCTC.from_pretrained(
11 "USERNAME/quranic-wav2vec2-phonetic"
12)
13
14model.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)