Konverzia reči na text: Ako vytvoriť jednoduchú aplikáciu diktátu

Autor: Lewis Jackson
Dátum Stvorenia: 13 Smieť 2021
Dátum Aktualizácie: 1 V Júli 2024
Anonim
Konverzia reči na text: Ako vytvoriť jednoduchú aplikáciu diktátu - Aplikácie
Konverzia reči na text: Ako vytvoriť jednoduchú aplikáciu diktátu - Aplikácie

Obsah


Mnoho aplikácií, služieb a domácich gadgetov používa rozpoznávanie reči na zabezpečenie lepšej používateľskej skúsenosti a zlepšenie dostupnosti. Existuje nespočet aplikácií pre Android, ktoré využívajú rozpoznávanie reči - z ktorých najpozoruhodnejším je pomocník Google - tak prečo by ste ich nemali nasledovať a pridať túto funkciu do svojich vlastných aplikácií pre Android?

V tomto článku sa podelím o rýchly a ľahký spôsob, ako začať s úmyslom Androidu pre prevod textu na text, ktorý môže byť užitočný v širokej škále aplikácií. Rozpoznávanie reči môžete napríklad použiť na automatizáciu zdĺhavého manuálneho zadávania údajov, automatické generovanie titulkov alebo dokonca ako základ pre prekladovú aplikáciu, ktorá „počúva“ vokálny vstup, prevádza ho na text, potom ho preloží a zobrazí výsledky používateľ.


Bez ohľadu na druh aplikácie, ktorú vytvoríte, rozpoznávanie reči môže zlepšiť prístupnosť tým, že používateľom poskytne alternatívny spôsob interakcie s vašou aplikáciou. Napríklad pre ľudí s problémami s pohyblivosťou, obratnosťou alebo zrakom môže byť ľahšie orientovať sa v mobilných aplikáciách pomocou hlasových príkazov než pomocou dotykovej obrazovky alebo klávesnice. Podľa Svetovej zdravotníckej organizácie (WHO) má navyše viac ako miliarda ľudí nejakú formu zdravotného postihnutia, čo predstavuje približne 15% svetovej populácie. Pridanie funkcií prístupu do aplikácií môže výrazne zvýšiť vaše potenciálne publikum.

Na konci tohto článku budete mať vytvorenú jednoduchú aplikáciu Speech-to-Text, ktorá zaznamená váš hlas, prevedie ho na text a potom zobrazí tento text na obrazovke.


Vytváranie používateľského rozhrania Speech-to-Text

Ak chcete začať, vytvorte nový projekt Android pomocou šablóny „Empty Activity“.

Vytvoríme jednoduchú aplikáciu pozostávajúcu z tlačidla, ktoré po klepnutí spustí Android Android Speech-to-Text Intent a zobrazí dialógové okno, ktoré naznačuje, že vaša aplikácia je pripravená akceptovať hlasový vstup. Keď používateľ skončí hovor, jeho vstup sa skonvertuje na text a potom sa zobrazí ako súčasť TextView.

Začnime vytvorením nášho rozloženia:

Takto získame nasledujúce rozloženie:

Pridanie rozpoznávania reči do vašej aplikácie pre Android

Zachytávame a spracúvame reč v dvoch krokoch:

1. Spustite program RecognizerIntent

Najjednoduchší spôsob, ako vykonať konverziu z textu na text, je použiť program RecognizerIntent.ACTION_RECOGNIZE_SPEECH. Tento zámer vyzve používateľa na hlasový vstup spustením známeho mikrofónu s Androidom.

Keď používateľ prestane hovoriť, dialógové okno sa automaticky uzavrie a ACTION_RECOGNIZE_SPEECH odošle zaznamenaný zvuk prostredníctvom rozpoznávača reči.

Začíname RecognizerIntent.ACTION_RECOGNIZE_SPEECH pomocou startActivityForResult () so zviazanými doplnkami. Upozorňujeme, že ak nie je uvedené inak, rozpoznávač použije predvolené miestne nastavenie zariadenia.

