جدول المحتويات:
- الخطوة الأولى: كيف نهيئ البيئة؟
- الخطوة الثانية: لماذا يزداد الطلب على Arduino؟
- الخطوة 3: لنبدأ !!!!
- الخطوة 4: المكونات المطلوبة
- الخطوة 5: كيف تعمل في الواقع؟
- الخطوة 6: توصيل الأسلاك بالمكونات
- الخطوة 7: تقديم الكود إلى لوحة Arduino
- الخطوة 8: البرنامج / الرسم
- الخطوة 9: ماذا عن الرموز المكتوبة؟
- الخطوة 10: وظيفة التكرار
- الخطوة 11: كيفية استيراد كائنات حل BitVoicer Server؟
- الخطوة 12: الخاتمة
فيديو: أداة التعرف على الكلام: 12 خطوة
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
مرحبا جميعا………
هذه هي التعليمات الثانية التي أنشرها
فمرحبا بكم جميعا…
سأعلمك في هذا Instructable كيفية إنشاء أداة التعرف على الصوت باستخدام لوحة اردوينو.
لذلك أعتقد أن لديك تجربة مع لوحات اردوينو من قبل ، إذا لم يكن الأمر كذلك ، فهي ليست مشكلة كبيرة على الإطلاق هنا ، لكنني أوصيك أن تعتاد عليها لأنها مثيرة جدًا للعب بها وإنشاء بعض المشاريع الرائعة منه حسب إبداعك ومعرفتك به.
لذلك بالنسبة للأشخاص الذين ليس لديهم خبرة سابقة في استخدام اردوينو:
Arduino هو جهاز كمبيوتر مفتوح المصدر يتم تصنيعه من قبل شركة لديها مجتمع كبير من المصممين والمصنعين ، ويمكن اعتباره مثل جهاز كمبيوتر صغير يمكن استخدامه للتحكم في الدوائر الإلكترونية الأخرى
تمت برمجة Arduino في بيئة تم تطويرها بأنفسهم ويمكن تنزيلها بسهولة من موقع الويب الخاص بهم
الخطوة الأولى: كيف نهيئ البيئة؟
مجرد البحث في جوجل "تحميل اردوينو"
انقر فوق "Arduino - Software"
ستتمكن من رؤية "تنزيل Arduino IDE"
اختر حسب نظام التشغيل الخاص بك
قم بتنزيله وتثبيته
لذلك قمت بتثبيت البرنامج بنجاح ويمكنك كتابة الكود الخاص بك لـ arduino وبمساعدة كابل ، يمكنك توصيل لوحة اردوينو بالكمبيوتر وإدخال الكود.
الخطوة الثانية: لماذا يزداد الطلب على Arduino؟
غير مكلف
لوحات Arduino غير مكلفة بالمقارنة مع منصات التحكم الدقيقة الأخرى. سيكلف حوالي 50 دولارًا.
عبر منصة
يعمل برنامج Arduino على أنظمة تشغيل Windows و Macintosh OS و Linux. إذا فكرنا في أنظمة تحكم صغيرة أخرى ، فستعمل فقط في Windows أو بعبارة أخرى مقصورة على windows فقط.
برمجيات مفتوحة المصدر وقابلة للتوسيع
البرنامج مفتوح المصدر ، لذلك بدأ الناس يدرسون حوله بعمق وتضمين المكتبات (التي تتضمن مجموعة من الوظائف لتشغيلها) من لغات البرمجة الأخرى.
بيئة برمجة بسيطة وسهلة
من السهل استخدام Arduino IDE (البرنامج الذي ناقشناه بالفعل حول….) للأشخاص بما في ذلك المبتدئين ، حيث يتم توفير قدر كبير من الموارد بواسطة Arduino أنفسهم والمتوفر على الإنترنت مجانًا. لذلك لا تتردد في معرفة المزيد حوله.
أجهزة مفتوحة المصدر وقابلة للتوسيع
يتم نشر خطط لوحات Arduino بموجب ترخيص Creative Commons ، بحيث يمكن للأشخاص الذين لديهم خبرة في تصميم الدوائر إنشاء نسختهم الخاصة من الوحدة النمطية ، كما يحق لهم توسيع التكنولوجيا ويمكنهم تحسينها عن طريق إضافة ميزات إليها.
الخطوة 3: لنبدأ !!!!
لقد قلت بالفعل أن هذا المشروع يركز بشكل أساسي على التعرف على الصوت باستخدام Arduino والسماح له بتنفيذ بعض المهام.
التحدث بشكل أكثر وضوحًا ……
تلتقط الإشارات الصوتية التي يوفرها المستخدم ، والتي يمكن اكتشافها عن طريق وميض مؤشر LED بعد أن يتم تحويلها إلى كلام مركب.
الخطوة 4: المكونات المطلوبة
المكونات الرئيسية المطلوبة لهذا المشروع هي:
اردوينو ديو × 1
ميكروفون إلكتريت من سبارك فن 1
Spark Fun Mono Audio Amp Breakout x 1
مكبر الصوت: 0.25 واط ، 8 أوم × 1
اللوح × 1
5 ملم LED: أحمر × 3
مقاوم 330 أوم × 3
أسلاك توصيل × 1
لحام الحديد × 1
خادم BitVoicer
إنه خادم التعرف على الكلام والتوليف لأتمتة الكلام.
الخطوة 5: كيف تعمل في الواقع؟
1. يتم اكتشاف الموجات الصوتية ثم تلتقط هذه الموجات ويتم تضخيمها بواسطة لوحة Sparkfun Electret Breakout.
2. سيتم تحويل الإشارة المكبرة التي تم الحصول عليها من العملية المذكورة أعلاه إلى رقمنة وتخزينها مؤقتًا / تخزينها في لوحة Arduino باستخدام المحول التناظري إلى الرقمي (ADC) الموجود فيه.
3. سيتم تقديم عينات الصوت إلى خادم BitVoicer باستخدام منفذ Arduino التسلسلي الموجود.
4. سيقوم BitVoicer Server بمعالجة دفق الصوت ومن ثم يتعرف على الكلام الذي يحتوي عليه.
5. سيتم تعيين الخطاب الذي تم التعرف عليه إلى الأوامر التي تم تحديدها بالفعل من قبل نفسها من قبل ، ثم سيتم إرسالها مرة أخرى إلى Arduino. إذا كان أحد الأوامر يتكون من توليف الكلام ، فسيقوم BitVoicer Server بإعداد دفق الصوت وإرساله إلى Arduino.
6. سيحدد Arduino الأوامر المقدمة ويقوم بالإجراء المناسب المناسب. إذا تم استقبال دفق صوتي ، فسيتم وضعه في قائمة الانتظار في فئة مكبر الصوت BVS وتشغيله باستخدام DUE DAC و DMA.
7. يقوم مكبر الصوت الأحادي SparkFun بتضخيم إشارة DAC حتى يتمكن من تشغيل مكبر صوت 8 أوم ويمكن سماعه من خلاله.
الخطوة 6: توصيل الأسلاك بالمكونات
تتمثل الخطوة الأولى في توصيل مكونات مختلفة في اللوح وأيضًا باستخدام لوحة اردوينو كما هو موضح في الصورة
تذكر أن لوحة اردوينو المستخدمة هنا هي DUE ، فهناك طرز أخرى مختلفة تم تصنيعها بواسطة Arduino يعمل كل منها على مستويات جهد مختلفة
تعمل معظم لوحات Arduino عند 5 فولت ، لكن DUE تعمل عند 3.3 فولت
يستخدم DUE بالفعل مرجعًا تناظريًا بجهد 3.3 فولت ، لذلك لا تحتاج إلى وصلة مرور إلى دبوس AREF
آسف ، لقد نسيت أن أقول إن دبوس AREF هو "ANALOG REFERENCE PIN" الموجود في لوحة اردوينو كما هو موضح في الشكل التالي (إنه arduino UNO ولكنه مشابه في الموقع المماثل في حالة DUE)
يتم توصيل دبوس AREF الموجود في DUE بوحدة التحكم الدقيقة من خلال جسر المقاوم
لاستخدام دبوس AREF ، يجب فك المقاوم R1 من PCB [لوحة الدوائر المطبوعة]
الخطوة 7: تقديم الكود إلى لوحة Arduino
لذلك يتعين علينا تحميل الكود على لوحة Arduino ، بحيث يمكن أن يعمل وفقًا للإرشادات الواردة في الكود.
من السهل جدًا القيام بذلك ، وسأشرح كل واحد منهم بالتفصيل ، وماذا يفعلون وكيف يعملون.
كيف تثبت مكتبة؟
لذا قبل ذلك علينا معرفة كيفية تثبيت مكتبات BitVoicer Server في Arduino IDE ، على برنامج اردوينو.
لذلك افتح Arduino IDE
في اللوحة العلوية ، انقر فوق "رسم"
ثم انقر فوق "تضمين مكتبة"
انقر على "إدارة المكتبة"
بعد ذلك سيفتح مدير المكتبة ويمكننا رؤية قائمة المكتبات الجاهزة للتثبيت أو تلك التي تم تثبيتها بالفعل
ابحث عن المكتبة المراد تثبيتها ثم حدد رقم الإصدار
نحن هنا نقوم بتثبيت مكتبات BitVoicer Server ، وهو أمر ضروري لهذا المشروع
كيفية استيراد مكتبة بتنسيق.zip؟
يمكن أيضًا توزيع المكتبات كملف ZIP أو مجلد
اسم المجلد هو اسم المكتبة
يوجد داخل المجلد ملف.cpp وملف.h وغالبًا ما يكون ملف keywords.txt ومجلد أمثلة وملفات أخرى تطلبها المكتبة
من الإصدار 1.0.5 من Arduino IDE ، يمكنك تثبيت مكتبات الطرف الثالث بداخله
لا تقم بفك ضغط المكتبة التي تم تنزيلها ، اتركها كما هي
لذلك اذهب إلى رسم> تضمين مكتبة> إضافة مكتبة مضغوطة
حدد موقع ملف.zip وافتحه.
ارجع إلى قائمة Sketch> Import Library.
إذا تم استيرادها بشكل صحيح ، فستظهر هذه المكتبة في أسفل القائمة المنسدلة عند التنقل.
الخطوة 8: البرنامج / الرسم
هذا هو البرنامج الذي يجب تحميله في Arduino.
يمكن القيام بذلك ببساطة عن طريق توصيل لوحة Arduino بالكمبيوتر وتحميلها على اللوحة.
الخطوة 9: ماذا عن الرموز المكتوبة؟
الآن دعونا نلقي نظرة على ما تفعله كل وظيفة مكتوبة في الكود بالفعل ………..
مراجع المكتبة وإعلان المتغير
قبل الحديث عن هذا يجب أن نعرف ونفهم بعض المصطلحات الأساسية والتي تشمل:
-
BVSP
إنها مكتبة تمنحنا تقريبًا كل الموارد المطلوبة لتبادل المعلومات مع خادم BitVoicer
يوجد بروتوكول موجود معروف باسم بروتوكول خادم BitVoicer والذي يتم تنفيذه من خلال فئة BVSP. هذا مطلوب للتفاعل مع الخادم
-
BVSMic
إنها مكتبة تنفذ جميع الأشياء المطلوبة لتسجيل الصوت باستخدام المحول التناظري إلى الرقمي (ADC) من Arduino
يتم تخزين هذا الصوت في المخزن المؤقت الداخلي للفئة ويمكن استرجاعه ومن ثم يمكن إرساله إلى محركات التعرف على الكلام المتوفرة على BitVoicer Server
-
BVSS المتحدث
إنها مكتبة تحتوي على جميع الموارد الأساسية المطلوبة لإعادة إنتاج تدفقات الصوت المرسلة من خادم BitVoicer
لذلك يجب أن تحتوي لوحة Arduino على محول رقمي إلى تناظري مدمج (DAC)
Arduino DUE هي لوحة Arduino الوحيدة التي تحتوي على DAC مدمج
مكتبات BVSP و BVSMic و BVSSpeaker و DAC ، تتم كتابة الإشارة إليها على الأسطر الأربعة الأولى التي تشكل بداية البرنامج
عند تثبيت BitVoicer Server ، يمكنك العثور على BitSophia الذي يوفر كل هذه المكتبات الأربع
عندما يضيف المستخدم مرجعًا إلى مكتبة BVSSpeaker ، سيتم استدعاء مكتبة DAC التي تم ذكرها سابقًا تلقائيًا
يتم استخدام فئة BVSP للتواصل مع BitVoicer Server
تُستخدم فئة BVSMic لالتقاط الصوت وتخزينه
تُستخدم فئة BVSSpeaker لإعادة إنتاج الصوت باستخدام Arduino DUE DAC
2. وظيفة الإعداد
تُستخدم وظيفة الإعداد لتنفيذ إجراءات معينة مثل:
لضبط أوضاع الدبوس وحالاتها الأولية
لتهيئة الاتصال التسلسلي
لتهيئة فئة BVSP
لتهيئة فئة BVSMic
لتهيئة فئة BVSSpeaker
يقوم أيضًا بتعيين "معالجات الأحداث" (مؤشرات الوظيفة) للأحداث التي تم تلقيها من الإطارات ، و modeChanged و streamReceived من فئة BVSP
الخطوة 10: وظيفة التكرار
تنفذ خمس عمليات رئيسية:
1. وظيفة keepAlive ()
هذه الوظيفة هي مطالبة الخادم بمعلومات الحالة.
2. تلقي () وظيفة
هذه الوظيفة هي التحقق مما إذا كان الخادم قد أرسل أي بيانات أم لا ، وإذا أرسل الخادم أي بيانات فسيتم معالجتها.
3. isSREAvailable () و startRecording () و stopRecording () و sendStream ()
تُستخدم هذه الوظائف للتحكم في الإعدادات المختلفة لتسجيل الصوت وبعد وصوله إلى الصوت ، سيتم إرسال هذا الصوت إلى خادم BitVoicer.
4. تلعب () وظيفة
تُستخدم هذه الوظيفة لتشغيل الصوت الذي تم وضعه في قائمة الانتظار في فئة BVSSpeaker.
5. playNextLEDNote ()
تُستخدم هذه الوظيفة للتحكم في كيفية وميض مؤشر LED.
6. وظيفة BVSP_frame المستلمة
يتم استدعاء هذه الوظيفة في كل مرة تبدأ فيها وظيفة الاستلام () في تحديد أنه تم استلام إطار واحد كامل ، وهنا نقوم بتشغيل الأوامر التي تم الحصول عليها من BitVoicer Server. الأوامر التي تتحكم في وميض مصابيح LED هي 2 بايت ، وفي ذلك البايت الأول يشير إلى الدبوس ويشير البايت الثاني إلى قيمة الدبوس ، وهنا نستخدم الدالة analogWrite () لتعيين القيمة المناسبة للدبوس. في ذلك الوقت ، يتعين علينا أيضًا التحقق مما إذا كان الأمر playLEDNotes ، وهو من نوع Byte ، قد تم استلامه. إذا تم استلامه ، فقد قمت بضبط playLEDNotes على true وسيقوم بمراقبة الوقت الحالي وتحديده. سيتم استخدام هذا الوقت بواسطة وظيفة playNextLEDNote لمزامنة مصابيح LED مع الأغنية.
7. وظيفة BVSP_modeChanged
يتم استدعاء هذه الوظيفة في كل مرة تحدد فيها وظيفة الاستلام () تغييرًا في الوضع في الاتجاه الصادر (خادم Arduino). يمكن لخادم BitVoicer Server إرسال بيانات مؤطرة أو صوت إلى Arduino. قبل أن ينتقل الاتصال من وضع إلى آخر ، يرسل BitVoicer Server إشارة. تحدد فئة BVSP هذه الإشارة وترفع أو تحدد الحدث modeChanged. في وظيفة BVSP_modeChanged ، إذا اكتشف المستخدم أن الاتصال ينتقل من وضع البث إلى وضع الإطار ، فسيعرف / تعرف أن الصوت قد انتهى حتى يتمكن المستخدم من إخبار فئة BVSSpeaker بالتوقف عن تشغيل الصوت.
8. BVSP_streamR Received function
يتم استدعاء هذه الوظيفة في كل مرة تحدد فيها وظيفة الاستقبال () أن عينات الصوت قد تم استلامها. يقوم ببساطة باسترداد الصوت ووضعه في قائمة انتظار في فئة BVSSpeaker حتى تتمكن وظيفة play () من إعادة إنتاجها.
9. playNextLEDNote وظيفة
تعمل هذه الوظيفة فقط إذا كانت الدالة BVSP_frameReceived تحدد الأمر playLEDNotes. يتحكم في مصابيح LED ويزامنها مع الصوت المرسل من BitVoicer Server. لمزامنة مصابيح LED مع الصوت ومعرفة التوقيت الصحيح ، يمكن استخدام برنامج مجاني Sonic Visualizer. يسمح لنا بمشاهدة موجات الصوت حتى يتمكن الشخص من معرفة متى تم الضغط على مفتاح البيانو.
الخطوة 11: كيفية استيراد كائنات حل BitVoicer Server؟
لقد قمنا الآن بتعيين خادم BitVoicer للعمل مع Arduino.
هناك أربعة كائنات حل رئيسية لخادم BitVoicer: المواقع والأجهزة وبيانات البيانات الثنائية والمخططات الصوتية.
دعونا نلقي نظرة على هذه بالتفصيل:
المواقع
يمثل الموقع الفعلي الذي يتم فيه تثبيت الجهاز.
يمكننا إنشاء موقع يسمى المنزل.
الأجهزة
يعتبرون عملاء BitVoicer Server.
مثل إنشاء موقع ، يمكننا إنشاء جهاز مختلط ، وللسهولة دعنا نسميه ArduinoDUE.
في بعض الأحيان ، يمكن أن تحدث بعض حالات تدفق المخزن المؤقت ، لذلك للتخلص من ذلك ، كان علي أن أقصر معدل البيانات في إعدادات الاتصال على 8000 عينة في الثانية.
BinaryData هو نوع من الأوامر التي يمكن أن يرسلها BitVoicer Server إلى أجهزة العميل. إنها في الواقع مصفوفات بايت يمكنك ربطها بالأوامر.
عندما يتعرف BitVoicer Server على الكلام المرتبط بهذا الأمر ، فإنه يرسل مصفوفة البايت إلى الجهاز الهدف.
لهذا السبب ، قمت بإنشاء كائن BinaryData واحد لكل قيمة دبوس وقمت بتسميته ArduinoDUEGreenLedOn و ArduinoDUEGreenLedOff وما إلى ذلك.
لذلك اضطررت إلى إنشاء 18 كائنًا من BinaryData ، لذا أقترح عليك تنزيل واستيراد الكائنات من ملف VoiceSchema.sof المقدم أدناه.
إذن ما هو مخطط الصوت؟
المخططات الصوتية هي المكان الذي يجتمع فيه كل شيء معًا. يتمثل الدور الرئيسي لهم في تحديد كيفية التعرف على الجمل وما يجب تشغيل جميع الأوامر.
لكل جملة ، يمكنك تحديد العديد من الأوامر حسب حاجتك والترتيب الذي سيتم تنفيذه.
يمكنك أيضًا تحديد التأخيرات بين كل من الأوامر المقدمة.
يدعم BitVoicer Server صوت PCM أحادي 8 بت فقط (8000 عينة في الثانية) لذلك ستكون هناك حاجة لتحويل ملف الصوت إلى هذا التنسيق ، وهناك الكثير من رسوم التحويل عبر الإنترنت موجودة اليوم وأوصي https://audio.online -convert.com/convert-to-wav.
يمكنك استيراد (استيراد كائنات الحلول) جميع كائنات الحل التي استخدمتها في هذا المشروع من الملفات أدناه.
يحتوي أحدهما على جهاز DUE والآخر يحتوي على مخطط الصوت وأوامره.
الخطوة 12: الخاتمة
ها أنت ذا !!!
لقد أنشأت مشروعًا رائعًا ويمكنك التحدث إليه
لذا ابدأ بالتحدث ………………………
يمكنك وميض مصابيح LED وفي نفس الوقت يمكنك قولها لغناء أغنية إذا احتجت إلى ذلك ، فقد تم توفير رمزها بالفعل
لذلك أكملت تعليمي الثاني !!!!!!!!
نعم……
أعتقد أن الجميع فهم ذلك …
إذا كان لدى أي شخص أي استفسارات ، فلا تتردد في سؤالي
سأخرج مع Instructable ممتاز في المرة القادمة …
وداعا…
اراك قريبا……………
موصى به:
التعرف على الكلام باستخدام Arduino (Bluetooth + LCD + Android): 6 خطوات
التعرف على الكلام باستخدام Arduino (Bluetooth + LCD + Android): في هذا المشروع ، سنقوم بالتعرف على الكلام باستخدام Arduino ووحدة Bluetooth (HC-05) وشاشات الكريستال السائل. دعونا نبني جهاز التعرف على الكلام الخاص بك
التعرف على الكلام باستخدام Google Speech API و Python: 4 خطوات
التعرف على الكلام باستخدام واجهة برمجة تطبيقات Google Speech و Python: التعرف على الكلام يعد التعرف على الكلام جزءًا من معالجة اللغة الطبيعية وهو حقل فرعي من الذكاء الاصطناعي. ببساطة ، التعرف على الكلام هو قدرة برنامج الكمبيوتر على تحديد الكلمات والعبارات في اللغة المنطوقة
كيفية إعداد Pi-Hole على Raspberry Pi ، أداة حظر الإعلانات على مستوى الشبكة !!: 25 خطوة
كيفية إعداد Pi-Hole على Raspberry Pi ، أداة حظر الإعلانات على مستوى الشبكة !!: بالنسبة لهذا المشروع ، ستحتاج إلى: Raspberry Pi قادر على الاتصال بالإنترنت وبطاقة Micro SD تعمل على لوحة مفاتيح Raspbian LiteA (لإعداد SSH) ثانية الجهاز (للوصول إلى بوابة الويب) معرفة أساسية بـ UNIX بالإضافة إلى التنقل عبر الواجهة على
أداة التعرف على الأرقام ببايثون: 3 خطوات
أداة التعرف على الأرقام باستخدام لغة Python: برنامج التعرف على الأرقام باستخدام لغة Python: برنامج "رؤية الكمبيوتر" "رؤية الكمبيوتر" هو برنامج Capaz de Reconocer dentro de imágenes. Es muy útil para una computadora y permite expandir
كيفية استخدام أداة الكلام في نظام التشغيل Mac OS X 10.5 Leopard: 3 خطوات
كيفية استخدام أداة الكلام في نظام التشغيل Mac OS X 10.5 Leopard: أنا معجب كبير بهاري بوتر وأردت دائمًا أن أكون قادرًا على إلقاء التعاويذ. ألن يكون رائعًا أن تكون قادرًا على إقصاء شخص ما بقول كلمة واحدة؟ أو ماذا عن القدرة على فتح الباب بدون مفتاح؟ ثم عثرت على هذه التعليمات