Conversia vorbirii în text: Cum să creați o aplicație simplă de dictare

Autor: Lewis Jackson
Data Creației: 13 Mai 2021
Data Actualizării: 11 Mai 2024
Anonim
Conversia vorbirii în text: Cum să creați o aplicație simplă de dictare - Aplicaţii
Conversia vorbirii în text: Cum să creați o aplicație simplă de dictare - Aplicaţii

Conţinut


Multe aplicații, servicii și gadgeturi casnice folosesc recunoașterea vorbirii pentru a oferi o experiență mai bună pentru utilizatori și pentru a îmbunătăți accesibilitatea. Există nenumărate aplicații Android care utilizează recunoașterea vorbirii - cea mai notabilă dintre ele este Google Assistant - deci de ce nu urmăriți și adăugați această caracteristică propriilor dvs. aplicații Android?

În acest articol, voi împărtăși o modalitate rapidă și simplă de a începe cu intenția de vorbire-text a Android, care poate fi utilă într-o gamă largă de aplicații. De exemplu, puteți utiliza recunoașterea vorbirii pentru a automatiza introducerea manuală a datelor obositoare, genera automat subtitrări sau chiar ca bază pentru o aplicație de traducere care „ascultă” intrarea vocală, o convertește în text, apoi traduce acest text și afișează rezultatele la utilizatorul.

Indiferent de tipul de aplicație pe care îl creați, recunoașterea vorbirii poate îmbunătăți accesibilitatea oferind utilizatorilor o modalitate alternativă de interacțiune cu aplicația dvs. De exemplu, persoanele cu probleme de mobilitate, dexteritate sau vedere pot găsi mai ușor navigarea aplicațiilor mobile folosind comenzi vocale, mai degrabă decât ecranul tactil sau tastatura. În plus, potrivit Organizației Mondiale a Sănătății (OMS), peste un miliard de oameni au o formă de dizabilitate, ceea ce echivalează cu aproximativ 15% din populația lumii. Adăugarea funcțiilor de accesibilitate la aplicațiile dvs. poate crește semnificativ audiența potențială.


Până la sfârșitul acestui articol, veți fi creat o simplă aplicație Speech-to-Text care vă înregistrează vocea, o convertiți în text și apoi afișați textul pe ecran.

Construirea unei interfețe de utilizator Speech-to-Text

Pentru a începe, creați un nou proiect Android utilizând șablonul „Activitate goală”.

Vom crea o aplicație simplă, formată dintr-un buton care, atunci când este atins, declanșează intenția de vorbire-text a Android și afișează un dialog care indică faptul că aplicația dvs. este gata să accepte introducerea de vorbire. După ce utilizatorul a terminat de vorbit, intrarea lor va fi convertită în text, apoi va fi afișată ca parte a unui TextView.

Să începem creând aspectul nostru:

Aceasta ne oferă următorul aspect:


Adăugarea recunoașterii vocale la aplicația dvs. Android

Capturam și procesăm introducerea vorbirii în doi pași:

1. Porniți recunoscătorIntent

Cea mai simplă modalitate de a efectua conversia vorbire-text este să folosești recunoscătorulIntent.ACTION_RECOGNIZE_SPEECH. Această intenție solicită utilizatorului introducerea vocală prin lansarea casetei de dialog pentru microfon familiară a Android.

Odată ce utilizatorul nu mai vorbește, dialogul se va închide automat și ACTION_RECOGNIZE_SPEECH va trimite audio înregistrat printr-un recunoscător de vorbire.

Începem RecoizerIntent.ACTION_RECOGNIZE_SPEECH folosind startActivityForResult () cu suplimente incluse. Rețineți că, dacă nu se specifică altfel, recunoscătorul va folosi setarea locală implicită a dispozitivului.

