تعريف ببرنامج mpvacious لتعلم اللغات من خلال مقاطع الفيديو

|

مقدمة

mpvacious هو برنامج يعمل كإضافة لمشغل الفيديو mpv، وظيفته تسهيل عملية اقتطاع مقاطع مختارة من الفيديو مع ترجمتها وصنع بطاقات لبرنامج Anki منها لكي تراجعها مرارا وتكرارا وتتعلم أي كلمة أو عبارة غير مألوفة في المقطع.

تدعى عملية انتقاء جمل من فيديوهات تشاهدها أو نصوص تقرأها أو أي شيء تستهلكه باللغة التي تتعلمها عموما بـ”تعدين الجمل” (sentence mining)، وهي طريقة ممتعة للتعلم من السياق.

شاهد هذا الفيديو المسجل من قبل مؤلف mpvacious لنبذة سريعة عنه: https://www.youtube.com/watch?v=vU85ramvyo4

المتطلبات

  1. حمل mpv ونصبه من هنا: https://mpv.io/installation/
  2. نزل mpvacious من هنا: https://github.com/Ajatt-Tools/mpvacious/archive/refs/heads/master.zip واتبع تعليمات تنصيبه.

سأفترض أن لديك معرفة تقنية تساعدك على تنصيب المتطلبات بنفسك باتباع التعليمات. إذا وجدت نفسك ضائعا تماما فعلى الأغلب ليس mpvacious مخصصا لك، فهو يحتاج معرفة تقنية لدرجة معينة.

استعراض

لنأخذ جولة سريعة مع mpvacious من خلال استعراض مكتوب مع الصور لكي نأخذ فكرة عن كيفية عمله.

بعد تنصيب mpvacious، نفتح ملف الفيديو الذي نريد مشاهدته في mpv.

أتعلم حاليا اللغة التركية. مؤخرا وجدت قناة يوتيوب تنشر أنيميشن/أفلام متحركة تركية (Yunus Emre Gündüz) وأدمنت عليها وبدأت باستخدام mpvacious لتعلم أي عبارة لا أعرفها تمر علي.

لنأخذ مثالا سريعا مع فيديو من هذه القناة: https://www.youtube.com/watch?v=B9Gj0Xq8D3A

بعد أن حملنا الفيديو وشغلناه باستخدام mpv، لنقل إنك وصلنا إلى مقطع نريد صنع بطاقة أنكي منه.

أول شيء سنفعله هو فتح قائمة خيارات mpvacious بالضغط على a ليظهر التالي.

ثم نضغط على i لتظهر لنا قائمة بهذا الشكل فيها بعض اختصارات لوحة المفاتيح واستخداماتها.

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

لكي نخبر mpvacious بالمقطع الذي نريد استخراجه، علينا أن نحدد بدايته ونهايته. أسهل طريقة لذلك هي بالضغط على زر c والذي يضبط بداية المقطع ونهايته حسب توقيت الترجمة الظاهرة حاليا.

إذا كان توقيت الترجمة دقيقا يتزامن مع حديث الشخصيات فهذا الخيار مريح جدا (سنرى ما يمكننا فعله إذا لم يكن التوقيت جيدا لاحقا).

بعد أن حددنا بداية المقطع ونهايته يمكننا الضغط على n لكي نضيف بطاقة إلى أنكي.

لنذهب الآن إلى أنكي ونفتح البطاقة التي أضافها mpvacious.

وجدنا أن mpvacious قد استخرج الصوت وأضافه للجانب الأمامي للبطاقة مع صورة مأخوذة في لحظة إضافتنا للبطاقة. مهمتنا هنا هي 1) الاستماع للمقطع الصوتي طبعا، 2) ملاحظة أي شيء لم نفهمه في العبارة (كلمات، تعابير، إلخ). ثم نظهر الجواب ليظهر لنا التالي:

ظهرت لدينا الجملة النصية مع معلومات الفيديو المأخوذة منه. نقييم الآن فهمنا ونختار زر تقييم إجابة.

لنأخذ مثالا آخر. هذه المرة مع لغة أخرى ومقطع من مسلسل Mind Your Language (أنصح متعلمي الإنجليزية بمشاهدته) وليكن المقطع الذي نريد استخراجه يمتد على مدى عبارتين نريد تضمينهما في البطاقة نفسها.

نبدأ أولا بالذهاب لأول عبارة ونضغط على c كما سبق لكي يتم تحديد بداية المقطع ونهايته. لكننا نريد أيضا تضمين العبارة التالية لذلك علينا تعديل وقت نهاية المقطع. أسهل طريقة لفعل هذا هنا هو ببساطة تقديم الفيديو إلى حين ظهور ترجمة العبارة التالية. سنلاحظ أن mpvacious يعدل نهاية المقطع تلقائيا.

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

حسنا، ماذا لو كانت توقيت الترجمة سيئا جدا لا يتزامن مع الحديث أو ماذا لو كانت لا توجد ترجمة أصلا لكنك ما زلت تريد اقتطاع مقطع وإضافته؟

إذا قرأت خيارات القائمة فسترى أن هناك خيارات لضبط بداية المقطع ونهايته حسب اللحظة الحالية بغض النظر عن توقيت الترجمة. هذه الاختصارات هي s و e.

لنأخذ مثالا عن توقيت ترجمة متأخر:

استخدام هذه الخيارات أصعب بطبيعة الحال لأنك تحتاج للتأكد يدويا من أنك تضمن بداية الجملة إلى نهايتها في المقطع بدون اقتصاص كلمة بدون قصد قد تضر بفهمك للسياق.

لنر كيف ستظهر البطاقة في أنكي:

