يوضح التفريغ ما قيل. وفي المقابلات والاجتماعات والبودكاست، نحتاج أيضًا إلى معرفة من قاله؛ وتُعرف هذه المهمة بفصل المتحدثين. بدءًا من iPhone 1.8.5 وMac App Store 1.3.2 وMac DMG 1.5.1، ينفذ Whisper Notes فصل المتحدثين بالكامل على الجهاز.
نشرح هنا طريقة العمل، وننشر نتائج الاختبار مقابل مرجع أنشأته خدمة سحابية، ثم نعرض حالة صعبة لم يحلها تبديل النموذج وحده وما فعلناه بدلًا من ذلك.
ما الذي تفعله الميزة
افتح ملاحظة — تسجيلًا أو ملف صوت أو فيديو مستوردًا أو تسجيل اجتماع — واضغط زر المتحدثين. بعد ثوانٍ قليلة، تظهر تسمية متحدث وطابع زمني لكل فقرة.


تسميات المتحدثين على Mac وiPhone. يؤدي الضغط على جملة إلى نقل التشغيل إلى لحظتها.
تبدأ التسميات باسم «المتحدث 1» و«المتحدث 2»، ويؤدي تغيير أحدهما إلى تحديث التفريغ كله. ويمكن الضغط على أي جملة للانتقال إلى موضعها الدقيق في الصوت ومراجعة الاقتباس بصوت صاحبه.

تؤدي إعادة تسمية المتحدث إلى تحديث كل فقرة في الملاحظة.
في تسجيلات الاجتماعات، يعمل التعرف على المتحدثين تلقائيًا بعد انتهاء المكالمة، ويمكن إيقافه من الإعدادات. وتبقى التسميات عند التصدير: ينقلها خيار نسخ التفريغ مع المتحدثين إلى الحافظة، وتحفظها ملفات SRT وVTT في الترجمة النصية.
يعالج فصل المتحدثين الأصوات لا الكلمات، ولذلك يعمل بالطريقة نفسها عبر أكثر من 100 لغة يستطيع التطبيق تفريغها.
نموذج 19 MB على Neural Engine
يجيب فصل المتحدثين عن سؤال «من تحدث ومتى» في ثلاث خطوات: تقسيم الصوت إلى مقاطع كلام، وتحويل كل مقطع إلى بصمة صوتية — متجه صغير يصف الصوت لا الكلمات — ثم تجميع البصمات، بحيث تحصل المقاطع في المجموعة نفسها على التسمية نفسها.
يستخدم Whisper Notes مسار pyannote community-1 بعد تحويله إلى Core ML لتعمل المرحلتان على Neural Engine. يبلغ التنزيل لمرة واحدة 19 MB، وتستغرق معالجة محادثة مدتها 5.7 دقائق 2–4 ثوانٍ على Mac من فئة M.
الصوت ← مقاطع الكلام ← البصمات الصوتية ← المجموعات ← التسميات
تعمل كل خطوة على الجهاز.
هذا مهم خصوصًا في فصل المتحدثين. فالبصمة الصوتية معلومة حيوية تحدد هوية الشخص مثل بصمة الإصبع. تعني المعالجة المحلية أن بصماتك وبصمات زملائك وضيوف المقابلات تُحسب وتُجمع ثم تُحذف على الجهاز، ولا تُرسل إلى أي مكان.
ما الذي قسناه
نستخدم اختبارًا ثابتًا من ملفين. يأتي المرجع من خدمة ElevenLabs السحابية للتعرف على الكلام وفصل المتحدثين، ثم نراجعه يدويًا. ينسب القياس كل 10 ms من الكلام إلى متحدث ويختار أفضل مطابقة بين الناتج والمرجع. ملفان عينة صغيرة، لذا نعد الأرقام مؤشرات لا أحكامًا نهائية.
يمثل الملف الأول الحالة المعتادة: بودكاست إنجليزي مدته خمس دقائق بصوتين مختلفين بوضوح. تشبهه معظم المقابلات والبودكاست والاجتماعات الثنائية.
| بودكاست إنجليزي بمتحدثين (5 دقائق) | النتيجة |
|---|---|
| نسبة الإسناد على مستوى الإطارات (دقة 10 ms) | 96.7% |
| دقة الجمل (ما يقرأه المستخدم) | 99.1% |
| زمن المعالجة على Neural Engine من فئة M | 2–4 ث |
تمثل النسبة المتبقية، 0.9%، ثلاثة انزياحات في الحدود مجموعها 3.4 ثوانٍ، وهي ضمن دقة المرجع نفسه. في مادة كهذه، تطابق النتيجة المحلية الخدمة السحابية التي أنشأت المرجع.
الحالة الصعبة
الملف الثاني صعب عمدًا: صوتان رجاليان متشابهان في غرفة ذات صدى، ومقدم يقاطع 19 مرة، بمتوسط 2.3 ثانية للمقاطعة. يتحدث الضيف 272 ثانية والمقدم 43. هذا هو النمط الصوتي الذي يُسقط فصل المتحدثين في أي لغة: أصوات متشابهة تتبادل مقاطع قصيرة.
ينهار التجميع التلقائي هنا. البصمتان متقاربتان لدرجة أن الخوارزمية تدمجهما وتضع معظم الحوار تحت تسمية واحدة. صادف أن التسجيل برنامج مقابلة بالصينية، ما أتاح لنا اختبار الفرضية الواضحة — أن نموذجًا متخصصًا في اللغة سيؤدي بشكل أفضل. شغّلنا عبر CPU نموذجين مدربين خصيصًا على الكلام الصيني:
| النموذج | البودكاست الإنجليزي | الحالة الصعبة* | الوقت (صوت 5.7 دقائق) |
|---|---|---|---|
| pyannote community-1 (نموذجنا، Neural Engine) | 96.7% | 81–82% | 2–4 ث |
| CAM++ (مدرب على الصينية، CPU) | 93.9% | 81.2% | 36–103 ث |
| ERes2NetV2 (مدرب على الصينية، CPU) | — | 80.5% | 220–290 ث |
* إسناد على مستوى الإطارات في الملف الصعب مع تحديد عدد المتحدثين. من دونه تنهار كل النماذج نحو متحدث واحد.
ينهار النموذجان بالطريقة نفسها رغم استهلاك 10–100 ضعف من الحوسبة. الصعوبة صوتية لا لغوية — الحد هو ما تستطيع تضمينات الصوت الحالية تمييزه، في أي لغة.
لذلك أعطينا المسار معلومة لا يستطيع استنتاجها بثقة: عدد الموجودين في الغرفة. عند اختيار 2 إلى 6 متحدثين من القائمة، تنتقل دقة الجمل في الملف الصعب من الانهيار إلى 89%. يبقى الاكتشاف التلقائي افتراضيًا لأنه صحيح في التسجيلات المعتادة.

