מערכת טקסט לדיבור או TTS ממירה טקסט רגיל לדיבור. טכנולוגיה זו מאפשרת למערכת להשמיע את הטקסט בקול אנושי. ישנן דוגמאות רבות להמרות טקסט לדיבור כמו הודעות בתחבורה הציבורית, שיחות טיפול בלקוחות, עוזרים קוליים בסמארטפונים שלך, או תפריט הניווט של כל מכונה. אתה יכול אפילו למצוא את ה- TTS במיקרוסופט וורד שבו אתה מגדיר אותו להשמיע את הטקסט שנכתב במסמך.
היום במדריך זה, נלמד כיצד להכין ממיר טקסט לדיבור באמצעות ארדואינו. בעבר השתמשנו ב- TTS עם Raspberry pi בדיבור שעון מעורר וגם המירו דיבור לטקסט ב- piberry באמצעות מקלדת קולית של Google.
הצעד הראשון TTS הוא טרום עיבוד או נורמליזציה. שלב זה כולל המרה של הסמלים, המספרים והקיצורים למילים שניתן לקרוא על ידי המכונות כמו '?' יומר ל"סימן שאלה ".
השלב השני כולל המרה של טקסט מנורמל לפונמות או תעתיקים פונטיים. הפונמות הן החלקים הקטנים של מילים מדוברות כלומר אלה הצלילים שמשמיעים משפטים. שלב זה הוא חיוני באמת כדי שהמכונה תוכל לדבר את המלים כפי שבני האדם מדברים.
השלב האחרון הוא הסינתזה של פונמות לתוך קול מדובר. ניתן להשיג שלב זה בשיטות שונות כמו על ידי הקלטת הקול האנושי עבור מילים / ביטויים שונים או על ידי יצירת תדרים קוליים בסיסיים וערימה אותם כפונמות או על ידי העתקת מנגנון דיבור אנושי.
רכיבים נדרשים
- לוח ארדואינו
- דובר
- מעגל מגבר
- ספק כוח מוסדר
- חוטי חיבור
תרשים מעגל
כאן בממיר טקסט לדיבור זה, השתמשנו במעגל מגבר כדי להפחית את הרעש ולקבל צליל ברור. מעגל המגבר נעשה על ידי שימוש IC LM386. תרשים המעגל עבורו מוצג להלן:
סיר 100K משמש לכוונון הצליל. כוונן אותו לקבלת צליל ברור. אם יש לך בלבול בקשר למעגל זה, בדוק את מעגל מגבר האודיו LM386. אם אין לך את הערך המדויק של נגדים וקבלים, השתמש בערכים הקרובים.
חיבור רמקול לארדואינו
החיבורים קלים במיוחד ברגע שאתה מבצע את מעגל המגבר.
חבר את ספק הכוח למעגל המגבר וחבר את הפין הדיגיטלי 3 של ה Arduino שלך לנגד 10K וחבר את האדמה של Arduino לאדמת המעגל. כעת חבר את הרמקול על ידי חיבור המסוף השלילי שלו למסוף הקרקע והחיובי לקבל 220 µF וחבר את ספק הכוח.
תכנות Arduino עבור TTS (טקסט לדיבור)
התוכנית עבור TTS מבוסס ארדואינו זה גם קל מאוד מכיוון שהספרייה זמינה לכך. ספרייה זו נקראת בשם Talkie וניתן להוסיף אותה על ידי מנהל הספרייה. כדי להוסיף את הספרייה, עבור אל Sketch-> Include Library-> Mult Libraries .
כעת מנהל הספרייה יופיע על המסך שלך. בשורת החיפוש הקלד Talkie ולחץ על כפתור ההתקנה. הספרייה תותקן.
ספרייה זו שימושית מאוד ויש בה למעלה מ 1000 מילים ופקודות. יש לו כמה דוגמאות, אתה יכול לנסות את כולן אבל כאן אנו משתמשים בקוד פשוט כדי להסביר את העבודה.
אתה יכול גם לנסות פקודות אחרות הניתנות בספריה. כדי לקבל פקודות אלה, עבור אל Documents \ Arduino \ libraries \ Talkie \ src ואז פתח את קבצי הכותרת וקבל מספר פקודות שיכולות לשמש להתראות שונות. ישנן ספריות TTS רבות אחרות כמו ספריית jscrane TTS, ספריית TTS של גוגל וכו '. תוכל גם לנסות אותן.
אז בואו נתחיל בקידוד. ראשית כלול כמה קבצי כותרות. Talkie.h משמש לאתחול ספרייה זו והגדרת סיכה דיגיטלית 3 של Arduino כסיכת פלט. ה- Vocab_US_Large.h משמש לשימוש בהתראות שבהן אנו משתמשים ו- Vocab_Special.h משמש לשימוש בהפסקה בה אנו משתמשים.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "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); }
לבסוף העלה את הקוד בארדואינו וחבר אליו את ספק הכוח. ברגע שתפעיל את המעגל תתחיל לשמוע את ההתראות! אם אינך מקבל צליל ברור, נסה לכוונן את כפתור הסיר או בדוק אם הארדואינו מקבל אספקת חשמל תקינה וודא כי ה- GND של הארדואינו מחובר לאדמת המעגל.
בדוק את הקוד השלם עם סרטון הדגמה להלן.