Μετατροπή ομιλίας σε κείμενο: Πώς να δημιουργήσετε μια απλή εφαρμογή υπαγόρευσης

Συγγραφέας: Lewis Jackson
Ημερομηνία Δημιουργίας: 13 Ενδέχεται 2021
Ημερομηνία Ενημέρωσης: 1 Ιούλιος 2024
Anonim
Μετατροπή ομιλίας σε κείμενο: Πώς να δημιουργήσετε μια απλή εφαρμογή υπαγόρευσης - Εφαρμογές
Μετατροπή ομιλίας σε κείμενο: Πώς να δημιουργήσετε μια απλή εφαρμογή υπαγόρευσης - Εφαρμογές

Περιεχόμενο


Πολλές εφαρμογές, υπηρεσίες και οικιακά gadgets χρησιμοποιούν αναγνώριση ομιλίας για να προσφέρουν καλύτερη εμπειρία χρήστη και να βελτιώσουν την προσβασιμότητα. Υπάρχουν αμέτρητες εφαρμογές Android που χρησιμοποιούν την αναγνώριση ομιλίας - το πιο αξιοσημείωτο από το οποίο είναι ο Βοηθός Google - οπότε γιατί να μην το ακολουθήσετε και να προσθέσετε αυτήν τη δυνατότητα στις δικές σας εφαρμογές Android;

Σε αυτό το άρθρο, θα μοιραστώ έναν γρήγορο και εύκολο τρόπο για να ξεκινήσετε με την πρόθεση ομιλίας σε κείμενο του Android, η οποία μπορεί να είναι χρήσιμη σε ένα ευρύ φάσμα εφαρμογών. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε την αναγνώριση ομιλίας για να αυτοματοποιήσετε την κουραστική εισαγωγή μη αυτόματων δεδομένων, να δημιουργήσετε αυτόματα υπότιτλους ή ακόμα και ως βάση για μια εφαρμογή μετάφρασης που "ακούει" την φωνητική είσοδο, την μετατρέπει σε κείμενο, μετά μεταφράζει αυτό το κείμενο και εμφανίζει τα αποτελέσματα ο χρήστης.

Ανεξάρτητα από το είδος της εφαρμογής που δημιουργείτε, η αναγνώριση ομιλίας μπορεί να βελτιώσει την προσβασιμότητα παρέχοντας στους χρήστες έναν εναλλακτικό τρόπο αλληλεπίδρασης με την εφαρμογή σας. Για παράδειγμα, τα άτομα με προβλήματα κινητικότητας, επιδεξιότητας ή οράσεως μπορεί να βρίσκουν ευκολότερη την πλοήγηση σε κινητές εφαρμογές χρησιμοποιώντας φωνητικές εντολές αντί για οθόνη αφής ή πληκτρολόγιο. Επιπλέον, σύμφωνα με τον Παγκόσμιο Οργανισμό Υγείας (ΠΟΥ), πάνω από ένα δισεκατομμύριο άνθρωποι έχουν κάποια μορφή αναπηρίας, που ισοδυναμεί με περίπου το 15% του παγκόσμιου πληθυσμού. Η προσθήκη χαρακτηριστικών προσβασιμότητας στις εφαρμογές σας μπορεί να αυξήσει σημαντικά το δυνητικό κοινό σας.


Μέχρι το τέλος αυτού του άρθρου, θα έχετε δημιουργήσει μια απλή εφαρμογή Ομιλία σε κείμενο που καταγράφει τη φωνή σας, θα την μετατρέψει σε κείμενο και στη συνέχεια θα εμφανίσει αυτό το κείμενο στην οθόνη.

Δημιουργία διεπαφής χρήστη ομιλίας σε κείμενο

Για να ξεκινήσετε, δημιουργήστε ένα νέο έργο Android χρησιμοποιώντας το πρότυπο "Empty Activity".