إعادة الاكتشاف بعد تحديد عدد المتحدثين. وتصدر القائمة نفسها SRT وVTT مع التسميات.
تحسين المداخلات القصيرة
بعد تثبيت العدد، تركز نحو نصف الأخطاء المتبقية في مداخلات أقصر من ثلاث ثوانٍ. يمنح المقطع ذو الثانيتين نموذج التضمين إشارة قليلة، وقد تلتقط البصمة جزءًا من صوت المتحدث المجاور في الحوار السريع.
بعد التجميع، يعيد المسار فحص كل جملة أقصر من 3.5 ثوانٍ: يحسب بصمتها بقناع يغطي إطارات الجملة فقط، ويقارنها بمرجع كل متحدث — متوسط أطول مداخلاته — ولا يغير التسمية إلا عند وجود فارق واضح. يعاد استخدام النموذج نفسه بلا تنزيل إضافي.
| دقة الجمل النهائية | قبل التحسين | بعده |
|---|---|---|
| الحالة الصعبة (مع تحديد العدد) | 89.0% | 94.8% |
| البودكاست الإنجليزي (تلقائي) | 98.5% | 99.1% |
الحد محافظ: غيّر المحسن 21 تسمية عبر الملفين ولم يضف أي خطأ جديد.
القيود
• تظهر التسميات بعد انتهاء التسجيل، لا أثناء المكالمة. للتسميات المباشرة بأسماء المتحدثين أثناء الاجتماع، تكون خدمة سحابية مثل Otter أو Notta أنسب.
• يحصل الكلام المتداخل على تسمية واحدة لكل جملة.
• تظل الأصوات المتشابهة صعبة. تمثل 94.8% في ملفنا الصعب السقف الحالي مع تحديد العدد، وليست مشكلة محلولة.
التوفر
يتضمن الشراء لمرة واحدة بسعر $6.99 ميزة التعرف على المتحدثين، إلى جانب محركات التفريغ الثلاثة — Parakeet V3 وWhisper Large V3 Turbo وSenseVoice — والتحرير المحلي بالذكاء الاصطناعي. لا توجد باقة منفصلة ولا حساب.
• iPhone: App Store، الإصدار 1.8.5 أو أحدث.
• Mac App Store: الإصدار 1.3.2 أو أحدث.
• التنزيل المباشر لـMac (DMG): الإصدار 1.5.1 أو أحدث من whispernotes.app، مع تجربة مجانية.
لمعرفة طريقة عمل تسجيل الاجتماعات، راجع مقالنا عن تفريغ الاجتماعات دون اتصال.