Whisper المحلي على Mac: ما يحتاج إليه وما يكلّفه وكيف تشغّله

Whisper المحلي يعني تشغيل نموذج الكلام Whisper من OpenAI على Mac لديك، فيتحول صوتك إلى نص على الجهاز بدل خادم في مكان ما. والمحرك الذي يجدر بك معرفته على Mac هو whisper.cpp الذي يعامل شريحة Apple بوصفها مواطنًا من الدرجة الأولى، أما القرار المهم فهو ملف النموذج: النماذج الأكبر تسمع أفضل وتأخذ مساحة قرص وذاكرة أكثر.

أشرح كيف تتكامل القطع، وكم يكلّف كل حجم نموذج بحسب أرقام whisper.cpp نفسها، وأوامر تشغيله بنفسك، وأين يقع YapToText. أطوّر YapToText، وهو تطبيق مجاني يشغّل whisper.cpp بملف Whisper Large v3 Turbo (Q5) الأصلي، فاحتسب ذلك عند تقدير هذا الجزء. وإذا أردت فقط أن تعرف هل يوجد تطبيق Whisper لـ Mac، فتجيب عن ذلك صفحة تطبيق Whisper لـ Mac.

تنزيل YapToText من Mac App Storeالتنزيل مجاني. بلا حساب وبلا ميزات مقفلة، لنظام macOS 14 أو أحدث على Mac مزوّد بشريحة Apple. الشفرة المصدرية على GitHub.

في هذه الصفحة: 12 قسمًا
  1. الخطوات
  2. تعرّف على القطع الثلاث في Whisper المحلي
  3. اختر نموذجًا بحسب مساحة القرص والذاكرة
  4. شغّل Whisper بنفسك باستخدام whisper.cpp
    1. الخطوة 1: احصل على الشفرة ونموذج
    2. الخطوة 2: ابنِه وحوّل العينة إلى نص
    3. الخطوة 3: حوّل صوتك الخاص أولًا
    4. أو استخدم حزمة OpenAI في Python
  5. استخدم النموذج نفسه في YapToText بلا Terminal
  6. إذا كان Whisper المحلي بطيئًا أو يسيء السماع
  7. ما لا يغيّره Whisper المحلي
  8. الخلاصة
  9. الأدلة
  10. أدلة أخرى، بالإنجليزية
  11. المصادر
  12. أسئلة

الخطوات

  1. انسخ مستودع whisper.cpp من GitHub وافتح مجلده في Terminal.
  2. نزّل نموذجًا بسكربت download-ggml-model.sh الخاص بالمشروع، مثل large-v3-turbo-q5_0.
  3. ابنِ المشروع بـ CMake، مستخدمًا أمري cmake من README فيه.
  4. حوّل تسجيلك إلى ملف WAV بدقة 16 بت، مثلًا بـ ffmpeg.
  5. شغّل whisper-cli بملف النموذج وملف WAV، واقرأ النص في Terminal.

تعرّف على القطع الثلاث في Whisper المحلي

لـ Whisper المحلي ثلاث قطع، وكلها على Mac لديك. النموذج ملف، والمحرك يشغّله، وصوتك لا يضطر إلى مغادرة الجهاز.

  • النموذج. Whisper نموذج التعرف على الكلام من OpenAI، وقد أصدرت OpenAI شفرته وأوزان نموذجه برخصة MIT. تنزّل ملف النموذج مرة واحدة، وهذا الملف هو الذي يستمع.
  • المحرك. whisper.cpp تنفيذ بسيط لـ Whisper بلغتي C وC++، وهو أيضًا برخصة MIT. يصف ملف README فيه شريحة Apple بأنها مواطن من الدرجة الأولى، محسَّنة عبر ARM NEON وAccelerate وMetal وCore ML، ويقول إن الاستدلال على شريحة Apple يجري بالكامل على وحدة معالجة الرسوميات عبر Metal. أما حزمة OpenAI نفسها فتشغّل Whisper من Python.
  • صوتك. يدخل تسجيل أو ميكروفونك، ويخرج نص. ولا حاجة إلى الإنترنت إلا لتنزيل ملف النموذج أصلًا.

هذا ما يفصله عن الخدمة السحابية: لا يُرفع شيء ليتحول إلى نص. ويعني أيضًا أن Mac لديك هو الذي يؤدي العمل، فالنموذج الذي تختاره يقرر كم من الذاكرة ومساحة القرص يستهلك ذلك العمل.

