كيف تستخدم Whisper لتحويل الصوت العربي إلى نص, شرح عملي
Guideعربي فقط
١٨ فبراير ٢٠٢٦8 min readفريق مفكّر

كيف تستخدم Whisper لتحويل الصوت العربي إلى نص, شرح عملي

شرح عملي خطوة بخطوة لاستخدام Whisper من OpenAI لتحويل الصوت العربي إلى نص، التثبيت وأمثلة الكود ونصائح لدقة أفضل.

تسجيل اجتماع ساعة كاملة. ملاحظات صوتية من محاضرة جامعية. مقابلة بودكاست بالعربي. كلها ملفات صوتية قاعدة عندك وتبي تحولها لنص مكتوب. تفتح قوقل وتبحث، وأول شي يطلع لك هو Whisper من OpenAI.

وفعلاً، Whisper من أقوى الأدوات المجانية والمفتوحة المصدر لتحويل الصوت إلى نص. تقدر تنزله وتشغله على جهازك بدون ما تدفع ريال واحد. بس السؤال الحقيقي: هل يشتغل زين مع العربي؟

الجواب المختصر: يعتمد. مع الفصحى والتسجيلات النظيفة، النتائج ممتازة. مع اللهجات والتسجيلات الواقعية، القصة تختلف. في هالمقال رح نمشي مع بعض خطوة بخطوة، من التثبيت إلى التشغيل إلى التحسين، وبكون صريح معك وين Whisper يتألق ووين يتعثر.

ايش هو Whisper بالضبط؟

Whisper نموذج ذكاء اصطناعي من OpenAI متخصص في التعرف على الكلام. يدعم أكثر من 90 لغة، والعربية واحدة منها. الفكرة بسيطة: تعطيه ملف صوتي، يرجع لك نص مكتوب.

اللي يخلي Whisper مميز إنه مفتوح المصدر بالكامل. يعني ما تحتاج حساب ولا مفتاح API ولا اشتراك. تنزله على جهازك وتشتغل. النموذج مدرّب على كمية ضخمة من البيانات الصوتية من الإنترنت، بودكاستات، فيديوهات يوتيوب، محتوى متنوع بلغات كثيرة.

الخطوة الأولى: تثبيت Whisper

قبل أي شي، تحتاج Python مثبت على جهازك. الإصدار 3.8 أو أحدث. لو ما عندك بايثون، نزله من الموقع الرسمي وثبته، الموضوع يأخذ دقيقتين.

بعدين، نثبت Whisper ومكتبة PyTorch اللي يعتمد عليها:

pip install openai-whisper
pip install torch

Whisper يحتاج كمان أداة ffmpeg عشان يقرأ الملفات الصوتية. لو ما عندك ffmpeg، ثبتها حسب نظامك:

# macOS
brew install ffmpeg

# Ubuntu / Debian
sudo apt install ffmpeg

# Windows (using chocolatey)
choco install ffmpeg

كذا الأساسيات جاهزة. ما تحتاج أكثر من هالأوامر عشان تبدأ.

أول تجربة: تحويل ملف صوتي عربي

الحين نجي للجزء الحلو. خلنا نكتب أبسط سكريبت ممكن يحول ملف صوتي عربي إلى نص. خمس أسطر بس:

import whisper

model = whisper.load_model("medium")
result = model.transcribe("audio.mp3", language="ar")
print(result["text"])

خلني أشرح كل سطر. السطر الأول يستورد مكتبة Whisper. السطر الثاني يحمّل النموذج، هنا اخترنا medium وبعدين نتكلم ليش. السطر الثالث يعطي Whisper الملف الصوتي ويحدد إن اللغة عربية. والسطر الأخير يطبع النص الناتج.

النقطة المهمة هنا: language="ar". لو ما حددت اللغة، Whisper بيحاول يكتشفها تلقائياً، وأحياناً يغلط، خصوصاً مع اللهجات. دايم حدد اللغة يدوياً. هالشي لحاله يفرق بالدقة.

