Skip to main content
PromptQuorumPromptQuorum
Home/Local LLMs/⁨Whisper⁩ على ⁨Apple Silicon 2026⁩: اختبارات ⁨Metal⁩ المرجعية، إعداد ⁨Core ML⁩، دليل ⁨M1⁩–⁨M5⁩
Hardware & Performance

⁨Whisper⁩ على ⁨Apple Silicon 2026⁩: اختبارات ⁨Metal⁩ المرجعية، إعداد ⁨Core ML⁩، دليل ⁨M1⁩–⁨M5⁩

·14 دقيقة للقراءة·By Hans Kuepper · Founder of PromptQuorum, multi-model AI dispatch tool · PromptQuorum

Whisper large-v3 على M5 Pro: 10–12× الوقت الفعلي. GPU Metal تلقائي. يوازن Large-v3-turbo بين السرعة والدقة عند 14–18×. دون تكلفة، دون اتصال بالكامل.

تعرّف Whisper على الكلام على Apple Silicon: اختبارات Metal وCore ML المرجعية من M1 حتى M5 Max. دليل الإعداد، واختيار النموذج، والنسخ في الوقت الفعلي.

جدول الاختبارات المرجعية الكامل: أداء Whisper على Apple Silicon (M1–M5)

الشريحةTinyBaseSmallMediumLarge-v3
32×20×12×
38×24×16×
45×30×22×10×
55×38×28×14×
36×23×14×
42×28×20×
50×35×26×12×
60×42×32×17×
40×26×16×
46×32×22×10×
55×40×30×14×
44×30×18×
50×36×26×12×
60×44×34×16×
48×34×22×10×
55×40×30×14×
65×48×38×18×

×N الوقت الفعلي = N ثانية من الصوت تُنسَخ في ثانية واحدة. اختبارات مرجعية عبر whisper.cpp بتسريع Metal. كل أجهزة M1 Pro فأحدث قادرة على تشغيل large-v3 في الوقت الفعلي أو أسرع.

سرعة Whisper large-v3 في الوقت الفعلي حسب شريحة Apple Silicon: يصل M1 إلى 2–3×، وM5 Pro إلى 10–12×، وM5 Max إلى 12–14× في الوقت الفعلي بفضل تسريع GPU من Metal في whisper.cpp.
سرعة Whisper large-v3 في الوقت الفعلي حسب شريحة Apple Silicon: يصل M1 إلى 2–3×، وM5 Pro إلى 10–12×، وM5 Max إلى 12–14× في الوقت الفعلي بفضل تسريع GPU من Metal في whisper.cpp.

أحجام نماذج Whisper: أيها يجب أن تستخدم؟

النموذجالمعاملاتالحجم على القرصاستخدام RAMWER بالإنجليزيةمثالي لـ

WER (معدل خطأ الكلمات) على مجموعة اختبار LibriSpeech الإنجليزية. Large-v3-turbo وdistil-large-v3 هما النقطة المثلى للوقت الفعلي على معظم أجهزة Mac: جودة قريبة من large-v3 بسرعة 4–6×.

Metal مقابل Core ML مقابل Apple Neural Engine: أي خلفية تختار؟

يقدّم Apple Silicon ثلاثة مسارات تسريع لـ Whisper. لكل منها مزاياه وعيوبه.

Metal (عبر whisper.cpp) — موصى به: يستخدم إطار Apple Metal GPU، متوافق مع كل شرائح سلسلة M، 10–12× الوقت الفعلي على large-v3 (M5 Pro)، الإعداد عبر make WHISPER_METAL=1. مثالي لـ: معظم المستخدمين، أبسط إعداد، أداء مُختبَر.

Core ML (عبر صيغة Apple Core ML) — متقدم: يستخدم إطار تعلّم الآلة من Apple، يمكن أن يستهدف Neural Engine (ANE) لبعض العمليات، أسرع بنسبة 15–20% في بعض الأحمال، يتطلب تحويل النموذج (10–15 دقيقة إعداد). مثالي لـ: المستخدمون المتقدمون الباحثون عن أقصى سرعة.

Apple Neural Engine (ANE) — استخدام محدود: مسرّع ذكاء اصطناعي مخصص في كل شرائح سلسلة M، غير متاح مباشرةً (يجب المرور عبر Core ML)، لا يستفيد Whisper كاملًا من ANE بسبب عدم توافق البنية، يعمل أفضل مع النماذج الصغيرة (tiny، base). مثالي لـ: Whisper tiny/base على أجهزة لابتوب تعمل بالبطارية.