ملصق App Store بعنوان Nothing leaves your Mac فوق صفحة AI Models في YapToText، وقد وُسم النموذجان بكلمة Included.
الشكل 1. النموذج والمحرك في سطر واحد في YapToText: Whisper Large v3 Turbo (Q5)، من OpenAI، يشغّله whisper.cpp، بحجم 574 MB وموسوم Included.

اختر نموذجًا بحسب مساحة القرص والذاكرة

تنشر whisper.cpp ما يأخذه كل نموذج على القرص وفي الذاكرة، وتنشر OpenAI عدد معاملات كل نموذج. Turbo هو نسخة OpenAI الأسرع من large-v3، وملفه بدقة 5 بت يأخذ نحو خمس مساحة القرص التي يأخذها large.

راجعتُ ملف README وقائمة النماذج في whisper.cpp وملف README لـ Whisper من OpenAI في 3 أكتوبر 2026.

النموذجالمعاملات (OpenAI)الملف على القرص (whisper.cpp)الذاكرة (whisper.cpp)
tiny39 M75 MiBنحو 273 MB
base74 M142 MiBنحو 388 MB
small244 M466 MiBنحو 852 MB
medium769 M1.5 GiBنحو 2.1 GB
large (v1 أو v2 أو v3)1550 M2.9 GiBنحو 3.9 GB
large-v3 بدقة 5 بت (q5_0)large-v3 مكمَّم1.1 GiBغير مدرج
large-v3-turbo809 M1.5 GiBغير مدرج
large-v3-turbo بدقة 5 بت (q5_0)turbo مكمَّم547 MiBغير مدرج

تحسب MiB وGiB بخطوات من 1,024، فملف turbo البالغ 547 MiB في قائمة whisper.cpp هو الملف نفسه الذي يعرضه YapToText بحجم 574 MB. وهكذا تعرض صفحتان أمينتان الملف نفسه بالرقمين 547 و574 وتكون كلتاهما محقة. يغطي جدول الذاكرة في whisper.cpp الأحجام الخمسة الأصلية ولا يعطي رقمًا لـ turbo ولا للملفات المكمَّمة.

صفحة AI Models في YapToText: Whisper Large v3 Turbo (Q5) وPhi-3.5 Mini Instruct موسومان بـ Included، ومكتبة النماذج في الأسفل.
الشكل 2. يعرض YapToText الأحجام بوحدة MB، ولذلك يظهر ملف turbo الذي تدرجه whisper.cpp بحجم 547 MiB هنا بحجم 574 MB، وتحته نماذج Whisper الأخرى.

وهذه ملاحظات أخرى من المشروعين:

  • النماذج الإنجليزية فقط. تأتي tiny وbase وsmall وmedium أيضًا بملفات .en بالحجم نفسه تسمع الإنجليزية وحدها. وتقول OpenAI إنها تميل إلى أداء أفضل بالإنجليزية، خاصة tiny.en وbase.en، وإن الفرق يتقلص في small.en وmedium.en.
  • النماذج المكمَّمة. الملفات المنتهية بـ q5_0 مكمَّمة. وتقول whisper.cpp إن النماذج المكمَّمة تحتاج إلى ذاكرة ومساحة قرص أقل، ويمكن معالجتها بكفاءة أعلى بحسب العتاد.
  • Turbo. تصفه OpenAI بأنه نسخة محسَّنة من large-v3 بتحويل أسرع إلى نص وتراجع ضئيل في الدقة، وتقدّره بنحو 8 أضعاف سرعة large. وقد قيست تلك النسبة على A100 لا على Mac، وتقول OpenAI إن turbo غير مدرَّب على الترجمة.
  • اللغات. تقول OpenAI إن أداء Whisper يتفاوت كثيرًا بحسب اللغة.
  • عمود الذاكرة عند OpenAI. يسرد ملف README لدى OpenAI الذاكرة المطلوبة VRAM لحزمتها في Python بدلًا من ذلك: نحو 1 GB لـ tiny وbase، ونحو 6 GB لـ turbo، ونحو 10 GB لـ large. وهذه ليست أرقام whisper.cpp.

اخترت ملف turbo بدقة 5 بت لـ YapToText لأنه سمع، في إملاءاتي أنا، ما سمعه النموذج الكامل تقريبًا بالضبط، بثلث الذاكرة. وهذه إملاءات شخص واحد لا اختبار معياري، فجرّب حجمين على صوتك قبل أن تستقر على أحدهما.

شغّل Whisper بنفسك باستخدام whisper.cpp

تشغيل whisper.cpp بنفسك يحتاج إلى Terminal وإلى الأداتين اللتين تفترضهما أوامر README فيه، وهما Git وCMake. هذه أوامر README نفسها، مع تبديل النموذج بملف turbo بدقة 5 بت. ما تحصل عليه نص لملف صوتي في Terminal، لا كلمات تُكتب في تطبيقاتك.

