המרת דיבור לטקסט: כיצד ליצור אפליקציית תכתיב פשוטה

מְחַבֵּר: Lewis Jackson
תאריך הבריאה: 13 מאי 2021
תאריך עדכון: 1 יולי 2024
Anonim
🔉 How to Convert Audio to Text - FREE & No Time Limits
וִידֵאוֹ: 🔉 How to Convert Audio to Text - FREE & No Time Limits

תוֹכֶן


אפליקציות, שירותים וגאדג'טים ביתיים רבים משתמשים בזיהוי דיבור כדי לספק חווית משתמש טובה יותר ולשפר את הנגישות. יש אינספור אפליקציות אנדרואיד שעושות שימוש בזיהוי דיבור - שהבולט בהן הוא Google Assistant - אז מדוע לא ללכת בעקבותיה ולהוסיף תכונה זו ליישומי אנדרואיד משלך?

במאמר זה, אשתף בדרך מהירה וקלה להתחיל עם כוונת הדיבור לטקסט של אנדרואיד, שיכולה להועיל במגוון רחב של יישומים. לדוגמה, תוכל להשתמש בזיהוי דיבור לאוטומציה של הזנת נתונים ידנית מייגעת, ליצור אוטומטית כתוביות, או אפילו כבסיס ליישום תרגום ש"אזין "לקלט קולי, ממיר אותו לטקסט, ואז מתרגם טקסט זה ומציג את התוצאות ל המשתמש.

ללא קשר לסוג היישום שאתה יוצר, זיהוי דיבור יכול לשפר את הנגישות על ידי לספק למשתמשים דרך חלופית לקיים אינטראקציה עם האפליקציה שלך. לדוגמה, אנשים עם בעיות ניידות, מיומנות או בעיות ראייה עשויים להקל על הניווט ביישומים ניידים באמצעות פקודות קוליות, ולא במסך המגע או במקלדת. בנוסף, על פי ארגון הבריאות העולמי (WHO), יותר ממיליארד אנשים סובלים ממוגבלות כלשהי, שמשווה לכ- 15% מאוכלוסיית העולם. הוספת תכונות נגישות ליישומים שלך יכולה להגדיל משמעותית את הקהל הפוטנציאלי שלך.


בסוף מאמר זה, תיצור יישום פשוט לדיבור לטקסט שמתעד את הקול שלך, ממיר אותו לטקסט ואז מציג טקסט זה על המסך.

בניית ממשק משתמש לדיבור לטקסט

כדי להתחיל, צור פרויקט Android חדש באמצעות התבנית "פעילות ריקה".

אנו ניצור אפליקציה פשוטה המורכבת מכפתור אשר כאשר מקישים עליו, מפעיל את כוונת הדיבור לטקסט של אנדרואיד ומציג שיח שמצביע על כך שהאפליקציה שלך מוכנה לקבל קלט דיבור. לאחר שהמשתמש סיים לדבר, הקלט שלו יומר לטקסט ואז יופיע כחלק מ- TextView.

נתחיל ביצירת הפריסה שלנו:

זה נותן לנו את הפריסה הבאה:


הוספת זיהוי דיבור לאפליקציית Android שלך

אנו לוכדים ומעבדים קלט דיבור בשני שלבים:

1. התחל את RecognizerIntent

הדרך הקלה ביותר לבצע המרת דיבור לטקסט היא להשתמש ב- RecognizerIntent.ACTION_RECOGNIZE_SPEECH. כוונה זו מבקשת מהמשתמש קלט קולי על ידי השקת תיבת הדו-שיח המיקרופון המוכר של אנדרואיד.

ברגע שהמשתמש מפסיק לדבר, הדיאלוג ייסגר אוטומטית ו- ACTION_RECOGNIZE_SPEECH ישלח את האודיו המוקלט דרך זיהוי דיבור.

אנו מתחילים את RecognizerIntent.ACTION_RECOGNIZE_SPEECH באמצעות startActivityForResult () עם תוספות ארוכות. שים לב כי אלא אם צוין אחרת, המזהה ישתמש באזור ברירת המחדל של המכשיר.

