كيف تجعل جهاز الكمبيوتر الخاص بك يتحدث / يتكلم ما تكتبه

هناك ميزة رائعة في Windows تتيح لك جعل جهاز الكمبيوتر الخاص بك يتحدث أو يتكلم(computer talk or speak) ما تقوله! تستفيد هذه الطريقة من واجهة برمجة تطبيقات(API) مدمجة مثبتة على أنظمة التشغيل Windows XP(Windows XP) و Vista و 7 و 8 و 10 تسمى SAPI ( واجهة برمجة تطبيقات الكلام(Speech Application Programming Interface) ).

Microsoft Speech API هو ما يتم استخدامه لميزة إمكانية الوصول لتحويل(accessibility feature) النص إلى كلام  المضمنة في Windows . يمكنك أيضًا كتابة برامج تستدعي API ، مما يسمح لك بالسماح لتطبيقاتك بالتحدث ، ولكن هذا للمطورين.

مجرد جعل جهاز الكمبيوتر الخاص بك يقول ما تريد هو أمر سهل للغاية في الواقع! في هذه المقالة ، سأوضح لك كيفية إنشاء برنامج نصي VBS(VBS script) يأخذ إدخالاً نصيًا(text input) من المستخدم ثم نطقه. سأذكر أيضًا كيفية كتابة التعليمات البرمجية الثابتة للنص الذي تريد نطقه ثم جدولة هذا البرنامج النصي ليتم تشغيله في أحداث معينة مثل بدء تشغيل Windows(Windows) أو تسجيل الخروج.

نص الإدخال ، نطق الرسالة

لنبدأ بنص بسيط سينبثق مربع حوار(dialog box) حيث يمكنك كتابة ما تريد أن يتحدث به Windows. أولاً(First) ، انطلق وافتح برنامج " المفكرة(Notepad) " .

الخطوة 1:(Step 1:)  الصق النص التالي في مستند جديد:

Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
sapi.Speak message

لاحظ أنه عند نسخ نص من مستعرض الويب الخاص بك ولصقه(web browser and paste) في برنامج Notepad ، فإن علامات الاقتباس ستتسبب في حدوث مشكلات. قبل حفظ الملف ، تحتاج إلى متابعة وحذف كل اقتباس (") وإعادة كتابة الاقتباس. في المثال أدناه ، هناك ستة اقتباسات. يجب أن تبدو مثل الصورة أدناه(image below) .

جعل الكمبيوتر يتكلم

الآن عندما تذهب لحفظ الملف ، أعطه أي اسم ، ولكن تأكد من كتابة .VBS أيضًا بعد الاسم. بعد ذلك ، بالنسبة إلى المربع حفظ بنوع( Save as type) ، اختر كل الملفات بدلاً من ( All files)المستندات النصية(Text Documents) الافتراضية .

جعل الحديث الكمبيوتر

الآن انقر نقرًا مزدوجًا فوق ملف VBS(VBS file) وسترى مربع إدخال(input box) حيث يمكنك كتابة النص الذي تريد نطقه! اكتب شيئًا(Type something) وانقر فوق "موافق".

يتحدث مربع الحوار

إذا فعلت كل شيء بشكل صحيح(everything right) ، يجب أن تسمع صوتًا ذكوريًا أو أنثويًا يتحدث بجملتك. إذا تلقيت أي نوع من رسائل الخطأ(error message) ، فتأكد من نسخ النص ولصقه مرة أخرى واستبدال علامات الاقتباس هذه.

تكوين إعدادات SAPI Voice

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

Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
Set sapi.Voice = sapi.GetVoices.Item(1)
sapi.Rate = 0
sapi.volume = 100
sapi.Speak message

المعدل الافتراضي(default rate) هو 0 والنطاق من -10 إلى 10. -10 سيتحدث الصوت ببطء شديد و 10 سيتحدث بسرعة فائقة. تم ضبط مستوى الصوت افتراضيًا على 100 والنطاق من 0 إلى 100. سيسمح لك السطر الذي يبدأ بـ Set sapi.Voice بالتغيير إلى صوت آخر ، إذا كان مثبتًا على نظامك.

لاحظ أن عدد الأصوات التي يمكنك الاختيار من بينها يعتمد على نظام التشغيل(operating system) . في Windows 7 ، يوجد صوت واحد فقط ، Microsoft Anna .

الأصوات المثبتة

في Windows 10 ، يوجد صوتان: Microsoft David و Microsoft Zira(Microsoft David and Microsoft Zira) كما هو موضح أدناه.

صوت مايكروسوفت ديفيس

صوت مايكروسوفت زيرا

إذا كان هناك صوت واحد مثبت على نظامك ، فعليك تغيير ذلك المسمى sapi.GetVoices.Item (1)(sapi.GetVoices.Item(1) ) إلى sapi.GetVoices.Item (0) ، وإلا فستتلقى رسالة خطأ(error message) عند محاولة تشغيل البرنامج النصي. يمكنك أيضًا إنشاء مستند Notepad آخر ولصق(Notepad document and paste) الكود أدناه ، والذي سيخبرك بالأصوات المثبتة. احفظه كملف .VBS كما هو موضح أعلاه وقم بتشغيله.

Set VObj = CreateObject(“SAPI.SpVoice”)
For Each Voice In VObj.getvoices
I = I + 1
msgbox “” & (I – 1) & ” – ” & Voice.GetDescription
Next

حتى الآن ، كنا نستخدم مربع الحوار المنبثق(popup dialog) هذا لإدخال نص ، ولكن يمكنك أيضًا كتابة رسالتك في ملف البرنامج النصي(script file) . سيكون هذا مفيدًا إذا أردت جدولة البرنامج النصي ليتم تشغيله تلقائيًا. من الواضح أنه يمكن استخدام هذا لمزحة أصدقائك وعائلتك وهو يعمل بشكل جيد حقًا.

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

من أجل ترميز الرسالة ، ما عليك سوى تغيير السطر الأخير إلى شيء مثل هذا:

sapi.Speak “Hello John, I am very tired today!”

جدولة ملف البرنامج النصي

الآن بعد أن قمت بترميز رسالتك بشكل ثابت للهدف المقصود ، عليك ببساطة تشغيلها عندما تريد. إذا كنت خبيرًا في التكنولوجيا ، فيمكنك استخدام برنامج مثل AutoIt ، والذي سيتيح لك القيام بأشياء متطرفة مثل تشغيل ملف البرنامج النصي(script file) الخاص بك عند فتح برنامج معين أو عند تكبير النوافذ أو تصغيرها.

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

تتناول رسالتي السابقة بالتفصيل كيفية جدولة ملف نصي(script file) ليتم تشغيله عند حدوث أحداث معينة في Windows . إذا كنت تواجه أي مشكلة في تشغيل البرنامج النصي ، فلا تتردد في نشر تعليق وسأحاول مساعدتك. استمتع!



About the author

أنا مبرمج كمبيوتر منذ أكثر من 15 عامًا. تكمن مهاراتي في تطوير التطبيقات البرمجية وصيانتها ، فضلاً عن تقديم الدعم الفني لتلك التطبيقات. لقد قمت أيضًا بتدريس برمجة الكمبيوتر لطلاب المدارس الثانوية ، وأنا حاليًا مدرس محترف.



Related posts