الخطوة 1: احصل على الشفرة ونموذج

Terminal: انسخ مستودع whisper.cpp ونزّل نموذج turbo بدقة 5 بت.

git clone https://github.com/ggml-org/whisper.cpp.git
cd whisper.cpp
sh ./models/download-ggml-model.sh large-v3-turbo-q5_0

ما يحدث: يصل المشروع في مجلد whisper.cpp، وينزّل السكربت الملف ggml-large-v3-turbo-q5_0.bin من Hugging Face إلى مجلد models فيه. بدّل base.en أو small للحصول على تنزيل أصغر.

الخطوة 2: ابنِه وحوّل العينة إلى نص

Terminal: ابنِ whisper-cli، ثم شغّله على التسجيل النموذجي المرفق بالمشروع.

cmake -B build
cmake --build build -j --config Release
./build/bin/whisper-cli -m models/ggml-large-v3-turbo-q5_0.bin -f samples/jfk.wav

ما يحدث: يبني CMake المشروع، ويحوّل whisper-cli العينة إلى نص بالنموذج الذي نزّلته ويطبع النص في Terminal.

الخطوة 3: حوّل صوتك الخاص أولًا

يقول ملف README إن whisper-cli يعمل حاليًا مع ملفات WAV بدقة 16 بت فقط، ويعطي أمر ffmpeg لتحويل أي شيء آخر. وffmpeg تثبيت منفصل.

Terminal: حوّل ملف MP3 إلى صيغة WAV التي يقرؤها whisper-cli.

ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav

ما يحدث: يكتب ffmpeg الملف output.wav بصوت 16 kHz أحادي القناة بدقة 16 بت، وتسلّمه بعد ذلك إلى whisper-cli بعد الخيار -f.

أو استخدم حزمة OpenAI في Python

Terminal: ثبّت حزمة OpenAI نفسها، إن كنت تفضّل العمل في Python.

pip install -U openai-whisper

ما يحدث: يثبّت pip الأمر whisper. ويقول ملف README لدى OpenAI إن الشفرة يُتوقع أن تعمل مع Python من 3.8 إلى 3.11، وإنها تحتاج إلى ffmpeg، وإن نموذجها الافتراضي هو turbo.

وللكلام المباشر، تضم whisper.cpp الأداة whisper-stream التي تأخذ عينات من ميكروفونك كل نصف ثانية وتحوّل إلى نص باستمرار. وهي تحتاج إلى SDL2، ويصفها ملف README بأنها مثال ساذج. أما إيصال الكلمات إلى Mail أو Slack أو محررك فهو الجزء الذي يضيفه التطبيق.

استخدم النموذج نفسه في YapToText بلا Terminal

يشغّل YapToText المحرك نفسه والملف نفسه دون نافذة Terminal: نسخة من whisper.cpp مبنية داخل التطبيق مع Metal وAccelerate، والملف ggml-large-v3-turbo-q5_0.bin داخل تنزيل App Store. وقيمة SHA-256 لديه تطابق الملف على Hugging Face، فهو النموذج الأصلي لا نموذج مضبوط خصيصًا ولا معاد تدريبه. طوّرت التطبيق لأنني أجد صعوبة في الكتابة بيدي، وأردت أن يكتب Whisper في كل تطبيق بدل أن يطبع في نافذة Terminal. هو الملف الذي ينزّله السكربت. والذي يتغير هو كل ما حوله.

ملصق App Store بعنوان Yap it. Bam. It's typed. فوق نافذة YapToText الرئيسية وتخطيطات اللوحة العائمة الثلاثة.
الشكل 3. ملف Whisper نفسه بلا Terminal: تتكون الكلمات في اللوحة العائمة وأنت تتكلم وتصل إلى المؤشر في أي تطبيق أمامك.

