![Konvertere tale til tekst: Hvordan lage en enkel diktasjonsapp - Apps Konvertere tale til tekst: Hvordan lage en enkel diktasjonsapp - Apps](https://a.23rdpta.org/apps/converting-speech-to-text-how-to-create-a-simple-dictation-app-3.png)
Innhold
- Bygge et tale-til-tekst brukergrensesnitt
- Legger til talegjenkjenning til Android-appen din
- 1. Start RecognizerIntent
- 2. Motta talesvaret
- Testing av prosjektet ditt
- Innpakking
Mange apper, tjenester og husholdningsapparater bruker talegjenkjenning for å gi en bedre brukeropplevelse og forbedre tilgjengeligheten. Det er utallige Android-apper som benytter seg av talegjenkjenning - den mest bemerkelsesverdige av dem er Google Assistant - så hvorfor ikke følge etter og legge til denne funksjonen til dine egne Android-applikasjoner?
I denne artikkelen vil jeg dele en rask og enkel måte å komme i gang med Android's Speech-to-Text Intent, som kan være nyttig i et bredt spekter av applikasjoner. For eksempel kan du bruke talegjenkjenning for å automatisere kjedelig manuell dataregistrering, automatisk generere undertekster, eller til og med som grunnlag for en oversettelsesapp som "lytter" til vokalinndata, konverterer den til tekst, deretter oversetter denne teksten og viser resultatene til brukeren.
Uansett hvilken type applikasjon du oppretter, kan talegjenkjenning forbedre tilgjengeligheten ved å gi brukerne en alternativ måte å samhandle med appen din. For eksempel kan personer med mobilitet, fingerferdighet eller synsproblemer synes det er lettere å navigere i mobile applikasjoner ved hjelp av stemmekommandoer, i stedet for berøringsskjermen eller tastaturet. I tillegg har over en milliard mennesker ifølge Verdens helseorganisasjon (WHO) en form for funksjonshemming, noe som tilsvarer rundt 15% av verdens befolkning. Å legge til tilgjengelighetsfunksjoner til applikasjonene dine kan øke potensielle målgrupper betydelig.
På slutten av denne artikkelen vil du ha laget et enkelt tale-til-tekst-program som tar opp stemmen din, konverterer den til tekst og deretter viser den teksten på skjermen.
Bygge et tale-til-tekst brukergrensesnitt
For å starte oppretter du et nytt Android-prosjekt ved å bruke malen "Tom aktivitet".
Vi oppretter en enkel applikasjon som består av en knapp som, når du trykker på den, utløser Android's Speech-to-Text Intent og viser en dialog som indikerer at appen din er klar til å godta taleinput. Når brukeren er ferdig med å snakke, vil inndataene bli konvertert til tekst og deretter vises som en del av en TextView.
La oss starte med å lage vår layout:
Dette gir oss følgende layout:
Legger til talegjenkjenning til Android-appen din
Vi fanger opp og behandler taleinnspill i to trinn:
1. Start RecognizerIntent
Den enkleste måten å utføre tale-til-tekst-konvertering er å bruke RecognizerIntent.ACTION_RECOGNIZE_SPEECH. Denne hensikten ber brukeren om vokalinndata ved å starte Androids kjente mikrofon-dialogboks.
Når brukeren slutter å snakke, lukkes dialogboksen automatisk, og ACTION_RECOGNIZE_SPEECH sender den innspilte lyden gjennom en talegjenkjenning.
Vi starter RecognizerIntent.ACTION_RECOGNIZE_SPEECH ved å bruke startActivityForResult () med medfølgende tillegg. Merk at hvis ikke annet er spesifisert, vil gjenkjenneren bruke enhetens standardområde.
public void onClick (View v) {// Utløse RecognizerIntent intention // Intent intention = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); prøv {startActivityForResult (hensikt, REQUEST_CODE); } fangst (ActivityNotFoundException a) {}}
2. Motta talesvaret
Når talegjenkjenningsoperasjonen er fullført, vil ACTION_RECOGNIZE_SPEECH sende resultatene tilbake til den anropende aktiviteten som en rekke strenger.
Siden vi utløste RecognizerIntent via startActivityForResult (), håndterer vi resultatdataene ved å overstyre onActivityResult (int requestCode, int resultCode, Intent data) i aktiviteten som satte i gang talegjenkjenningsanropet.
Resultatene blir returnert i synkende rekkefølge etter tillatelse til talegjenkjenning. Så for å sikre at vi viser den mest nøyaktige teksten vi trenger for å ta nullposisjonen fra den returnerte ArrayList, så kan du vise den i TextView.
@Override // Definer en OnActivityResult-metode i vår intensjonsanrop Aktivitet // beskyttet tomrom onActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {case REQUEST_CODE: {// Hvis RESULT_OK returneres ... // if (resultCode == RESULT_OK && null! = data) {//...hent hent ArrayList // ArrayList Vær oppmerksom på at tale-til-tekst ikke krever en aktiv internettforbindelse, så den vil fungere riktig selv når brukeren er frakoblet. Etter å ha fullført alle trinnene ovenfor, bør MainActivity se slik ut: 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; importer java.util.ArrayList; offentlig klasse MainActivity utvider AppCompatActivity {privat statisk endelig int REQUEST_CODE = 100; privat TextView text Output; @Override beskyttet tomrom onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // Denne metoden kalles med knappen blir trykket // public void onClick (View v) // Create a Intent with “RecognizerIntent.ACTION_RECOGNIZE_SPEECH” action // {Intent intention = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); prøv {// Start aktiviteten og vent på svaret // startActivityForResult (intention, REQUEST_CODE); } fangst (ActivityNotFoundException a) {}} @Override // Håndter resultatene // beskyttet tomrom onActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (requestCode, resultCode, data); bytte (requestCode) {case REQUEST_CODE: {if (resultCode == RESULT_OK && null! = data) {ArrayList Du kan laste ned det ferdige prosjektet fra GitHub. Slik setter du søknaden din på prøve: I denne artikkelen så vi hvordan du raskt og enkelt kan legge til talegjenkjenning til Android-applikasjonene dine ved å bruke tale-til-tekst-intensjonen. Har du møtt noen Android-apper som bruker talegjenkjenning på overraskende eller nyskapende måter? Neste: Bygg en augmented reality-app med Google ARCoreTesting av prosjektet ditt
Innpakking