مصفوفة القرار: أول إعداد ← Metal (whisper.cpp). أقصى سرعة على large-v3 ← Metal (whisper.cpp). لابتوب بالبطارية، نموذج base ← Core ML مع ANE. خادم إنتاج ← Metal (مُختبَر، موثوق). نسخ في الوقت الفعلي ← Metal بوضع البث. نشر سحابي على نسخ Mac ← Metal (قابل للحاويات).

  • Metal (whisper.cpp): الأسرع، توافق واسع، أبسط إعداد
  • Core ML: تحسين مع Neural Engine، مكسب سرعة 15–20% في بعض الأحمال (يتطلب تحويلًا)
  • Apple Neural Engine: فائدة محدودة للنماذج الكبيرة، مثالي لـ tiny/base على أجهزة اللابتوب

الإعداد: whisper.cpp بتسريع Metal

  1. 1
    ثبّت التبعيات
    Why it matters: xcode-select --install (أدوات Xcode) brew install ffmpeg (تحويل الصوت)
  2. 2
    استنسخ وجمّع whisper.cpp مع Metal
    Why it matters: git clone https://github.com/ggerganov/whisper.cpp cd whisper.cpp make WHISPER_METAL=1 ./main -h | grep -i metal
  3. 3
    نزّل نموذجًا
    Why it matters: bash ./models/download-ggml-model.sh small (466 MB، الوقت الفعلي) bash ./models/download-ggml-model.sh large-v3 (3 GB، أفضل جودة) bash ./models/download-ggml-model.sh large-v3-turbo (1.6 GB، متوازن)
  4. 4
    انسخ ملف صوتي
    Why it matters: ./main -m models/ggml-large-v3.bin -f /ruta/al/audio.wav ./main -m models/ggml-large-v3.bin -f audio.wav -oj (JSON) ./main -m models/ggml-large-v3.bin -f audio.wav -l en (تحديد اللغة)
  5. 5
    حوّل الصوت غير WAV أولًا
    Why it matters: ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav ./main -m models/ggml-large-v3.bin -f output.wav

النسخ بالبث في الوقت الفعلي (ميكروفون مباشر)

للنسخ المباشر من الميكروفون: مساعدون صوتيون، نسخ الاجتماعات، أدوات الوصولية.

الخيار 1: وضع stream في whisper.cpp

./stream -m models/ggml-small.bin --step 500 --length 5000

# --step 500: المعالجة كل 500ms

# --length 5000: الاحتفاظ بآخر 5 ثوانٍ من السياق

الخيار 2: Python مع faster-whisper (انظر كتلة الكود أدناه)

زمن الاستجابة على M5 Pro: نموذج small نحو 200ms، large-v3-turbo نحو 400–600ms، large-v3 نحو 800ms–1.2 ثانية تأخر عن الوقت الفعلي.

python
import sounddevice as sd
import numpy as np
from faster_whisper import WhisperModel

model = WhisperModel("large-v3-turbo", device="cpu", compute_type="int8")
buffer = []
chunk_duration = 3
sample_rate = 16000

def callback(indata, frames, time, status):
    buffer.append(indata.copy())
    if len(buffer) * 1024 / sample_rate >= chunk_duration:
        audio = np.concatenate(buffer).flatten().astype(np.float32)
        segments, _ = model.transcribe(audio, beam_size=5)
        for segment in segments:
            print(segment.text)
        buffer.clear()

with sd.InputStream(callback=callback, channels=1, samplerate=sample_rate):
    print("Listening... (Ctrl+C to stop)")
    while True:
        sd.sleep(1000)

خط أنابيب مساعد صوتي: Whisper + Ollama + Piper TTS

كود كامل لمساعد صوتي محلي يعمل بالكامل على Apple Silicon.

python
import sounddevice as sd
import numpy as np
import requests
import subprocess
from faster_whisper import WhisperModel

WHISPER_MODEL = "large-v3-turbo"
OLLAMA_URL = "http://localhost:11434/api/chat"
LLM_MODEL = "llama3.1:8b"
SAMPLE_RATE = 16000

whisper = WhisperModel(WHISPER_MODEL, device="cpu", compute_type="int8")

def record_audio(duration=5):
    print("Listening...")
    audio = sd.rec(int(duration * SAMPLE_RATE),
                   samplerate=SAMPLE_RATE,
                   channels=1,
                   dtype=np.float32)
    sd.wait()
    return audio.flatten()

def transcribe(audio):
    segments, _ = whisper.transcribe(audio, beam_size=5)
    return " ".join([seg.text for seg in segments])

def llm_respond(user_text):
    response = requests.post(OLLAMA_URL, json={
        "model": LLM_MODEL,
        "messages": [{"role": "user", "content": user_text}],
        "stream": False
    })
    return response.json()["message"]["content"]

def speak(text):
    subprocess.run(
        ["piper", "--model", "en_US-amy-medium.onnx"],
        input=text.encode(),
        check=True
    )

while True:
    audio = record_audio(duration=5)
    user_text = transcribe(audio)
    print(f"You: {user_text}")
    if not user_text.strip():
        continue
    response = llm_respond(user_text)
    print(f"AI: {response}")
    speak(response)