اختيار حجم النموذج، وليش يفرق مع العربي

Whisper يجي بخمس أحجام مختلفة. كل ما كبر الحجم، زادت الدقة، بس كمان زاد وقت المعالجة واستهلاك الذاكرة. هنا ملخص سريع:

  • tiny, حوالي 39 ميقا. سريع جداً بس ضعيف مع العربي. تقدر تنساه.
  • base، حوالي 74 ميقا. أحسن شوي بس لسه مو كافي للعربي.
  • small، حوالي 244 ميقا. هنا تبدأ النتائج تكون مقبولة.
  • medium، حوالي 769 ميقا. توازن ممتاز بين الدقة والسرعة. هذا اللي أنصح فيه كبداية.
  • large، حوالي 1.5 قيقا. أعلى دقة ممكنة بس يحتاج جهاز قوي.

نصيحة صريحة: لا تستخدم tiny أو base مع العربي. النتائج رح تحبطك. ابدأ من small على الأقل، والأفضل medium. لو عندك كرت شاشة NVIDIA يدعم CUDA، جرب large، الفرق واضح.

خيارات متقدمة: التوقيت والتقسيم

الكود البسيط اللي فوق يطلع لك النص كامل دفعة واحدة. بس أحياناً تحتاج أكثر، تبي تعرف كل جملة متى بدأت ومتى انتهت. هذا مفيد جداً لو تبي تسوي ترجمة لفيديو أو تبي ترجع لجزء معين من التسجيل.

result = model.transcribe(
    "audio.mp3",
    language="ar",
    task="transcribe",
    fp16=False
)

for segment in result["segments"]:
    print(f"[{segment['start']:.1f}s - {segment['end']:.1f}s] {segment['text']}")

هنا أضفنا fp16=False، وهذا مهم لو تشغل Whisper على CPU بدون كرت شاشة. بدون هالخيار، ممكن تطلع لك أخطاء أو نتائج غريبة على بعض الأجهزة.

الحلقة في النهاية تمر على كل مقطع (segment) وتطبع النص مع وقت البداية والنهاية. يعني بتشوف شي مثل:

[0.0s - 4.2s] بسم الله الرحمن الرحيم

[4.2s - 8.7s] اليوم رح نتكلم عن موضوع مهم

مفيد جداً لو تبي تراجع أجزاء معينة من تسجيل طويل.

استخدام Whisper من سطر الأوامر، بدون كود

لو ما تبي تكتب بايثون أصلاً، Whisper يوفر أداة سطر أوامر جاهزة. بعد التثبيت، بس اكتب:

whisper audio.mp3 --language ar --model medium

هالأمر بيحول الملف وينتج ملفات نصية بعدة صيغ، TXT و VTT و SRT، كلها تلقائياً في نفس المجلد. صيغة SRT مفيدة بشكل خاص لو تبي تضيف ترجمة لفيديو.

تسريع العملية بكرت الشاشة

لو عندك كرت شاشة NVIDIA يدعم CUDA، التحويل بيكون أسرع بكثير، نتكلم عن فرق 5 إلى 10 مرات. عشان تستفيد من الـ GPU، تأكد إنك مثبت PyTorch بنسخة CUDA:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

ما تحتاج تغير شي في كود Whisper نفسه. لو الـ GPU متاح، Whisper بيستخدمه تلقائياً. بس تأكد إن التعريفات محدّثة.

نصائح لتحسين الدقة مع الصوت العربي

بعد ما جربت Whisper مع عشرات التسجيلات العربية، هذي أهم الأشياء اللي تفرق:

جودة الصوت هي كل شي

تسجيل نظيف بدون ضوضاء خلفية يفرق أكثر من أي إعداد ثاني. ما تحتاج ميكروفون ستوديو، بس ابتعد عن الأماكن الصاخبة. الفرق بين تسجيل في غرفة هادية وتسجيل في كافيه مزدحم ممكن يكون الفرق بين نص مفهوم ونص ما له معنى.

