Spaces:
Paused
Paused
import torch | |
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline | |
import jiwer | |
# try: | |
# device = "mps" | |
# torch_dtype = torch.float16 if torch.backends.mps.is_available() else torch.float32 | |
# except e as Exception: | |
# print(f"Error: {e}") | |
device = "cuda:0" if torch.cuda.is_available() else "cpu" | |
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32 | |
model_id = "openai/whisper-large-v3" | |
model = AutoModelForSpeechSeq2Seq.from_pretrained( | |
model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True | |
) | |
model.to(device) | |
processor = AutoProcessor.from_pretrained(model_id) | |
pipe = pipeline( | |
"automatic-speech-recognition", | |
model=model, | |
tokenizer=processor.tokenizer, | |
feature_extractor=processor.feature_extractor, | |
chunk_length_s=30, | |
batch_size=32, | |
torch_dtype=torch_dtype, | |
device=device, | |
) | |
# dataset = load_dataset("distil-whisper/librispeech_long", "clean", split="validation") | |
# Define reference transcription for WER calculation | |
reference_transcription = "ูุงู ุงูู ุตูู ุฑุญู ู ุงููู ุชุนุงูู ูููุนูุง ุงููู ุจุนููู ู ูู ุงูุฏุงุฑูู ุงู ูู ูุตู ูุงูุฑุจุง ูู ุงูุฐูุจ ูุงููุถู ูุงูู ุทุนูู ุงุช ุงูุฑุจุง ุดูู ู ู ุงุดูุงู ุงูุจููุน ููู ุชุจุงุฏู ู ุซู ุงูุซู ู ูุงูู ุซู ู ูููุง ููู ู ุงู ุจุงุฒุงุก ู ุงู ููุฐูู ุงุฎุชูุท ุงูุงู ุฑ ุนูู ุงูู ุดุฑููู ูู ู ูู ููุงููุง ุงูู ุง ุงูุจูุน ู ุซู ุงูุฑุจุง ูุนูู ูุฐุง ููู ู ุจุงุฏูู ููุฐุง ููู ู ุจุงุฏูู ููู ุงูู ุจุงุฏูู ุฒูุงุฏู ุจูู ุงูุซู ู ู ุงูู ุซู ู ูููุง ุฒูุงุฏู ุจูู ุงูุซู ู ูุงูู ุซู ู ูู ุง ุงููุฑู ูุญู ูุจูุน ููุดุชุฑู ูุงููุฑู ูู ุงู ุงููู ุณุจุญุงูู ูุชุนุงูู ุงู ุฑ ุจุญุฑู ุฉ ุงูุฑุจุง ู ู ุงุฌู ุงูุญูุงุธ ุนูู ูุธุงู ุงูุงูุชุตุงุฏ ุงูููุฏู ู ู ุฏุงุฎูู ููู ุงุจุงุญ ุงููู ุงูุฑุจุง ููุงู ููุงู ุฒูุงุฏู ูู ูุณูุท ุงูุชุจุงุฏู ุฏูู ุฒูุงุฏุฉ ุงูุงูุชุงุฌ ููุญุฏุซ ุจุฐูู ุงูุชุถุฎู ู ู ุฏุงุฎู ุงููุธุงู ูุงุฐุง ุญุฏุซ ุงูุชุถุฎู ู ู ุฐุงุช ุงููุธุงู ู ุงูุฐู ูุถุงุฑ ุจุฐูู ู ุญุฏูุฏ ุงูุฏุฎู ุงูุฐู ูุถุงุฑ ุจุฐูู ุงููููุฑ ูุญุฑู ุงููู ุงูุฑุจุง ู ู ุงุฌู ุงูุง ููุน ุธูู ุนูู ุงููููุฑ ูุงูุฌุจ ุงูุฒูุงู ุญุชู ูุชุนุงุฏู ุฏุฎู ุงููููุฑ ูุงุฏุงุก ู ูุชุถูุงุช ุงูุญูุงู ูุชุญุฑูู ุงูุฑุจุง ู ุฑุชุจุท ูู ุงููุธุฑ ุงูุงููู ู ุน ุงูุฌุงุจ ุงูุฒูุงู ุญุฑู ุงููู ุงูุฑุจุง ูุงูุฌุจ ุญุฑู ูุงูุฌุจ ุงูุฒูุงู ู ู ุงุฌู ุญู ุงูุฉ ุงูุณุงููุฉ ุงููููุฑ ู ุญุฏูุฏ ุงูุฏุฎู ููุง ูุฌุฏ ุงูุงุณุนุงุฑ ููู ุงูุทุงูู ููุณุชุทูุน ุงู ูุญุตู ุจุงุณุชููุงูู ูู ุง ุงุฎุฐู ู ู ุงูุฒูุงู ู ุง ูุฑูุฏ ู ู ู ูุชุถูุงุช ุงูุญูุงู ูุงุฐุง ูุงู ุงูุงู ุฑ ูุฐูู ููุฐุง ูุธุงู ุฑุจุงูู ุงููู ูุงู ุญุฑุง ูุง ูุณุชุทูุน ุงุญุฏ ุงู ูุชุญูู ููู ูุง ูู ุงุฌุชู ุงุน ููุง ูู ุณูุงุณู ููุง ูู ุงูุชุตุงุฏ ููู ู ุงูู ูุธูู ู ุงูุตูุงู ูุงุฐุง ุฐูุจูุง ุงููุงุณ ููููุง ู ุชุฌุงูุฑูู ุงูุบูู ุจุฌูุงุฑู ุงููููุฑ ูุงููููุฑ ุจุฌูุงุฑู ุงูู ุณููู ูุงูู ุณููู ุจุฌูุงุฑู ุงูุบูู ูุง ูุฑู ุจูููู ุง ูุงูุตู ุงูุงูู ู ูุงุฎ ู ู ุณุจู ุณุจู ุงูู ุงูุตู ุงูุงูู ุงูุบูู ุงู ุณุจู ุงูู ุงูุตู ุงูุซุงูู ุงู ุณุจู ุงูู ุงูุตู ุงูุงูู ุงููููุฑ ูุง ูุณุชุทูุน ุงุญุฏ ุงู ูุฌุฐุจู ู ู ุงูููุชู ุญุชู ูุชุงุฎุฑ ุจุณุจุจ ุบูุงู ุงู ุฌุงูู ุงู ุณูุทุงูู ูุงู ู ู ุฌุงุก ููุฌุฏ ุงูุตูุงู ููููุญู ุจูุง ุญูุซ ู ุง ุงูุชูู ุจู ุงูุตู ููุฐูู ูู ุทูุจ ุงูุนูู ุญูุซ ู ุง ุงูุชูู ุจู ุงูู ุฌูุณ ู ู ุงูู ุชุชุงุชู ูุฐู ุงูููุณูู ุงูุงุจูู ู ู ุฏูู ูุจุฑ ุงูู ุง ุจุนุฒู ูุฑูู ูุงูุณุงููู ุจูุฌูุจ ุงูุฒูุงู ูุงูุฒูุงุฉ ููุณุช ู ูู ููุง ุนุทูู ููุง ูู ูุฏ ุนููุง ู ุจุญุฑู ุฉ ุงูุฑุจุง ุญุชู ูุญุงูุธ ุนูู ุงููุธุงู ุงูุงูุชุตุงุฏู ู ู ุฏุงุฎูู ู ู ุงูุชุถุฎู ุฐูุจุช ุงูุงูุงู ูุฌุงุกุช ุงูุงูุงู ูุชุณูุท ุนูููุง ุงุจุงูุณู ุงูุฌู ูุงูุงูุณ ูุงุฎุฑุฌูุง ุงูุฐูุจ ูุงููุถู ู ู ุงูุชุนุงู ู ูุงุณุชุจุฏููุง ุจูุง ุญููู ุณุฎููู ููู ุญููู ุงููุฑู ุงูููุฏู ุฌุนููุง ูู ุงููุง ุบุทุงุก ุซู ุจุนุฏ ุฐูู ุชูุงุณูุง ุงูุบุทุงุก ูุงุตุจุญ ูุฑูุง ูุง ููู ู ูู ูู ุงูุชุงุฌู ู ุน ููู ุชู ุฏููุงุฑ ุงูุฐูุจ 4 ุฌุฑุงู ูุฑุจุน ูู ุณูุญูุงู ูุทูุน 4 ุฌุฑุงู ูุฑุจุน ุฐูุจ ูู ุตูููุงู ูุทูุน 4 ุฌุฑุงู ูุฑุจุน ุฐูุจ ูู ุจุนูุงู ูุทูุน 4 ุฌุฑุงู ูุฑุจุน ุงูุฐูุจ ููู ุชู ููู ุงููุฑูู ุงู 200 ุฌููู ุงููู ูู ุฌูุจู ู ุชูููู 16 ูุฑุด ุญุชุฉ ุงููุฑูู ุฏู ูุดููุฉ ุงูุงุญุจุงุฑ ุงููู ุนูููุง 16 ูุฑุด ุทุจ ุงููุฑู ุจูู 16 ูุฑุด ู200 ุฌููู ููู ุณูุทุฉ ุงูุฏููู ุณูุทุฉ ุงูุงุตุฏุงุฑ ูุณูุทุฉ ุงูุฏููู ุฏู ุจุชุชุญุณุจ ุงุฒุงู ูู ููุณูุง ุจูุง ูุนูู ุฌูู ู ุตุฑ ูุฏู ูุจูู ุจูุง ูุนูู ุงู 200 ุฌููู 200 ุฌููู ุทุจ ููู ุฎุงุฑุฌูุง ูุจูู ุจููุฉ ุงูุชุงุฌูุง ูุงูุฏููุงุฑ ูุจูู ุจ 50 ุฌููู ุงููู ูู ูุงู ุจ 39 ูุฑุด ููุต ูุนูู ูุงู ุงูุฌููู ุจ 5 ุฏููุงุฑ ูุจุนุฏูู ูู ุง ุงููุงุฑ ุจูู 2 ููุต ูู ุงูุงูู ูู ุงูุงุฑุจุนููุงุช ูุงู ุงูุฌููู ุงูู ุตุฑู ุจ 5 ุฏููุงุฑ 5 ุฏููุงุฑ ูู 50 ุฌููู ูุจูู ุจูุงู ูุจูู ุจ 250 ู ุฑู ูุจูู ุงูุฌููู ุงุจู 40 ุณูุฉ 40 ุจูุณุงูู 250 ุฌููู ู ู ุงูุฌูููุงุช ุงููู ู ุนุงูุง ุฏู ุชุฎูู ุงุถุฑุจ ุฏุฎูู ูู 250 ููู ุณุงููุง ุงูุดูุฎ ููุงู ููุง ุนูุงู ุจุชุงุฎุฏ ูุงู ูููููู ุนุจุงุฑู ุนู 6000 ุฌููู ูู ุงูุดูุฑ ุทุจ 6000 ุฌููู ูู ุงูุดูุฑ ุงุถุฑุจูุง ูู 250 ูุจูู 150 ูุตุงุฏูุง ุตูุฑ ูุจูู ู ูููู ููุต ูุง ุชุฎูู ููุณู ุจูู ุงู ุงูุช ู ุนุงู ู ูููู ููุต ูู ุดูุฑ ูุชุนุฑู ุชุณูู ูุชุนุฑู ุชุดุชุฑู ูู ุนุฑุจูู ู ู ุงู 2 ู ูููู ุฏู ุงูู ุญุงุฌู ุญุชู ุงูุนุฑุจูู ุงู 14 ู ูููู ู ู ูู ุชุฌูุจูุง ุจุณ ุจุงูุชูุณูุท ุงููู ูู ุงูู ุงููู ุญุตู ุชุถุฎู ูุงูุชุถุฎู ุฏู ู ุนูุงุชู ุงูู ู ุนูุงุชู ุงู ูุฐุง ุงููุณูุท ููุชุจุงุฏู ูู ูุนุฏ ุณุจุจุง ูุงุบูุงุก ุงููููุฑ ุงูููุงู ุฏู ููู ูุง ุงุฎู ููููุง ุงูุดุงูุนู ููู ู ุงูููุงู ุงููู ุงุญูุง ูููุงู ุฏู ูุงูุงู ุงู ุงูุบุฒุงูู ุฑูู ุงูุดุงูุนูู ูุงูู ููู ุจููุชุจูู ุนุงุฏู ูุฏู ููููู ุฑุถู ุงููู ุชุนุงูู ุนูู ูู ุงูุงู ูุนูุฉ ุงูุฑุจุง ุชุนุจุฏูู ูุงูุฐูุจ ูุงููุถู ุฌุฒุก ุนูู ูุนูู ุฌุฒุก ุงูุนูู ูุนูู ุงุฐุง ุฎุฑุฌ ุนู ุงูุฐูุจูู ูุงููุถูู ููุง ุฑุจุง ููููู ุงุจู ุงูุญุงุฌุจ ููู ุญุฑู ุงูุฑุจุง ูุฌููุฑูู ุง ุงู ูุฌููุฑูุชูู ุง ุงูุฐูุจ ูุงููุถู ูุฌููุฑูู ุง ุนุดุงู ูู ุฐูุจ ููุถู ููุง ูุงููู ูุณูุท ููุชุจุงุฏู ูุงู ุจู ูุฌููุฑูู ุง ูุฌููุฑูู ุง ูุนูู ูุงููู ุฐูุจ ููุถู ู ุด ูุฌููุฑูุชูู ุง ูุนูู ููููู ูุณูุท ููุชุจุงุฏู ุจูู ุงููุงุณ ูู ูุงู ูุณูุท ุงูุชุจุงุฏู ูุงู ุงููุฑู ุงูู ุนูู ุงููู ู ุนุงูุง ุฏู ูุจูู ููู ุงูุฑุจุง ูุชุจูู ุงูุจููู ุญุฑุงู ูุงูุดุฑูุงุช ุญุฑุงู ูููู ุญุฑุงู ูู ุญุฑุงู ูููู ูู ุง ูุงู ูุฑูุง ุจููู ููุช ูุงูู ุฎุฑุฌ ุนู ูุทุงู ุงูุฑุจุง ุงูุดุฑุนูู ููู ุง ููุฌู ูููู ูุงุฎูุงููุง ุงููุงุจุชู ูุง ุฌู ุงุนู ุฏู ุงูุจูู ุฏู ู ุง ุจูุนู ูุด ุญุงุฌู ูุง ุจูุณูู ููุง ุจูุณุชูู ููุง ุจูุนู ู ููุง ูุฐุง ุงูู ุงุฎุฑู ุฏู ูุฑู ุฏู ู ุงููุด ุฏูุจ ููุถ ูู ุง ูุฑุถุงุด ูููู ุนุดุงู ู ุด ูุงูู ุงูููู ุชูู ุงููู ุงูุง ููุชู ููู ุฏูููุชู ูุงุฎุงู ุงูู ุจุนุฏ ู ุง ูุณู ุน ุงูููุงู ุฏู ุจุฑุถ ู ุง ูููู ุด ุฎูุงุต ุงูุง ููู ูุงูุง ุงููู ุฑุงุฌุนูู ุงุฌู ุน ุงูุงุฆู ู ุงูุงุฑุจุนู ุงู ุนูู ุงูุฑุจุง ุชุนุจุฏูู ูุงู ุงูุฐูุจ ูุงููุถู ู ูุตูุฏ ูุฐุงุชูุง ูุงููุง ุฌููุฑูู ุง ูู ุงูุนูู ููุฐูู ุชุฌุฏ ูุงู ุฒู ุงู ูู ุง ุงุฌู ุงููู ูู ุฏู ุจ 10 ุฏููุงุฑ ุงูุฏููุงุฑ ุฐูุจ ุงุฑุจุนู ุฌุฑุงู ูุฑุจุน ููุช ูู ุงูุง ูุดุชุฑู ู ูู 10 ุญุจุงุช ูู ูุงุญุฏู ุจ 10 ุฏููุงุฑ ูุจูู 100 ุฏููุงุฑ ููุง ูุนุฏ ููุชู ุชุนุฏ ุงูู ูุงู ูู ุนุฏ ุงูุฏูุงููุฑ 1 ุง 3 ููุช ูู ูุง ุฏู ู ู ูู ุงูุฏููุงุฑ ู ู ุฏูู ุชููู ุฌุจุช ุตููุฑู ูุตููุฑุชู ููุฒูุช ู ูู ูุฏ ุฑุจุน ุฌุฑุงู ููุง ุญุงุฌู ู ุด ูู ุงุฑุจุนู ูุฑุจุน ุชููู ุงูุฌุฑุงู ุงููู ุงูุช ุงูุฏููุงุฑ ุงููู ุงูุช ุนุทูุชู ุฏู ุงุฑุจุนู ุจุณ ูุงู ุทุจ ูุจุนุฏูู ูุนู ู ุงูู ูู ุงููุฑุทู ุฏู ููุชูู ููุฒู ูุฌูุจ ู ูุฒุงู ุงุฑุจุนู ูุฑุจุน ูู 10 ูุจูู ุจ 42 ุฌุฑุงู ูุฑุจุน ุทูุจ 42 ุฌุฑุงู ููุต 42 ุฌุฑุงู ููุต ูู 10 ูุจูู ุจ 425 ูุงุช ุจูู ุงูููุณ ุงููู ู ุนุงู ููุฒูู ูุทูุน 4 25 ุทุจ ูู ุทูุนูุง 420 ูุจูู ุงูุช ูู 5 ุฌุฑุงู ูุงูุตู ูุนูู ุฏููุงุฑ ุทุจ ููู ุทูุน 410 ูุจูู ูู 15 ูุงูุตูู ููุงููุง ุจููุฒู ุงูุฐูุจ ูุงููุถู ูุงุจู ุญูููู ูุฌู ูููููู ุงูู ูู ูู ู ููู ูู ูุฒูู ุทุจ ุงูุจููููุช ุงููู ูู ุฌุจูู ุฏู ุจูุชู ู ุง ูู ู ุง ุจูุชู ุฒููุด ูุงุฎุชูุท ุนูู ุญุชู ูุซูุฑ ู ู ุงูุนูู ุงุก ูุฐุง ุงูููุฑ ุงู ูุฌูุจ ุงูุฒูุงู ูุญุฑู ู ุงูุฑุจุง ู ู ุนูุฏ ุงููู ูุงููู ุง ู ุนุง ููุจูู ุงูุณุงููู ุงูุงูุณุงู ูููููุฑ ู ู ุบูุฑ ู ูู ูู ู ุบูุฑ ุชูุจุฑ ู ู ุงูุบูู ููุง ุตุงุญุจ ุงูุณูุทุงู ุนูู ุงููููุฑ ุงูุฐูุจ ูุงููุถู ู ู ุงูู ูุฒูู ูุงูุดุงูุนู ุงุฎุชูู ูููุงุก ุงูุงุณูุงู ุนูู ุนุดุฑู ุงููุงู ูู ุนูุฉ ุงูุฑุจุง ุงุฎุชูุงุฑ ุงูุงู ุงู ุงูุดุงูุนู ุจุนุฏ ุงุจุญุงุซู ูุงุฏูุชู ุงู ุงูุฑุจุง ูุฌุฑู ูู ุงู ุฑูู ูู ุงูุฐูุจ ูุงููุถู ู ู ุงูุงุซู ุงู ููู ุงูู ุทุนูู ู ู ุงูุงุดูุงุก" | |
# Transcribe the audio file in chunks | |
sample = "sidiali_reba_zahab_feda.wav" | |
# kwargs as listed on the model, can be changed | |
generate_kwargs = { | |
"max_new_tokens": 444, | |
"num_beams": 1, | |
"language": "arabic", | |
"condition_on_prev_tokens": False, | |
"compression_ratio_threshold": 1.35, # zlib compression ratio threshold (in token space) | |
"temperature": (0.0, 0.2, 0.4, 0.6, 0.8, 1.0), | |
"logprob_threshold": -1.0, | |
"no_speech_threshold": 0.6, | |
"return_timestamps": True, | |
} | |
transcription = pipe(sample, generate_kwargs=generate_kwargs, return_timestamps=True) | |
if transcription: | |
print("Final Transcription:\n", transcription) | |
# Calculate Word Error Rate (WER) | |
wer = jiwer.wer(reference_transcription, transcription) | |
print(f"\nWord Error Rate (WER): {wer}") | |
# Save the transcription and WER to a file | |
with open("evaluation_results.txt", "w", encoding="utf-8") as f: | |
f.write(f"Transcription:\n{transcription}\n\n") | |
f.write(f"Reference:\n{reference_transcription}\n\n") | |
f.write(f"Word Error Rate (WER): {wer}\n") | |
print("\nEvaluation results saved to evaluation_results.txt") | |
else: | |
print("Transcription failed.") |