وهذا ما يضيفه التطبيق حول النموذج:

  • ذاكرة يعيدها. في صفحة Energy، يقرر الخيار Keep models in memory المدة التي يبقى فيها النموذج محمّلًا بعد الإملاء: 2 دقيقة بعد الاستخدام افتراضيًا، مع خيارات من Only while dictating إلى Until quit. إلغاء التحميل أبكر يوفر طاقة وذاكرة، والإملاء التالي بعد إلغاء التحميل يستغرق بضع ثوانٍ إضافية.
  • مساحة لـ macOS. حين تقل ذاكرة macOS، يُسقط YapToText نماذجه المحمّلة فورًا وينتظر خمس دقائق قبل أن يسخّنها من جديد.
  • نموذج أخف على البطارية. الخيار Switch models with the power source، وهو مطفأ افتراضيًا، يعطي نموذج الإملاء ونموذج التنقيح خيارًا لكل منهما عند التوصيل بالكهرباء وعلى البطارية.
  • ملفك الخاص. تحت Your own models في صفحة AI Models، يقبل Add Model أي ملف whisper.cpp GGML بصيغة .bin، فنموذج نزّلته بالسكربت يعمل أيضًا. يقرأ التطبيق الملف ليعرف ما هو ويرفض أي شيء غيره.
  • أرقام Mac لديك. تعرض بطاقة This Mac في صفحة Energy شريحتك وذاكرتك، وهذا هو الرقم الذي تقابله بالجدول أعلاه.

في Dictation Model Library بصفحة AI Models عشرة نماذج Whisper أخرى، من Tiny إلى Large v3، لكل منها الحجم الذي يعرضه التطبيق. يسردها دليل نماذج AI، ويشرح دليل الطاقة إعدادات الذاكرة. وتنزيل App Store نحو 2.9 GB لأن نموذجي التطبيق كليهما داخله. وإصدار Homebrew نحو 12 MB ويحتاج إلى تنزيل نموذج كلام قبل أول إملاء.

إذا كان Whisper المحلي بطيئًا أو يسيء السماع

ابدأ بالحلول الرخيصة قبل أن تنزّل نموذجًا أكبر. أصلح الميكروفون والكلمات قبل أن تغيّر النموذج.

  1. انتظر انتهاء التشغيل الأول. على النموذج أن يُحمَّل قبل أن يتمكن من التحويل إلى نص. وفي YapToText يستغرق أول إملاء بعد التشغيل لحظة. وإذا بنيت whisper.cpp مع Core ML، فيقول ملف README فيه إن أول تشغيل على جهاز بطيء بينما تُصرّف خدمة Neural Engine النموذج.
  2. اضبط اللغة التي تتكلمها. تبدأ قائمة Language في YapToText في صفحة AI Models بلغة النظام على Mac لديك، واللغة التي لا يستطيع Whisper استخدامها تعود إلى الاكتشاف التلقائي. وتسرد صفحة اللغات جميع اللغات الـ 29.
  3. أصلح الميكروفون. ميكروفونات Bluetooth بجودة الهاتف، فميكروفون Mac نفسه يسمع أفضل. وفي YapToText اخترْه من قائمة Input في لوحة شريط القوائم.
  4. علّمه كلماتك. صفحة Dictionaries في YapToText تهيّئ Whisper بأسمائك ومصطلحاتك، ولا تكتفي بإصلاح ما يكتبه. ويبين دليل القواميس الطريقة.
  5. استخدم نموذجًا للإنجليزية فقط إن كنت تتكلم الإنجليزية. إذا كانت الذاكرة ضيقة ولا تتكلم إلا الإنجليزية، فتقول OpenAI إن إصدارات .en تميل إلى أداء أفضل، وأكثر ما يظهر ذلك في tiny وbase.
  6. غيّر حجم النموذج. اختر أكبر إذا كان يسيء السماع وذاكرتك تسمح، أو أصغر إذا كان بطيئًا. وفي YapToText، تبين تقييمات النجوم في صفحة AI Models المقايضة، ويعرض كل إملاء في History زمنه الخاص من الإيقاف إلى ظهور النص.
إدخال في History في YapToText وقد فُتحت تفاصيل المعالجة: النص الخام والنص المنقّح والنمط والتسليم والتطبيق الهدف والأوقات.
الشكل 4. لكل إملاء في History أوقاته: كم تكلمت، والوقت من الإيقاف إلى ظهور النص موزعًا بين التحويل إلى نص والتنقيح بالذكاء الاصطناعي والتسليم.

ما لا يغيّره Whisper المحلي

تشغيل Whisper محليًا ينقل العمل إلى Mac لديك، وهذا كل ما ينقله. المحلي يغيّر أين يذهب صوتك، لا مدى جودة سماعه.

  • الأخطاء. النموذج هو الذي يقرر جودة سماعه حيثما عمل، فاسم يسيء سماعه يحتاج إلى إدخال في قاموس أو ميكروفون أفضل، لا إلى مكان مختلف.
  • الترجمة. تقول OpenAI إن turbo غير مدرَّب على الترجمة، ولا يطلب YapToText من Whisper إلا التحويل إلى نص، لا الترجمة أبدًا.
  • تنزيل واحد. النموذج المحلي ما زال عليه أن يصل مرة واحدة. تجلبه سكربتات whisper.cpp من Hugging Face، وإصدار App Store من YapToText يضمّه داخله، وإصدار Homebrew يجلبه من صفحة AI Models.
  • أجهزة Mac بمعالج Intel. تدرج whisper.cpp أجهزة Mac بمعالج Intel وبشريحة Arm ضمن المدعومة. أما YapToText فيحتاج إلى شريحة Apple ونظام macOS 14 أو أحدث، ولا يُدَّعى شيء عن أجهزة Intel.
  • أرقام الدقة. لا أنشر نسب دقة لأي نموذج. النجوم وسجلّك أنت في History هما الدليل.