حدد اللغة دايم

كررتها فوق وأكررها هنا لأنها مهمة. language="ar" لازم يكون موجود. الاكتشاف التلقائي مع العربي غير موثوق، أحياناً Whisper يفتكر الكلام فارسي أو أوردو.

قسّم الملفات الطويلة

لو عندك تسجيل أطول من نص ساعة، قسمه لمقاطع أقصر. هذا يخفف الحمل على الذاكرة ويعطي نتائج أدق. تقدر تستخدم ffmpeg:

# تقسيم الملف لمقاطع كل واحد 10 دقائق
ffmpeg -i long_audio.mp3 -f segment -segment_time 600 -c copy chunk_%03d.mp3

استخدم النموذج الأكبر اللي جهازك يتحمله

مع العربي تحديداً، الفرق بين small و large كبير. لو تقدر تستحمل السرعة البطيئة، دايم روح مع الأكبر.

الحقيقة عن Whisper واللهجات العربية

هنا لازم أكون صريح. Whisper مدرّب بشكل أساسي على الفصحى والعربية الإعلامية، نشرات أخبار، خطابات رسمية، محتوى يوتيوب منظّم. لما تجرب تحول تسجيل بالمصري أو الخليجي أو الشامي أو المغربي، بتلاحظ مشاكل واضحة:

  • كلمات عامية يحولها لفصحى ما لها علاقة بالسياق
  • أسماء الأماكن والأشخاص المحلية تطلع غلط
  • التعابير اللهجية تضيع تماماً
  • الخلط بين العربي والإنجليزي (code-switching) يلخبط النموذج
  • بعض الجمل تطلع كأنها ترجمة قوقل، عربي فصيح بس مو اللي قلته

مثلاً: لو قلت بالخليجي "وش رايك نروح السوق؟" ممكن يطلعها "ما رأيك أن نذهب إلى السوق؟"، وهذا تقنياً صح بس مو اللي قلته بالضبط. وأحياناً يطلع كلام ما له أي معنى، خصوصاً مع المغربي.

متى تحتاج شي أفضل من Whisper؟

Whisper أداة قوية ومجانية، وللمبرمجين اللي يحبون يتحكمون بكل شي هو خيار ممتاز. بس فيه حالات يكون فيها مو كافي:

  • التسجيل بلهجة عامية وتبي النص يعكس بالضبط اللي انقال
  • ما تبي تتعامل مع تثبيت بايثون و ffmpeg وتعريفات GPU
  • تحتاج تنسيق تلقائي، فقرات، علامات ترقيم، تلخيص
  • تبي تحول الصوت لنص من جوالك مباشرة بدون لابتوب

لو هذا وضعك، جرب مفكّر. مبني خصيصاً للصوت العربي بكل لهجاته. ترفع التسجيل وتحصل على النص منسق وجاهز، بدون كود، بدون تثبيت، وبدقة عالية مع اللهجات اللي Whisper يتعثر فيها.

الخلاصة

Whisper أداة ممتازة ومجانية لتحويل الصوت إلى نص. لو أنت مبرمج وتحب تتحكم بالتفاصيل، هو خيار قوي جداً، خصوصاً مع الفصحى والتسجيلات النظيفة.

بس كن واقعي بتوقعاتك مع اللهجات. Whisper ما اتصمم عشان يفهم الفرق بين "أبغى" و"عايز" و"بدي". هالشي يحتاج أدوات متخصصة بالعربي تفهم التنوع اللهجي من الأساس.

الحين عندك كل اللي تحتاجه عشان تبدأ. ثبت Whisper، جرب التسجيلات تبعك، وشوف النتائج بعينك. ولو احتجت شي أسهل وأدق للعربي، تعرف وين تروح.

Ready to try Mufakkir?

20 free minutes of transcription. No card required. Just talk.

Get Started Free

Related Articles

We use analytics to improve Mufakkir.
No personal data is sold. Your recordings stay private.