Θα δημιουργήσουμε μια απλή εφαρμογή που θα αποτελείται από ένα κουμπί το οποίο όταν ενεργοποιείται θα ενεργοποιεί την πρόθεση ομιλίας σε κείμενο του Android και θα εμφανίζει ένα παράθυρο διαλόγου που υποδεικνύει ότι η εφαρμογή σας είναι έτοιμη να δεχθεί την εισαγωγή ομιλίας. Μόλις τελειώσει ο χρήστης, η εισαγωγή του θα μετατραπεί σε κείμενο και, στη συνέχεια, θα εμφανιστεί ως τμήμα ενός TextView.

Ας ξεκινήσουμε δημιουργώντας τη διάταξη μας:

Αυτό μας δίνει την ακόλουθη διάταξη:


Προσθήκη αναγνώρισης ομιλίας στην εφαρμογή Android σας

Καταγράφουμε και επεξεργαζόμαστε την εισαγωγή ομιλίας σε δύο βήματα:

1. Ξεκινήστε το RecognizerIntent

Ο ευκολότερος τρόπος για να πραγματοποιήσετε μετατροπή ομιλίας σε κείμενο είναι να χρησιμοποιήσετε το RecognizerIntent.ACTION_RECOGNIZE_SPEECH. Αυτή η πρόθεση προτρέπει τον χρήστη για φωνητική εισαγωγή, ξεκινώντας το οικείο παράθυρο διαλόγου του μικροφώνου Android.

Μόλις ο χρήστης σταματήσει να μιλάει, το παράθυρο διαλόγου θα κλείσει αυτόματα και το ACTION_RECOGNIZE_SPEECH θα στείλει τον εγγεγραμμένο ήχο μέσω ενός αναγνώστη ομιλίας.

Ξεκινάμε το RecognizerIntent.ACTION_RECOGNIZE_SPEECH με τη χρήση του startActivityForResult () με πρόσθετα πακέτα. Σημειώστε ότι αν δεν ορίζεται διαφορετικά, το αναγνωριστικό θα χρησιμοποιήσει την προεπιλεγμένη τοπική ρύθμιση της συσκευής.

