هذا هو كتاب الأستاذ الفاضل تركي العسيري بعنوان :
Visual Basic للجميع ، نحو برمجة كائنية التوجه OOP
يمكن تحميل الكتاب بواسطة الضغط على هذا الرابط :http://www.al-asiri.com/ShowRecord.a...e-cace83941a0fبرنامج التحكم الكامل بالحاسوب عن طريق الأوامر الصوتية
وظيفة البرنامج : تنفيذ الأوامر الصوتية المدخلة عبر الميكروفون
لغة البرمجة المستخدمة : visual basic 6
حجم ملف التنصيب :150 M B
عدد أوامر البرنامج 208 أمر مع إمكانية إضافة عدد لانهائي من قبل المستخدم
سوف نقوم بشرح مايلي:
1-الهدف من البرنامج
2-التقنية والأدوات المستخدمة
3- المشاكل أثناء برمجة المشروع وطرق حلولها
نبدأ الشرح: 1-الهدف من البرنامج
برنامج talk to me صمم للاستغناء شبه الكامل عن لوحة المفاتيح وتنفيذ معظم أوامر نظام التشغيل windows والتحكم بالأجهزة الموصولة بالكمبيوتر وذلك عن طريق استقبال وتنفيذ الأوامر من خلال الميكروفون
مثال 1-: إذا أردت الاتصال بالانترنيت يكفي قول كلمة "connect" ولقطعة نقول "disconnect"
مثال أخر: لنسخ ملف محدد يكفي قول الأمر "copy" وللصق نقول past""
وهكذا بالنسبة للأوامر الباقية
أما إذا لم يكن الأمر مدرج ضمن البرنامج أي بمعنى آخر إذا كان هناك ملف(( أو برنامج أو مجلد أو عنوان انترنيت )) اسمه x موجود في الدليل:c:\x.mp4 لتشغيل هذا الملف يكفي تحديد مسار الملف في المكان المخصص في البرنامج ومن ثم تحديد الكلمة المراد قولها ولتكن run x عندها عندما يقول المستخدم عبر الميكروفون كلمة run x سوف يعمل الملف تلقائيا
أما في حال التعارض أي إذا كان الأمر الذي كتبه المستخدم هو أمر موجود ضمن أوامر البرنامج الأصلية عندها تكون أفضلية التنفيذ تعود إلى أمر المستخدم.
مثال إذا استبدل المستخدم عبارة run x وكتب media player عندها عند إعطاء الأمر media player سيتم تشغيل الملف x.mp4
((ملاحظة:يجب أن تكتب الأوامر باللغة الانكليزية حصرا))
((ملاحظة 2: بامكان المستخدم اضافة كود بحسب لغة البرمجة المنزلة على حاسوبه وعند استدعاء الامر run x يتم تنفيذ هذا الكود))
2- تم تصميم البرنامج بلغة visual basic 6 وهو يعتمد على تقنية Microsoft speech to text
:
Microsoft voice dication.ocx -1
Microsoft voice command.ocx -2
هذه هي أدوات Microsoft sdk الشهيرة معروفة
والحمد لله لم يتم استخدامها في البرنامج نظرا لمشاكله اللتي لاحصر لها
أما الأدوات المستخدمة فهي كما يلي
m.ocx 1-
أما بالنسبة للأداة ((m.ocx)) فهذه الأداة وهي العمود الفقري للبرنامج
طريقة العمل :أولا الأداة هي عبارة عن اداة list box يقوم المبرمج بادخال عناصر القائمة ولتكن مايلي ((X,M,F………….))
عند قيام المستخدم بقول الأمر "F"عندها تقوم الاداة.ocx M بمعالجة البيانات المدخلة ومن ثم الانتقال إلى العنصر "F"وبعدها تنفيذ الأمر الموافق
Microsoft text to speech.ocx 2-
استعملت الاداة Microsoft voice command.ocx لكتابة النصوص المحكية عبر الميكروفون
أما الاداة Microsoft text to speech.ocx استعملت لنطق الامر المنفذ
أي بعد تنفيذ الامر my computer يتم قول عبارة my computer is performed عبر الspeakers
3-
بعض المشاكل التي صادفتني أثناء برمجة المشروع وطرق حلولها
المشكلة الأولى :
الاخطاء في فهم الأوامر الصوتية ((أنا احب أن ادعيها misunderstanding))) أي عندما تقول أمر وينفذ امر آخر
كان تقول back وينفذ الامر past
اسباب المشكلة:
السبب الرئيسي هو عدم قيام المستخدم بتدريبات كافية للتعرف على الكلام أو أن المستخدم قد قام بكافة التدريبات للتعرف على الصوت ولكن قام شخص اخر باستخدام الميكروفون أو قم المستخدم بتغيير Microsoft speech to text engine وقام باستبداله بواحد اخر
كما انه توجد أسباب أخرى مثل وجود ضجيج في الغرفة أو استخدام ميكروفون رديء
الحل:
هناك عدة طرق لحل هذه المشكلة
1- تخفيض عدد الاوامر بشكل مؤقت وهذا يفيد في تقليل امكانية حدوث اخطاء (( misunderstanding))
بمعنى اخر
إذا كان برنامج wmplayer قيد التشغيل وكان البرنامج في وضع التركيز ((أي نافذة البرنامج نشطة))
يتم حذف جميع الاوامر اللتي لا يمكن تنفيذها داخل هذا البرنامج مثل copy past rename…………
بشكل مؤقت الى ان تصبح نافذة البرنامج غير نشطة وعندها يتم استعادت الاوامر السابقة
الحل الغير برمجي:
اذهب الى لوحة التحكم ...................<< الكلام ............. << اختر التبويب التعرف على الكلام.........<< ثم اعدادات
ستظهر لوحة تحوي على شريطي تمرير الأول هو لتحديد دقة التعرف على الكلام أي لن يتم تحديد يتم تنفيذ الامر ما لم يتم نطقه بشكل صحيح
الخيار الأفضل هو أن تجعله قريبا من القيمة high
أما الثاني فهو لتحديد سرعة الاستجابة للامر المعطى ويفضل أن تكون القيمة low
كما في الصورة التالية:
يفضل ضبط الخيارات كما هي في الصورة وهذا يضمن افضل اداء لبرنامج talk to me
ملاحظة هامة:
تعمل الاداة m على ضبط اعدادات الكلام تلقائيا بما يتناسب مع عدد التمرينات اللتي قام بها المستخدم
والخيارات في الصورة هي اللتي تضمن افضل اداء للبرنامج
ملاحظة لقد أدخلت البرنامج تحت التجربة مدة شهر كامل والحمد لله لم أعاني ولا خطا أو misunderstandings يذكر في تنفيذ أي امر من الأوامر
ولكن وعلى سبيل الحماية
قد زودت جميع الأوامر الحساسة مثل الأوامر((delete,,restart the computer,shutdown ,log off,sleep…………………))
بإمكانية التأكيد والتراجع
أي أن البرنامج يعطي مهلة حوالي 5 ثواني للمستخدم قبل تنفيذ هذه الأوامر
2- في حال كان البرنامج يعمل ومن ثم قام المستخدم بالضغط على زر sleep أي قام بإثبات أو استعداد النظام عندها وعند الانتهاء من الوضع لن يعمل البرنامج
الحل
فقط قم بالضغط على f5 أي قم بعملية refresh
3- في حال حدوث خطأ في تقنيةMicrosoft speech to text نتيجة فيروس أو خطا في بشري
واضطر المستخدم لإعادة تنزيلengine Microsoft speech to text فسوف يضطر المستخدم الى إنشاء ملف profile جديد وضياع كل التدريبات التي قام بها سابقا
الحل
يكمن الحل في اداة speech profile manager وهي أداة من شركة Microsoft ((مرفقة مع البرنامج)) وظيفتها حفظ ملف البروفايل الخاص بالمستخدم في مكان يحدده هو
طريقة تشغيلها:
ابدأ................كافة البرامج ...............talk to me................ speech profile manager
تظهر كما في الصورة التالية
اضغط export
ومن ثم حدد المكان الذي تريد حفظ الprofile فيه
وفي حال كان موجود اضغط import واختر المكان الذي حفظته فيه
في حال وجود اكثر من مستخدم للبرنامج
يقوم كل مستخدم بحفظ الprofileالخاص به وعند تشغيل البرنامج يضغط على import ومن ثم يختار الprofil الخاص به
رابط الاداة
http://file7.9q9q.net/Download/88741244--- الحجم الذي يستهلكه البرنامج من الذاكرة يصل الى حوالى 25 mb هو حجم كبير نسبيا ويمكن التغلب على هذه المشكلة بتقسيم البرنامج الى عدة ملفات تنفيذية
فمثلا عند استدعاء الامر restart the computer يتم تشغيل برنامج تطبيق صغير منفصل عن البرنامج مهمته اعادة تشغيل الجهاز.
واخيرا هذا رابط
http://file7.9q9q.net/Download/88741244لعرض جميع اوامر البرنامج ونوافذة
الشرح الكامل والبرنامج
بعد الرد