public void onClick (View v) {// Spustenie zámeru RecognizerIntent // Zámer zámer = nový zámer (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); skúste {startActivityForResult (úmysel, REQUEST_CODE); } catch (ActivityNotFoundException a) {}}

2. Prijatie hlasovej odpovede

Po dokončení operácie rozpoznávania reči ACTION_RECOGNIZE_SPEECH odošle výsledky späť volajúcej aktivite ako pole reťazcov.

Pretože sme spustili RecognizerIntent cez startActivityForResult (), spracovávame výsledné údaje prepísaním onActivityResult (int requestCode, int resultCode, Intent data) v aktivite, ktorá iniciovala hovor rozpoznávania reči.

Výsledky sa vracajú v zostupnom poradí podľa dôvery rozpoznávania reči. Aby sme sa uistili, že zobrazujeme najpresnejší text, musíme zaujať nulovú polohu z vráteného poľa ArrayList a potom ho zobraziť v našom TextView.

@Override // Definujte metódu OnActivityResult v našom volajúcom aktivite // // void onActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {case REQUEST_CODE: {// Ak sa vráti RESULT_OK ... // if (resultCode == RESULT_OK && null! = data) {//... potom načíta ArrayList // ArrayList result = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); // Aktualizujte náš TextView // textOutput.setText (result.get (0)); } prestávka; }}}}

Upozorňujeme, že program Speech-to-Text nevyžaduje aktívne pripojenie k internetu, takže bude fungovať správne, aj keď je používateľ offline.

Po dokončení všetkých vyššie uvedených krokov by mala vaša MainActivity vyzerať asi takto:

import android.content.ActivityNotFoundException; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.content.Intent; importovať android.speech.RecognizerIntent; importovať android.widget.TextView; import android.view.View; importovať java.util.ArrayList; public class MainActivity rozširuje AppCompatActivity {private static final int REQUEST_CODE = 100; súkromný TextView textOutput; @Override chránené void onCreate (Bundle uloženéInstanceState) {super.onCreate (uloženéInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // Táto metóda sa volá po stlačení tlačidla // public void onClick (View v) // Create Intent with “RecognizerIntent.ACTION_RECOGNIZE_SPEECH” action // {Intent záměr = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); skúste {// Spustiť aktivitu a počkajte na odpoveď // startActivityForResult (úmysel, REQUEST_CODE); } catch (ActivityNotFoundException a) {}} @Override // Spracováva výsledky // chránené 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 result = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); textOutput.setText (result.get (0)); } prestávka; }}}}

Dokončený projekt si môžete stiahnuť z GitHubu.

Testovanie vášho projektu

Testovanie žiadosti:

  • Nainštalujte svoj projekt na fyzické zariadenie Android alebo na virtuálne zariadenie Android (AVD). Ak používate AVD, vývojové zariadenie musí mať vstavaný mikrofón alebo môžete použiť externý mikrofón alebo headset.
  • Klepnite na tlačidlo „Spustiť diktát“ v aplikácii.
  • Keď sa zobrazí dialógové okno mikrofónu, hovorte do svojho zariadenia. Po niekoľkých minútach by sa vaše slová mali objaviť na obrazovke.

Zabalenie

V tomto článku sme videli, ako môžete rýchlo a ľahko pridať rozpoznávanie reči do svojich aplikácií pre Android pomocou zámeru Speech-to-Text Intent. Stretli ste sa s niektorými aplikáciami pre Android, ktoré používajú rozpoznávanie reči prekvapujúcimi alebo inovatívnymi spôsobmi?

Ďalšie: Zostavte rozšírenú realitu aplikácie pre Android pomocou Google ARCore

Xiaomi Riaditeľ pre produktový manažment Donovan ung predtavil prototyp Xiaomi Mi 9, ktorý obahuje elfie fotoaparát pod diplejom. Prototyp a objavil vo videu uverejnenom na Twitteri dne...

Pamätáte i, keď OnePlu ponúkol špičkové špecifikácie za miešne nízke ceny? Xiaomi práve rozbíja poločnoť BBK v tomto oddelení. Nie, že by te to vedeli, pre...

Najnovšie Príspevky