Text-To-Speech
and
Speech-To-Text
חלק #1
Text-To-Speech
זוהי מחלקה המאפשרת להמיר טקסט לדיבור.
היא מספקת פעולות שונות לשלוט בדיבור,
כגון הגדרת קצב דיבור, גובה וכדומה.
Text-To-Speech
כדי להשתמש ב-TextToSpeech, צריך:
Text-To-Speech
אתחול
מספיק לאתחל את המנגנון פעם אחת,
אין צורך לאתחל כל פעם מחדש.
חשוב לזכור שאתחול לוקח זמן מסוים:
צריך לדאוג שאתחול מסתיים
לפני
שמשמיעים טקסט
Text-To-Speech
אתחול
כדאי לבצע אתחול באקטיביטי הראשונה ביותר
עד לפני שיהיה בכלל צורך להשתמש
ב-TextToSpeech
אחד מהדרכים המומלצות:
לכתוב מחלקת עזר לאתחול והשמעה
Text-To-Speech
מחלקת עזר לאתחול והשמעה
של TextToSpeech
Text-To-Speech
פעולת אתחול
פעולת השמעה
פעולת שחרור משאבים
מחלקת עזר לאתחול והשמעה
של TextToSpeech
Text-To-Speech
פעולת אתחול
Text-To-Speech
מחלקת עזר לאתחול והשמעה
של TextToSpeech
פעולת השמעה
Text-To-Speech
מחלקת עזר לאתחול והשמעה
של TextToSpeech
פעולת שחרור משאבים
מומלץ לבצע זימון לפעולה זו
באותם מקומות של אפליקציה בה מתבצעת
סגירת האפליקציה
זימון לפעולת אתחול
Text-To-Speech
Text-To-Speech
זימון לפעולת השמעה
Text-To-Speech
זימון לשחרור משאבים
שימוש ממש, אבל ממש לא מומלץ!
(למרות שעובד... לפעמים...)
Text-To-Speech
אז למה לא מומלץ!
כי בצורה זאת מנגנון Text-To-Speech
רץ בזרם הראשי של אפליקציה
והוא עלול "לעצור" ביצוע כל פעילות באפליקציה
עד שלא תסתיים השמעה של כל הטקססט.
במקרה של השמעת לימה או מספר קטן של מילים
תופעה "לעצור הכל עד שאני מדבר"
אולי לא תגרום ל-ANR... אולי...
Text-To-Speech
הכי נכון להפעיל מנגנון Text-To-Speech
דרך service ובתהליך רקע (אסינכרוני)
Text-To-Speech
מחלקה שיורשת מ-Service
Text-To-Speech
יצירת תהליך רקע
וביצוע בו השמעה
(בעזרת זימן פעולה במחלקה TextToSpeechHelper)
Text-To-Speech
יצירת תהליך רקע
וביצוע בו השמעה
(בעזרת זימן פעולה במחלקה TextToSpeechHelper)
Text-To-Speech
אין צורך לבצע אתחול כל פעם,
אבל אפשר...
אתחול במחלקת שירות
Text-To-Speech
חלק #2
Speech-To-Text
קיימת גם אפשרות
"הפוכה":
להשתמש במיקרופון כדי להקליט דיבור
ואז להפוך אותו לטקסט
Speech-To-Text
קודם כל יש הוסיף ל-AndroidManifest
אישור להקלטת אודיו
Speech-To-Text
באקטיביטי מפעילים פעולה
לבקשת אישור סופי מהמשתמש
צריך גם לדאוג להפעיל חיבור לאינטרנט,
כי מדובר בשירות של Google.
מומלץ, כמובן, להשתמש, למשל,
ב-BroadcastReceiver מתאים
כדי לבדוק תקינות החיבור.
Speech-To-Text
משתנה המרכזי הוא
משתנה מסוג SpeechRecognizer:
"מזהה דיבור"
מחלקה ב-Android SDK
המאפשרת לאפליקציות לבצע זיהוי דיבור
באמצעות שירותי זיהוי הדיבור המובנים של המכשיר. הוא מספק API להאזנה לאודיו ולהמרת הדיבור
של המשתמש לפורמט טקסט.
Speech-To-Text
מכינים תכונות להפשלת זיהוי דיבור
Speech-To-Text
בגלל שמדובר בתהליך
"צא מאפליקציה שלי,
לך תשתמש במשהו אחר,
תחזיר לי תוצאה"
מכינים ActivityResultLauncher
Speech-To-Text
המשך בשקופית הבאה
רושמים בו את הפקודות והפעולות
הדרושות לקבלת התוצאה,
הוצאת תוצאה של המרה דיבור לטקסט
ותצוגת הטקסט
Speech-To-Text
בלחיצה על הלחצן
מפעילים את השירות
Speech-To-Text
Speech-To-Text