ولإثبات أن الإعداد محلي فعلًا، ففي صفحة الإملاء بلا إنترنت اختبار من دقيقة: أوقف Wi-Fi وأمل.

الخلاصة

  • Whisper المحلي. ملف نموذج ومحرك على Mac لديك، ولا يُرفع شيء.
  • النموذج. ملف turbo بدقة 5 بت، وهو 547 MiB في قائمة whisper.cpp، هو الذي يأتي مع YapToText.
  • افعلها بنفسك. انسخ whisper.cpp، ونزّل نموذجًا، وابنِ بـ CMake، وشغّل whisper-cli على ملف WAV بدقة 16 بت.
  • أو تجاوز Terminal. يشغّل YapToText الملف نفسه ويكتب في أي تطبيق، مجانًا.

اختر النموذج بحسب ذاكرة Mac لديك، ثم بحسب صوتك. وإذا لم يطابق شيء هنا ما تراه، فـافتح issue على GitHub. أقرأ كل ما يصلني.

تنزيل YapToText من Mac App Storeالتنزيل مجاني. بلا حساب وبلا ميزات مقفلة، لنظام macOS 14 أو أحدث على Mac مزوّد بشريحة Apple. الشفرة المصدرية على GitHub.

عن الكاتب. اسمي Ryleigh Newman. أطوّر البرمجيات، وأجد صعوبة في الكتابة على لوحة المفاتيح، وأُملي كل يوم باستخدام YapToText، التطبيق الذي يتناوله هذا الموقع. هذه الصفحة مترجمة من الإنجليزية. واجهة التطبيق وبقية صفحات الموقع بالإنجليزية. المزيد عن المشروع، بالإنجليزية.

الأدلة

أدلة أخرى، بالإنجليزية

المصادر

أسئلة

كيف أشغّل Whisper محليًا على Mac؟

استخدم whisper.cpp: انسخ المستودع، ونزّل نموذجًا بسكربت download-ggml-model.sh، وابنِه بـ CMake، وشغّل whisper-cli على ملف WAV بدقة 16 بت. أو ثبّت تطبيقًا يضمّه، مثل YapToText الذي يشغّل Whisper Large v3 Turbo دون أي إعداد.

كم ذاكرة يحتاج Whisper؟

يتوقف ذلك على النموذج. تدرج whisper.cpp نحو 273 MB لـ tiny و852 MB لـ small و2.1 GB لـ medium و3.9 GB لـ large، وتقول إن النماذج المكمَّمة تحتاج إلى أقل. ولا تعطي رقم ذاكرة لـ turbo.

ما أفضل نموذج Whisper محلي؟

أبدأ بـ Large v3 Turbo، وملفه بدقة 5 بت هو الذي يأتي مع YapToText: 547 MiB في قائمة whisper.cpp. وإذا كانت الذاكرة ضيقة، فإن small أو base يستهلكان أقل بكثير، وتقول OpenAI إن الإصدارات للإنجليزية فقط تميل إلى أداء أفضل بالإنجليزية في الأحجام الأصغر.

ما حجم نموذج Whisper Large v3 Turbo؟

1.5 GiB في قائمة نماذج whisper.cpp، أو 547 MiB لملف q5_0 بدقة 5 بت، وهو 574 MB بالوحدات العشرية. وتدرج OpenAI نموذج turbo بـ 809 مليون معامل.

هل يحتاج Whisper المحلي إلى الإنترنت؟

لتنزيل النموذج مرة واحدة فقط. وبعد ذلك يحوّل whisper.cpp وYapToText إلى نص دون اتصال، وإصدار App Store من YapToText يأتي ومعه النموذج، فيتجاوز حتى ذلك التنزيل.

هل يمكنني استخدام نموذج whisper.cpp في YapToText؟

نعم. تحت Your own models في صفحة AI Models، يقبل Add Model أي ملف whisper.cpp GGML بصيغة .bin، ويعرف التطبيق ما هو من الملف نفسه.