أفضل تهيئة لـ Whisper حسب طراز Mac

تهيئة Macالنموذج الموصى بهمضاعف الوقت الفعليحالة الاستخدام

لمساعد صوتي في الوقت الفعلي: استخدم small أو large-v3-turbo لأقل زمن استجابة. لنسخ الاجتماعات/البودكاست: استخدم large-v3 لأقصى دقة (تأخر 1–2 ثانية مقبول). قد تتفاوت الأسعار حسب بلدك.

Whisper المحلي مقابل خدمات النسخ السحابية

المقياسWhisper المحلي (M5 Pro)Google Speech-to-TextOpenAI Whisper APIAssemblyAI

التكلفة الشهرية (8 ساعات/يوم): Whisper المحلي 0 دولار، Google 345 دولارًا، OpenAI 86 دولارًا، AssemblyAI 156 دولارًا. قد تتفاوت الأسعار حسب بلدك. للعمل الحساس للخصوصية (طبي، قانوني، صحافة)، يُعد Whisper المحلي الخيار الوحيد. للنسخ عالي الحجم (أكثر من 100 دولار/شهر في السحابة)، يسدّد جهاز Mac محلي تكلفته خلال 12 شهرًا.

Whisper المحلي على M5 Pro مقابل واجهات برمجة تطبيقات تحويل الكلام السحابية: 0 دولار مقابل 0.36–1.44 دولار في الساعة، وزمن استجابة 100–300 مللي ثانية مقابل 300–2000 مللي ثانية، وخصوصية محلية بنسبة 100% مقابل إرسال البيانات إلى السحابة.
Whisper المحلي على M5 Pro مقابل واجهات برمجة تطبيقات تحويل الكلام السحابية: 0 دولار مقابل 0.36–1.44 دولار في الساعة، وزمن استجابة 100–300 مللي ثانية مقابل 300–2000 مللي ثانية، وخصوصية محلية بنسبة 100% مقابل إرسال البيانات إلى السحابة.

هل Whisper أسرع من واجهات السحابة؟

محليًا على M5 Pro: 10× الوقت الفعلي (زمن استجابة 100ms). واجهات السحابة: 100–500ms زمن استجابة بسبب الشبكة. المحلي أسرع ومجاني.

هل يستطيع Whisper التعامل مع عدة متحدثين؟

نعم، تفصل الطوابع الزمنية بين المتحدثين. استخدم أدوات معالجة لاحقة أو diarization لتحديد هوية كل متحدث.

أي لغات يدعم؟

99 لغة باكتشاف تلقائي. تتفاوت الدقة حسب اللغة: الإنجليزية بـ 2.5% WER، ولغات أخرى بـ 5–15% WER.

أي نموذج Whisper يملك أفضل توازن سرعة/جودة؟

Large-v3-turbo أو distil-large-v3. كلاهما يحقق نحو 95% من دقة large-v3 بسرعة 4–6×. موصى بهما لمعظم حالات الاستخدام في الوقت الفعلي.

هل يتعامل Whisper مع الإنجليزية ذات اللكنة أو المتحدثين غير الأصليين؟

نعم، لكن WER يرتفع. الإنجليزية الأصلية: نحو 2.5%. لكنة قوية/غير أصلية: 5–12%. يتعامل large-v3 مع اللكنات أفضل من النماذج الأصغر.

هل يعمل Whisper للبودكاست ونسخ الموسيقى؟

البودكاست: نعم، ممتاز للمحتوى المنطوق. الموسيقى بكلمات: ضعيف — إذ دُرّب Whisper على الكلام. استخدم نماذج متخصصة للموسيقى.

ما مدى دقة Whisper مع المصطلحات التقنية؟

متفاوتة. المصطلحات التقنية الشائعة: جيدة. المصطلحات شديدة التخصص: قد تُنسَخ خطأً. استخدم خيار --prompt بالمفردات المتوقعة لتحسين الدقة.

هل يمكنني تشغيل عدة نسخ من Whisper على جهاز Mac؟

نعم، محدود بالذاكرة. M5 Pro 36GB: نسختان من large-v3 متزامنتان. M5 Max 128GB: 4–6 نسخ أو نسخة واحدة إضافةً إلى LLM/TTS.

A Note on Third-Party Facts

This article references third-party AI models, benchmarks, prices, and licenses. The AI landscape changes rapidly. Benchmark scores, license terms, model names, and API prices can shift between the time of writing and the time you read this. Before making deployment or compliance decisions based on this article, verify current figures on each provider’s official source: Hugging Face model cards for licenses and benchmarks, provider websites for API pricing, and EUR-Lex for current GDPR and EU AI Act text. This article reflects publicly available information as of May 2026.

Run PromptQuorum with a local LLM, your own API keys, or both — you pick the backend.

Join the PromptQuorum Waitlist →

← Back to Local LLMs