חלל ציבורי onClick (הצג v) {// הפעל את הכוונה RecognizerIntent // Intent intention = כוונה חדשה (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); נסה {startActivityForResult (כוונה, REQUEST_CODE); } לתפוס (ActivityNotFoundException א) {}}

2. קבלת תגובת הדיבור

לאחר סיום פעולת זיהוי הדיבור, ACTION_RECOGNIZE_SPEECH ישלח את התוצאות חזרה לפעילות הקוראת כמערך מחרוזות.

מכיוון שהפעלנו את ה- RecognizerIntent דרך startActivityForResult (), אנו מטפלים בנתוני התוצאה על ידי עקיפה של onActivityResult (int requestCode, int resultCode, IntentCode) בפעילות שיזמה את שיחת זיהוי הדיבור.

התוצאות מוחזרות בסדר יורד של אמון זיהוי הדיבור. לכן, כדי לוודא שאנו מציגים את הטקסט המדויק ביותר אנו זקוקים למצב של אפס מתוך ArrayList שהוחזר, ואז להציג אותו ב- TextView שלנו.

@Override // הגדר שיטת OnActivityResult בפעילות המתקשר שלנו בכוונה // חלל מוגן onActivityResult (int requestCode, int resultCode, data intent) {super.onActivityResult (requestCode, resultCode, data); לעבור (קוד בקשה) {מקרה REQUEST_CODE: {// אם RESULT_OK מוחזר ... // if (resultCode == RESULT_OK && null! = נתונים) {//... ואז לאחזר את ArrayList // ArrayList result = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); // עדכן את TextView שלנו // textOutput.setText (result.get (0)); } לשבור; }}}}

שים לב כי דיבור לטקסט אינו דורש חיבור אינטרנט פעיל, כך שהוא יפעל נכון גם כאשר המשתמש אינו מקוון.

לאחר השלמת כל השלבים לעיל, MainActivity שלך אמור להיראות כך:

יבוא android.content.ActivityNotFoundException; יבוא androidx.appcompat.app.AppCompatActivity; יבוא android.os.Bundle; יבוא android.content.Intent; יבוא android.speech.RecognizerIntent; יבוא android.widget.TextView; יבוא android.view.View; ייבא java.util.ArrayList; MainActivity בכיתה ציבורית מרחיב את AppCompatActivity {סופי סטטי פרטי int REQUEST_CODE = 100; טקסט תפוקת טקסט פרטית. @Orride חלל מוגן onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // שיטה זו נקראת בלחיצה על הכפתור // פעולת חלל ציבורי onClick (הצג v) // צור כוונה עם "RecognizerIntent.ACTION_RECOGNIZE_SPEECH" פעולה // {Intent intention = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); נסה {// התחל את הפעילות והמתן לתגובה // startActivityForResult (כוונה, REQUEST_CODE); } catch (ActivityNotFoundException א) {}} @Override // טפל בתוצאות // void מוגן onActivityResult (int requestCode, int resultCode, data intent) {super.onActivityResult (requestCode, resultCode, data); לעבור (קוד בקשה) {מקרה REQUEST_CODE: {if (resultCode == RESULT_OK && null! = נתונים) {ArrayList result = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); textOutput.setText (result.get (0)); } לשבור; }}}}

אתה יכול להוריד את הפרויקט שהושלם מ- GitHub.

בחינת הפרויקט שלך

כדי להעמיד את בקשתך למבחן:

  • התקן את הפרויקט שלך על מכשיר אנדרואיד פיזי או על מכשיר אנדרואיד אנדרואיד (AVD). אם אתה משתמש ב- AVD, על מכשיר הפיתוח שלך להיות בעל מיקרופון מובנה או שתוכל להשתמש במיקרופון או אוזניות חיצוניים.
  • הקש על כפתור "התחל הכתיבה" של היישום.
  • כאשר תיבת הדו-שיח של המיקרופון מופיעה, דבר אל המכשיר שלך. לאחר מספר רגעים, המילים שלך צריכות להופיע על המסך.

מסיימים

במאמר זה ראינו כיצד תוכלו להוסיף במהירות ובקלות זיהוי דיבור ליישומי אנדרואיד שלכם, באמצעות כוונת הדיבור לטקסט. האם נתקלת באפליקציות אנדרואיד המשתמשות בזיהוי דיבור בדרכים מפתיעות או חדשניות?

הבא: בנה אפליקציית אנדרואיד מוגברת עם אנדרואיד באמצעות Google ARCore

אולי לא הצבת או פגמת את מטען ה- UB שהגיע למכשיר שלך. אולי אתה פשוט רוצה מטען UB אחר כי יש לך כמה מכשירים ואתה רוצה לטעון אותם בו זמנית על מטען אחד. לא משנה מה הסיבה, הקלו על עצמכם ובדקו את רשימת מטעני...

עם הרוב המכריע של מכשירי אנדרואיד חדשים התומכים בטכנולוגיית UB Type-C ויציאות UB Type-C המופיעים על המון מכשירים חדשים אחרים, יש סיכוי טוב שיש לך כבר יותר מכמה חתיכות טכנולוגיות עם יציאות Type-C....

מוּמלָץ