![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](https://a.23rdpta.org/apps/converting-speech-to-text-how-to-create-a-simple-dictation-app-3.png)
Obsah
- Vytváření uživatelského rozhraní Speech-to-Text
- Přidání rozpoznávání řeči do aplikace pro Android
- 1. Spusťte aplikaci RecognizerIntent
- 2. Příjem hlasové odpovědi
- Testování vašeho projektu
- Zabalení
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 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 Dokončený projekt si můžete stáhnout z GitHubu. Postup při testování aplikace: 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 ARCoreTestování vašeho projektu
Zabalení