أبسط محاكي الكلمات الإنجليزية باستخدام Python و Balabolka

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

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

في واحدة من هذه المحاكيات ، تعلمت بالفعل ما يكفي من الكلمات. وواجه مشكلة واحدة. يقدم جهاز المحاكاة كلمة روسية ، رداً على ذلك ، تحتاج إلى كتابة هذه الكلمة باللغة الإنجليزية ، ثم يذيع المذيع (في الواقع مُركِّب الكلام) النسخة الإنجليزية. أكتب جميع الكلمات بشكل مثالي ، ولكن عندما أرى النص الإنجليزي ، أتذكر فقط أنني علمت هذه الكلمة ، لكني لا أتذكر ما تعنيه. أي أنني أدركت أنني لا أعلم الكلمات.

هناك عيب آخر في المحاكي المحدد هو أنه يتم عرض المواضع الفارغة للإدخال ، والتي يجب إدخال الأحرف فيها ، ولدي دائمًا تلميح عن عدد الأحرف التي يجب أن تكون في كلمة واحدة ، وهذه ليست رياضة.

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

كانت إجراءات حل المشكلة كما يلي:

  • لقد حضرت ملف csv من عمودين: "word" و "translate" ، والذي تضمن جميع الكلمات التي احتاجها.
  • لقد قمت بتنزيل إصدار وحدة التحكم من Balabolka ، البرنامج المجاني المعروف (تحويل النص إلى كلام) ، والمخصص للتمثيل الصوتي لأي نص سواء من ملف أو من الحافظة.
  • لقد كتبت رمز العمل في دفتر ملاحظات المشتري تحت نظام التشغيل Windows 10.

لم آت على الفور لاستخدام Balabolka. في البداية كنت أرغب في استخدام مكتبة pyttsx3 ، ولكن العديد من الأخطاء تعطلت عند تهيئة حزمة pyttsx3.init () ، ولم يكن هناك صوت عند بدء pyttsx3.init ("وهمية"). لم أنجح في اختراق سوء التفاهم المتبادل مع هذه الحزمة ، لذلك كان علي البحث عن خيارات أخرى ، ونجحت مع Balabolka.

الرمز الذي حصلت عليه هو:

import subprocess, clipboard
import pandas as pd

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

words = pd.read_csv ('C:/.../Python_Scripts/words.csv', delimiter=';')
words.head()

قرأت ملف csv مع الكلمات والترجمة.

words.shape

وأنا أتحكم دائمًا في قيم المتغيرات ، وما هو مكتوب فيها وكيف.

words1 = words.sample(frac=1)
words1.head()

أمزج الكلمات في الملف مثل البطاقات ، حتى لا أتذكر تسلسل الكلمات.

words10 = words1.iloc[0:100]

في بعض الأحيان لا يوجد وقت كافٍ لمراجعة ملف الكلمة بالكامل ، وهنا يمكنك تحديد عدد الكلمات المتكررة.

for i in range (len (words10)):
    path = r'C:\...\balcon\balcon.exe'
    flag = ' -n Slt -s -3 -c'
    clipboard.copy (words10['word'].iloc[i])
    subprocess.Popen(path + flag, creationflags=0, close_fds = True)
    print ("\033[1m {}\033[0m" .format(words10['word'].iloc[i]))
    tr = input ()
    print ("\033[1m {}\033[0m" .format(words10['translate'].iloc[i]))
    res = words10['translate'].iloc[i] == tr
    if res == True:
        print("\033[1m\033[36m {}\033[0m" .format(''))
    else:
        print("\033[1m\033[31m {}\033[0m" .format(''))
    i = +1

نص البرنامج نفسه.

في متغير المسار ، أسمي إصدار وحدة التحكم Balabolka ، ملف balcon.exe.

تحتوي وحدة التحكم على معلمات الاتصال الخاصة بها المكتوبة إلى متغير العلامة.

على وجه التحديد ، استخدم هنا:

  • صوت مجاني - n Slt (تم تنزيله من Olga Yakovleva ، مطور المزج الصوتي ، اخترت وضوح اللغة الإنجليزية للنطق مع النطق الذي أحتاجه ، وفي الواقع ، يمكن أن يكون الصوت أي صوت آخر)
  • سرعة النطق -s -3 (هذا الخيار يعني إبطاء سرعة النطق -3 من المعيار)
  • القراءة من الحافظة - c (يمكن لـ Balabolka قراءة النص من ملف ومن الحافظة ؛ اخترت الحافظة ، لأن إنشاء آلاف الملفات بالكلمات هو أمر رهيب).

تبدو نتيجة البرنامج كما يلي: في

نافذة دفتر المشتري

البداية ، بدا "نقانق" طويل من الناتج دون تمييز النص غير قابل للقراءة تمامًا (أولاً الكلمة باللغة الإنجليزية ، ثم الإجابة التي أدخلتها ، ثم إخراج الترجمة الصحيحة ، ثم نتيجة مقارنة النسخة الأصلية والنسخة التي تم إدخالها ، بإجمالي أربعة أسطر لكل كلمة). هذا جعل من الصعب جدا تحليل الأخطاء. اضطررت إلى استخدام رموز ANSI حتى أتمكن لاحقًا من العثور على تلك الكلمات التي أخطأت فيها.

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

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

All Articles