- المكونات المطلوبة
- مخطط الرسم البياني
- توصيل مكبر الصوت بالاردوينو
- برمجة Arduino لـ TTS (تحويل النص إلى كلام)
يقوم نظام تحويل النص إلى كلام أو نظام TTS بتحويل النص العادي إلى كلام. تمكن هذه التقنية النظام من نطق النص بصوت بشري. هناك العديد من الأمثلة على تحويلات النص إلى كلام مثل الإعلانات في وسائل النقل العام أو مكالمات خدمة العملاء أو المساعدين الصوتيين في هواتفك الذكية أو قائمة التنقل في أي جهاز. يمكنك حتى العثور على TTS في Microsoft Word حيث تقوم بتعيينه للتحدث عن النص المكتوب في المستند.
اليوم في هذا البرنامج التعليمي ، سوف نتعلم كيفية تحويل النص إلى كلام باستخدام Arduino. استخدمنا سابقًا TTS مع Raspberry pi في التحدث منبه المنبه وأيضًا تحويل الكلام إلى نص في raspberry pi باستخدام لوحة مفاتيح Google الصوتية.
و الخطوة الأولى في TTS هي مرحلة ما قبل المعالجة أو التطبيع. تتضمن هذه الخطوة تحويل الرموز والأرقام والاختصارات إلى كلمات يمكن للآلات قراءتها مثل "؟" إلى "علامة استفهام".
و الخطوة الثانية ينطوي على تحويل النص إلى تطبيع الفونيمات أو النصوص الصوتية. الصوتيات هي الأجزاء الصغيرة للكلمات المنطوقة ، أي هذه هي الأصوات التي تصنع الجمل. هذه الخطوة ضرورية حقًا حتى تتمكن الآلة من نطق الكلمات كما يفعل البشر.
و الخطوة الأخيرة هي تركيب الصوتيات إلى صوت المنطوقة. يمكن تحقيق هذه الخطوة بطرق مختلفة مثل تسجيل الصوت البشري لكلمات / عبارات مختلفة أو عن طريق توليد ترددات صوتية أساسية وتجميعها على شكل صوتيات أو عن طريق نسخ آلية التحدث البشري.
المكونات المطلوبة
- لوحة اردوينو
- متحدث
- دائرة مكبر للصوت
- مصدر طاقة منظم
- توصيل الأسلاك
مخطط الرسم البياني
هنا في محول تحويل النص إلى كلام ، استخدمنا دائرة مكبر للصوت لتقليل الضوضاء والحصول على صوت واضح. و يتم إجراء دائرة مكبر للصوت باستخدام IC LM386. يظهر مخطط الدائرة لذلك أدناه:
وعاء 100K يستخدم لضبط الصوت. اضبطه للحصول على صوت واضح. إذا كان لديك أي ارتباك حول هذه الدائرة ، فراجع دائرة مكبر الصوت المستندة إلى LM386. إذا لم يكن لديك القيمة الدقيقة للمقاومات والمكثفات ، فاستخدم القيمة القريبة منها.
توصيل مكبر الصوت بالاردوينو
تكون التوصيلات سهلة للغاية بمجرد إنشاء دائرة مكبر الصوت.
قم بتوصيل مصدر الطاقة بدائرة مكبر الصوت وقم بتوصيل الدبوس الرقمي 3 من Arduino بمقاوم 10K وقم بتوصيل أرض Arduino بأرض الدائرة. قم الآن بتوصيل السماعة عن طريق توصيل الطرف السالب بالأرض والطرف الموجب بمكثف 220 درجة فهرنهايت وتوصيل مزود الطاقة.
برمجة Arduino لـ TTS (تحويل النص إلى كلام)
برنامج TTS القائم على Arduino سهل جدًا أيضًا حيث تتوفر المكتبة لهذا الغرض. تسمى هذه المكتبة باسم Talkie ويمكن إضافتها بواسطة مدير المكتبة. لإضافة المكتبة ، انتقل إلى Sketch-> Include Library-> Mange Libraries .
الآن سيكون مدير المكتبة على شاشتك. في شريط البحث ، اكتب Talkie وانقر على زر التثبيت. سيتم تثبيت المكتبة.
هذه المكتبة سهلة الاستخدام وتحتوي على أكثر من 1000 كلمة وأمر. يحتوي على العديد من الأمثلة ، يمكنك تجربتها جميعًا ولكن هنا نستخدم رمزًا بسيطًا لشرح العمل.
يمكنك أيضًا تجربة أوامر أخرى موجودة في المكتبة. للحصول على هذه الأوامر ، انتقل إلى Documents \ Arduino \ libraries \ Talkie \ src ثم افتح ملفات الرأس واحصل على العديد من الأوامر التي يمكن استخدامها لتنبيهات مختلفة. هناك العديد من مكتبات تحويل النص إلى كلام أخرى مثل مكتبة jscrane TTS ، ومكتبة google TTS وما إلى ذلك. يمكنك أيضًا تجربتها.
لنبدأ البرمجة. قم أولاً بتضمين بعض ملفات الرأس. يستخدم Talkie.h لتهيئة هذه المكتبة وتعيين Digital pin 3 من Arduino كدبوس إخراج. و Vocab_US_Large.h يستخدم لاستخدام تنبيهات ونحن نستخدم و Vocab_Special.h يستخدم لاستخدام وقفة نحن تستخدمه.
# تضمين "Talkie.h" # تضمين "Vocab_US_Large.h" # تضمين "Vocab_Special.h"
الآن حدد "قيمة" كائن لاستخدام الأوامر:
صوت تخاطب
هنا سيتم تكرار نفس الرسالة في السماعة ، لذا احتفظ بوظيفة الإعداد فارغة وضع الأوامر في وظيفة الحلقة. أول أمر voice.say (spPAUSE2) هو أن تأخذ وقفة قصيرة أثناء تكرار رسالة التنبيه. والأوامر التالية هي مجرد كلمات بسيطة تدل على ما يلي: خطر عاصفة في الشمال.
إعداد باطل () { } حلقة باطلة () { voice.say (spPAUSE2) ؛ voice.say (sp2_DANGER) ؛ voice.say (sp2_DANGER) ؛ voice.say (sp3_STORM) ؛ voice.say (sp3_IN) ؛ voice.say (sp3_THE) ؛ voice.say (sp3_NORTH) ؛ }
أخيرًا قم بتحميل الكود في Arduino وقم بتوصيل مصدر الطاقة به. بمجرد تشغيل الدائرة ، ستبدأ في سماع التنبيهات! إذا لم تحصل على صوت واضح ، فحاول ضبط مقبض الوعاء أو تحقق مما إذا كان Arduino يحصل على مصدر طاقة مناسب وتأكد من توصيل GND الخاص بـ Arduino بأرض الدائرة.
تحقق من الكود الكامل مع الفيديو التوضيحي أدناه.