δημόσιο κενό onClick (Προβολή v) {// Εκκίνηση του στόχου RecognizerIntent // Πρόθεση intentent = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH). δοκιμάστε {startActivityForResult (intent, REQUEST_CODE); } αλίευση (ActivityNotFoundException α) {}}

2. Λήψη της απάντησης ομιλίας

Μόλις ολοκληρωθεί η λειτουργία αναγνώρισης ομιλίας, το ACTION_RECOGNIZE_SPEECH θα στείλει τα αποτελέσματα πίσω στην ενεργότητα κλήσης ως μια σειρά από συμβολοσειρές.

Δεδομένου ότι ενεργοποιήσαμε το RecognizerIntent μέσω startActivityForResult (), χειριζόμαστε τα δεδομένα αποτελεσμάτων με την υπέρβαση στοActivityResult (int requestCode, int resultCode, Intent data) στη Δραστηριότητα που ξεκίνησε την κλήση αναγνώρισης ομιλίας.

Τα αποτελέσματα επιστρέφονται με φθίνουσα σειρά εμπιστοσύνης του αναγνώστη ομιλίας. Επομένως, για να βεβαιωθούμε ότι εμφανίζουμε το πιο ακριβές κείμενο, πρέπει να πάρουμε τη μηδενική θέση από το επιστρεφόμενο ArrayList και, στη συνέχεια, να το εμφανίσουμε στο TextView.

@Override // Καθορίστε μια μέθοδο OnActivityResult στον ενεργό καλούντα Δραστηριότητα // προστατευμένο void onActivityResult (int requestCode, int resultCode, δεδομένα σκοπού) {super.onActivityResult (requestCode, resultCode, δεδομένα); διακόπτης (requestCode) {περίπτωση REQUEST_CODE: {// Αν RESULT_OK επιστρέφεται ... // αν (resultCode == RESULT_OK && null! = δεδομένα) {// ... τότε ανακτά το ArrayList // ArrayList αποτέλεσμα = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); // Ενημερώστε το TextView // textOutput.setText (result.get (0)); } Διακοπή; }}}}

Λάβετε υπόψη ότι η λειτουργία Ομιλία σε κείμενο δεν απαιτεί ενεργή σύνδεση στο διαδίκτυο, επομένως θα λειτουργεί σωστά ακόμα και όταν ο χρήστης είναι εκτός σύνδεσης.

Αφού ολοκληρώσετε όλα τα παραπάνω βήματα, το MainActivity σας θα πρέπει να φαίνεται ως εξής:

εισαγωγή καιroid.content.ActivityNotFoundException; εισαγωγή καιroid.appcompat.app.AppCompatActivity; εισαγωγή android.os.Bundle; εισαγωγή καιroid.content.Intent; εισαγωγή καιroid.speech.RecognizerIntent; εισαγωγή καιroid.widget.TextView; εισαγωγή android.view.View; εισαγωγή java.util.ArrayList; η δημόσια κλάση MainActivity επεκτείνει την AppCompatActivity {private static final int REQUEST_CODE = 100; ιδιωτικό TextView textOutput; @Override προστατεύεται void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // Αυτή η μέθοδος ονομάζεται με το πάτημα του κουμπιού // public void onClick (Προβολή v) // Δημιουργήστε μια πρόθεση με την ενέργεια "RecognizerIntent.ACTION_RECOGNIZE_SPEECH" // {intention intent = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); δοκιμάστε {// Ξεκινήστε τη δραστηριότητα και περιμένετε την απάντηση // startActivityForResult (intention, REQUEST_CODE). } catch (ActivityNotFoundException α) {}} @Override // Χειρισμός των αποτελεσμάτων // προστατευμένο void onActivityResult (int requestCode, int αποτέλεσμαCode, Δεδομένα σκοπιμότητας) {super.onActivityResult (requestCode, resultCode, δεδομένα); διακόπτης (requestCode) {περίπτωση REQUEST_CODE: {if (resultCode == RESULT_OK && null! = δεδομένα) {ArrayList αποτέλεσμα = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); textOutput.setText (result.get (0)), } Διακοπή; }}}}

Μπορείτε να κατεβάσετε το ολοκληρωμένο έργο από το GitHub.

Δοκιμάστε το έργο σας

Για να δοκιμάσετε την αίτησή σας:

  • Εγκαταστήστε το έργο σας είτε σε μια φυσική συσκευή Android είτε σε μια εικονική συσκευή Android (AVD). Εάν χρησιμοποιείτε ένα AVD, το αναπτυξιακό σας μηχάνημα πρέπει είτε να διαθέτει ενσωματωμένο μικρόφωνο είτε μπορείτε να χρησιμοποιήσετε εξωτερικό μικρόφωνο ή ακουστικά.
  • Πατήστε το κουμπί "Εκκίνηση υπαγόρευσης" της εφαρμογής.
  • Όταν εμφανιστεί το παράθυρο διαλόγου μικροφώνου, μιλήστε στη συσκευή σας. Μετά από λίγα λεπτά, οι λέξεις σας θα πρέπει να εμφανίζονται στην οθόνη.

Τυλίγοντας

Σε αυτό το άρθρο, είδαμε πώς μπορείτε να προσθέσετε γρήγορα και εύκολα την αναγνώριση ομιλίας στις εφαρμογές σας Android, χρησιμοποιώντας την πρόθεση ομιλίας σε κείμενο. Έχετε συναντήσει οποιεσδήποτε εφαρμογές Android που χρησιμοποιούν την αναγνώριση ομιλίας με εκπληκτικούς ή καινοτόμους τρόπους;

Επόμενο: Δημιουργήστε μια εφαρμογή Android για επαυξημένη πραγματικότητα με το Google ARCore

Είτε εργάζεστε με μια αποφραγμένη αποχέτευση, επισκευή αυτοκινήτων ή άλλο οικιακό έργο, μπορεί να είναι δύσκολο να δείτε τι συμβαίνει σε δύσκολους χώρους.Αυτή η αδιάβροχη ασύρματη ενδοσκοπική φωτογραφ...

Η Outing ανακοίνωσε ένα νέο πρόγραμμα ανίχνευσης γυμναστικής που ονομάζεται Pule HR.Το Pule HR διαθέτει έναν αισθητήρα καρδιακού ρυθμού PPG, συνδεδεμένο GP και διάρκεια ζωής μπαταρίας 20 ημερών.Είναι ...

Σας Συμβουλεύουμε Να Δείτε