import gradio as gr # تعريف النماذج models = { "Whisper Small": "openai/whisper-small.en", "Wav2Vec2": "facebook/wav2vec2-base-960h" } # تحميل النماذج من Hugging Face whisper = gr.Interface.load(f"huggingface/{models['Whisper Small']}") wav2vec = gr.Interface.load(f"huggingface/{models['Wav2Vec2']}") # دالة تحويل الصوت لنص باستخدام النموذجين def transcribe_with_all(audio_path): whisper_result = whisper(audio_path) wav2vec_result = wav2vec(audio_path) return whisper_result, wav2vec_result # واجهة Gradio للمقارنة with gr.Blocks() as demo: gr.Markdown("# Speech Recognition Model Comparison") gr.Markdown("قارن بين نتائج تحويل الصوت إلى نص من نموذجين مختلفين") audio_input = gr.Audio(type="filepath", label="أدخل ملف صوتي") transcribe_btn = gr.Button("حوّل النص") # وضع النتائج في خلايا منفصلة with gr.Row(): with gr.Column(): gr.Markdown("### Whisper Small") whisper_output = gr.Textbox(label="النص الناتج من Whisper") with gr.Column(): gr.Markdown("### Wav2Vec2") wav2vec_output = gr.Textbox(label="النص الناتج من Wav2Vec2") # ربط الدالة مع الأزرار transcribe_btn.click( fn=transcribe_with_all, inputs=audio_input, outputs=[whisper_output, wav2vec_output] ) demo.launch()