إذا كنت تقرأ بنباهة فستلاحظ أن عبارة “Goodnight! - I’ve locked up the tea room Sid - Thanks Glad” تم تضمينها مع أننا لم نمضها في المقطع الصوتي. هذا لأن توقيت الترجمة ليس دقيقا طبعا وmpvacious يعتمد عليه لاستخراج النص المرافق للصوت. يمكننا هنا ببساطة حذف النص الزائد يدويا عندما نراجع البطاقة.

لكن ماذا لو كنت تريد تقطيع فيديو ليس له ترجمة؟ عندها سيكون حقل النص فارغا وسيرفض mpvacious إنشاء بطاقة بسبب ذلك. لكن هناك حل لهذا سأشرحه لاحقا يجعل البرنامج يسمح بإضافة البطاقة على كل حال مع نص تنبيهي كهذا:

يمكنك هنا استغلال الفرصة لكي تصغي السمع وتكتب النص بنفسك وتضيفه عند مراجعة البطاقة.

ضبط mpvacious

بعد أن أخذنا جولة قصيرة مع mpvacious لندخل في التفاصيل الدسمة وطريقة إعداد البرنامج وتخصيصه. أولا سننشئ ملفا باسم subs2srs.conf ونضعه في مجلد mpv/script-opts/. سيحتوي هذا الملف إعدادات مثل الزرمة التي سيحفظ mpvacious البطاقات فيها ونوع الملحوظة (notetype) المستخدم وأشياء أخرى. هنا مثال عن ملف: https://github.com/Ajatt-Tools/mpvacious/blob/master/.github/RELEASE/subs2srs.conf مع شرح لكل الخيارات.

هذه إعداداتي التي أستخدمها للغة الإنجليزية مثلا:

deck_name=en::09. mined sentences
model_name=Mined Sentence
sentence_field=sentence
audio_field=audio
image_field=image
miscinfo_field=source
create_deck=yes
nuke_spaces=no
allow_duplicates=no

سيحفظ mpvacious بيانات المقطع بهذا الشكل حسب هذه الإعدادات:

بجانب أول الخيارات والتي هي مخصصة لضبط توزيع الحقول والرزمة ونوع الملحوظة المستخدمين، يجدر التركيز على آخر ثلاث خيارات:

  1. create_deck: يجعل هذا الخيار البرنامج ينشئ الرزمة المضبوطة بخيار deck_name إذا لم تكن موجودة بالفعل في أنكي.
  2. nuke_spaces: البرنامج يزيل المسافات بين كل كلمة من نص المقطع بشكل افتراضي. هذا لأن استخدامه الأكبر هو لتعلم لغات شرق آسيا مثل الصينية واليابانية والتي لا تستخدم المسافات بين الكلمات. نحتاج لإلغاء تفعيل هذا الخيار لأغلب اللغات الأخرى وإلا ظهرت النصوص كطلاسم بدون مسافات.
  3. allow_duplicates: قلنا سابقا إن mpvacious يرفض استيراد المقاطع التي لا ترجمات لها. ضبط هذا الخيار لقيمة no يجعله يستورد المقاطع على أي حال مع العبارة التنبيهية التي رأيناها.

استخدام mpvacious مع عدة لغات

إذا كنت مهووسا بتعلم اللغات فقد ترغب في استخدام mpvacious لتعلم أكثر من لغة، وستحتاج غالبا لأن تستخدم إعدادات مختلفة لكل لغة، مثل الرزمة المستخدمة وخيار nuke_spaces.

يدعم mpvacious استخدام عدة ملفات إعدادات يمكن تفعيل واحد منها والتنقل بينها باستخدام زر p عندما تكون قائمة البرنامج ظاهرة. يظهر الملف المفعل حاليا بجانب “Active profile” في الواجهة. إذا عدت إلى الصور السابقة في المقالة فستجد أنني استخدمت ملفي إعدادات مختلفة لكل من اللغتين الإنجليزية والتركية.

لكي تستخدم هذه الميزة عليك أولا إنشاء ملف باسم subs2srs_profiles.conf في مجلد mpv/script-opts/ تعرّف فيه أسماء ملفات الإعدادات الموجودة في المجلد نفسه وذات اللاحقة conf بهذا الشكل:

profiles=subs2srs,english,turkish
active=subs2srs

سيكون ملف subs2srs.conf الافتراضي في هذه الحالة.

لدي شخصيا ثلاث ملفات إعدادات للغات الإنجليزية والتركية واليابانية.

خاتمة

كان هذا تعريفا قصيرا لأداة تعرفت عليها مؤخرا ووجدتها مفيدة جدا لإنعاش روتيني التعليمي. سأضع مصادر للاستزادة حول mpvacious وأدوات مشابهة.

مراجع

  • وثائق mpvacious الرسمية والتحميل: https://github.com/Ajatt-Tools/mpvacious
  • أداة subs2srs عريقة ومصدر إلهام mpvacious. فرقها الأكبر أنها أوتوماتيكية تماما تقتطع المقاطع حسب توقيت الترجمة وتضيفها كلها إلى Anki. مفيدة إذا كان لديك ترجمة بتوقيت ممتاز وتريد إضافة كل المقاطع في فيديو بسرعة.
  • هناك عدة إضافات لـAnki تساعد على إنشاء بطاقات على طراز subs2srs. ابحث عن “subs2srs” في صفحة https://ankiweb.net/shared/addons/2.1.
  • “خدعة” بسيطة تعلمتها مؤخرا هي إنشاء عدة حسابات يوتيوب باستخدام الإيميل نفسه وتخصيص كل منها للغة من اللغات التي أتعلمها حيث أشترك بقنوات تنشر محتوى بتلك اللغة فقط لخلق بيئة للانغماس فيها. أحمل فيديوهات من القنوات وأستخدمها مع mpvacious أيضا.