Převod řeči na text: Jak vytvořit jednoduchou aplikaci diktátu

Autor: Lewis Jackson
Datum Vytvoření: 13 Smět 2021
Datum Aktualizace: 1 Červenec 2024
Anonim
Převod řeči na text: Jak vytvořit jednoduchou aplikaci diktátu - Aplikace
Převod řeči na text: Jak vytvořit jednoduchou aplikaci diktátu - Aplikace

Obsah


Mnoho aplikací, služeb a domácích gadgetů používá rozpoznávání řeči, aby zajistilo lepší uživatelský dojem a zlepšilo přístupnost. Existuje nespočet aplikací pro Android, které využívají rozpoznávání řeči - z nichž nejpozoruhodnější je Asistent Google - tak proč se takhle řídit a přidat tuto funkci do svých vlastních aplikací pro Android?

V tomto článku se podělím o rychlý a snadný způsob, jak začít s úmyslem Androidu „Převod textu na text“, který může být užitečný v celé řadě aplikací. Například můžete použít rozpoznávání řeči k automatizaci zdlouhavého ručního zadávání dat, k automatickému generování titulků nebo dokonce jako základu překladové aplikace, která „poslouchá“ hlasový vstup, převádí jej na text, poté jej překládá a zobrazuje výsledky uživatel.


Bez ohledu na druh vytvořené aplikace může rozpoznávání řeči zlepšit přístupnost tím, že uživatelům poskytne alternativní způsob interakce s vaší aplikací. Například lidem s problémy s pohyblivostí, obratností nebo zrakem může být snazší orientovat se v mobilních aplikacích pomocí hlasových příkazů než pomocí dotykové obrazovky nebo klávesnice. Navíc podle Světové zdravotnické organizace (WHO) má více než miliarda lidí nějakou formu postižení, což odpovídá přibližně 15% světové populace. Přidání funkcí usnadnění přístupu do aplikací může výrazně zvýšit vaše potenciální publikum.

Na konci tohoto článku vytvoříte jednoduchou aplikaci Speech-to-Text, která zaznamená váš hlas, převede jej na text a poté zobrazí tento text na obrazovce.


Vytváření uživatelského rozhraní Speech-to-Text

Chcete-li začít, vytvořte nový projekt Android pomocí šablony „Prázdná aktivita“.

Vytvoříme jednoduchou aplikaci, která se bude skládat z tlačítka, které po klepnutí spouští Android Speech-to-Text Intent a zobrazí dialogové okno, které ukazuje, že vaše aplikace je připravena přijmout řečový vstup. Jakmile uživatel dokončí mluvení, jeho vstup bude převeden na text a poté se zobrazí jako součást TextView.

Začněme vytvořením našeho rozvržení:

To nám dává následující rozložení:

Přidání rozpoznávání řeči do aplikace pro Android

Zachytáváme a zpracováváme řečový vstup ve dvou krocích:

1. Spusťte aplikaci RecognizerIntent

Nejjednodušší způsob, jak provést převod řeči na text, je použít RecognizerIntent.ACTION_RECOGNIZE_SPEECH. Tento záměr uživatele vyzve k hlasovému vstupu spuštěním známého mikrofonu systému Android.

Jakmile uživatel přestane mluvit, dialogové okno se automaticky uzavře a ACTION_RECOGNIZE_SPEECH odešle zaznamenaný zvuk pomocí rozpoznávače řeči.

Začínáme RecognizerIntent.ACTION_RECOGNIZE_SPEECH pomocí startActivityForResult () s přibalenými doplňky. Pokud není uvedeno jinak, rozpoznávač použije výchozí národní prostředí zařízení.

public void onClick (Zobrazit v) {// Spustit záměr RecognizerIntent // Záměr záměr = nový záměr (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); try {startActivityForResult (záměr, REQUEST_CODE); } catch (ActivityNotFoundException a) {}}

2. Příjem hlasové odpovědi

Jakmile je operace rozpoznávání řeči dokončena, ACTION_RECOGNIZE_SPEECH odešle výsledky zpět na volající aktivitu jako pole řetězců.

Protože jsme spustili RecognizerIntent prostřednictvím startActivityForResult (), zpracováváme výsledná data přepsáním onActivityResult (int requestCode, int resultCode, Intent data) v aktivitě, která zahájila hovor rozpoznávání řeči.

Výsledky jsou vráceny v sestupném pořadí důvěry rozpoznávání řeči. Abychom se ujistili, že zobrazujeme nejpřesnější text, musíme zaujmout nulovou polohu z vráceného ArrayListu a poté jej zobrazit v našem TextView.

@Override // Definujte metodu OnActivityResult v našem úmyslném volajícím Aktivita // chráněné void onActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {case REQUEST_CODE: {// Pokud je vrácena RESULT_OK ... // if (resultCode == RESULT_OK && null! = data) {//...enen načte ArrayList // ArrayList result = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); // Aktualizujte náš TextView // textOutput.setText (result.get (0)); } přestávka; }}}}

Mějte na paměti, že program Speech-to-Text nevyžaduje aktivní připojení k internetu, takže bude fungovat správně, i když je uživatel offline.

Po dokončení všech výše uvedených kroků by měla vaše MainActivity vypadat asi takto:

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 rozšiřuje AppCompatActivity {private static final int REQUEST_CODE = 100; soukromý TextView textOutput; @Override chráněné void onCreate (Bundle uloženéInstanceState) {super.onCreate (uloženéInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // Tato metoda se nazývá stiskem tlačítka // public void onClick (View v) // Create Intent with “RecognizerIntent.ACTION_RECOGNIZE_SPEECH” action // {Intent záměr = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); zkuste {// Spusťte aktivitu a počkejte na odpověď // startActivityForResult (záměr, REQUEST_CODE); } catch (ActivityNotFoundException a) {}} @Override // Zpracovává výsledky // chráněné 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)); } přestávka; }}}}

Dokončený projekt si můžete stáhnout z GitHubu.

Testování vašeho projektu

Postup při testování aplikace:

  • Nainstalujte svůj projekt na fyzické zařízení Android nebo na virtuální zařízení Android (AVD). Pokud používáte AVD, váš vývojový stroj musí mít vestavěný mikrofon nebo můžete použít externí mikrofon nebo sluchátka.
  • Klepněte na tlačítko „Spustit diktování“ aplikace.
  • Jakmile se zobrazí dialogové okno mikrofonu, promluvte do zařízení. Po několika okamžicích by se vaše slova měla objevit na obrazovce.

Zabalení

V tomto článku jsme viděli, jak můžete rychle a snadno přidat rozpoznávání řeči do svých aplikací pro Android pomocí záměru Převod textu na text. Už jste narazili na nějaké aplikace pro Android, které používají rozpoznávání řeči překvapivým nebo inovativním způsobem?

Další: Vytvořte rozšířenou Android aplikaci pro Android s Google ARCore

Pokud jte e dne ráno probudili a pomyleli jte i: „Hele, je to minuta od chvíle, kdy jem e napoledy dozvěděl o bezpečnotních problémech Facebooku, které trašidelně ovlivňuj...

Aktualizace, 22. února 2019 (11:10 dop. ET): Krátce poté, co publikoval původní článek níže, Facebook odtranil iO verzi aplikace Facebook Reearch App, která ama o ob...

Zajímavý