public void onClick (View v) {// Trigger the RecognitionizerIntent intent // Intent intenție = new Intent (RecoizerIntent.ACTION_RECOGNIZE_SPEECH); încercați {startActivityForResult (intenție, REQUEST_CODE); } catch (ActivityNotFoundException a) {}}

2. Primirea răspunsului la discurs

După ce operațiunea de recunoaștere a vorbirii este finalizată, ACTION_RECOGNIZE_SPEECH va trimite rezultatele înapoi la Activitatea apelantă, ca o matrice de șiruri.

De când am declanșat RecoizerIntent prin startActivityForResult (), gestionăm datele rezultatului suprasolicitând onActivityResult (int requestCode, int resultCode, Intent data) în activitatea care a inițiat apelul de recunoaștere a vorbirii.

Rezultatele sunt returnate în ordinea descrescătoare a încrederii recunoscătorului de vorbire. Deci, pentru a ne asigura că afișăm cel mai exact text, trebuie să luăm poziția zero din ArrayList returnat, apoi să îl afișăm în TextView.

@Override // Definiți o metodă OnActivityResult în apelantul nostru intenționat Activitate // protejat void onActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (requestCode, resultCode, date); switch (requestCode) {case REQUEST_CODE: {// Dacă RESULT_OK este returnat ... // dacă (resultCode == RESULT_OK && null! = data) {//... extinde regăsi ArrayList // ArrayList rezultat = data.getStringArrayListExtra (recognizerIntent.EXTRA_RESULTS); // Actualizați-ne TextView // textOutput.setText (rezultat.get (0)); } pauză; }}}}}

Rețineți că vorbirea cu textul nu necesită o conexiune la internet activă, deci va funcționa corect chiar și atunci când utilizatorul este deconectat.

După ce parcurgeți toți pașii de mai sus, Activitatea principală ar trebui să arate așa:

import android.content.ActivityNotFoundException; import androidx.appcompat.app.AppCompatActivity; import Android.os.Bundle; import android.content.Intent; import android.speech.RecognizerIntent; import Android.widget.TextView; import Android.view.View; import java.util.ArrayList; public class MainActivity extinde AppCompatActivity {private static final int REQUEST_CODE = 100; privat TextView textOutput; @Override protected void onCreate (Bundle savedInstanceState) {super.onCreate (salvatInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // Această metodă este apelată cu butonul este apăsat // public void onClick (View v) // Creați o intenție cu acțiunea „RecoizerIntent.ACTION_RECOGNIZE_SPEECH” // {Intent intent = new Intent (RecognitionizerIntent.ACTION_RECOGNIZE_SPEECH); încercați {// Începeți activitatea și așteptați răspunsul // startActivityForResult (intenție, REQUEST_CODE); } catch (ActivityNotFoundException a) {}} @Override // Manevrați rezultatele // protected void onActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {case REQUEST_CODE: {if (resultCode == RESULT_OK && null! = data) {ArrayList rezultat = data.getStringArrayListExtra (recognizerIntent.EXTRA_RESULTS); textOutput.setText (result.get (0)); } pauză; }}}}}

Puteți descărca proiectul finalizat de pe GitHub.

Testarea proiectului tău

Pentru a pune aplicația la test:

  • Instalați-vă proiectul fie pe un dispozitiv fizic Android, fie pe un dispozitiv virtual Android (AVD). Dacă utilizați un AVD, mașina dvs. de dezvoltare trebuie să aibă fie un microfon încorporat, fie puteți utiliza un microfon extern sau căști.
  • Atingeți butonul „Start Dictation” al aplicației.
  • Când apare caseta de dialog pentru microfon, vorbiți pe dispozitiv. După câteva momente, cuvintele tale ar trebui să apară pe ecran.

Înveliți

În acest articol, am văzut cum puteți adăuga rapid și cu ușurință recunoașterea vorbirii în aplicațiile dvs. Android, folosind intenția Speech-to-Text. Ați întâlnit aplicații Android care utilizează recunoașterea vorbirii în mod surprinzător sau inovator?

Următor →: Creați o aplicație Android cu realitate augmentată cu Google ARCore

În mod tradițional Honor, noul joc Honor ete o altă alegere bugetară convingătoare. Într-un fel, oferă hardware-ul de nivel principal, începând de la 19.999 de rupii (~ 285 $)....

Honor a luat ambalajele de pe martphone-ul V9 de înaltă calitate din China în februarie. Compania a dezvăluit acum că va anunța în curând V9 Play, care ete de așteptat ă fie o veri...

Popular Pe Site