Runas konvertēšana uz tekstu: kā izveidot vienkāršu diktēšanas lietotni

Autors: Lewis Jackson
Radīšanas Datums: 13 Maijs 2021
Atjaunināšanas Datums: 1 Jūlijs 2024
Anonim
🔉 How to Convert Audio to Text - FREE & No Time Limits
Video: 🔉 How to Convert Audio to Text - FREE & No Time Limits

Saturs


Daudzas lietotnes, pakalpojumi un sadzīves sīkrīki izmanto runas atpazīšanu, lai nodrošinātu labāku lietotāja pieredzi un uzlabotu piekļuvi. Ir neskaitāmas Android lietotnes, kas izmanto runas atpazīšanu - no kurām ievērojamākais ir Google palīgs - kāpēc gan nesekot piemēram un pievienot šo funkciju savām Android lietotnēm?

Šajā rakstā es dalīšos ar ātru un ērtu veidu, kā sākt ar Android runas-teksta nodomu, kas var būt noderīgs daudzās lietojumprogrammās. Piemēram, jūs varētu izmantot runas atpazīšanu, lai automatizētu nogurdinošu manuālu datu ievadīšanu, automātiski ģenerētu subtitrus vai pat kā pamatu tulkošanas lietotnei, kas “klausās” balss ievadi, pārveido to tekstā, pēc tam tulko šo tekstu un parāda rezultātus lietotājs.

Neatkarīgi no jūsu izveidotās lietojumprogrammas veida runas atpazīšana var uzlabot piekļuvi, nodrošinot lietotājiem alternatīvu veidu, kā mijiedarboties ar jūsu lietotni. Piemēram, cilvēkiem ar kustību, veiklību vai redzes traucējumiem var būt vieglāk pārvietoties mobilajās lietojumprogrammās, izmantojot balss komandas, nevis skārienekrānu vai tastatūru. Turklāt saskaņā ar Pasaules veselības organizācijas (PVO) datiem vairāk nekā miljardam cilvēku ir kāda veida invaliditāte, kas ir aptuveni 15% no pasaules iedzīvotājiem. Pieejamības funkciju pievienošana lietojumprogrammām var ievērojami palielināt jūsu potenciālo auditoriju.


Šī raksta beigās esat izveidojis vienkāršu runas-teksta lietojumprogrammu, kas reģistrē jūsu balsi, pārveido to tekstā un pēc tam parāda šo tekstu uz ekrāna.

Runas līdz teksta lietotāja saskarnes izveidošana

Lai sāktu, izveidojiet jaunu Android projektu, izmantojot veidni “Tukša aktivitāte”.

Mēs izveidosim vienkāršu lietojumprogrammu, kas sastāv no pogas, kas, piesitot, aktivizē Android runas-teksta nodomu un parādīs dialoglodziņu, kas norāda, ka jūsu lietotne ir gatava pieņemt runas ievadi. Kad lietotājs būs beidzis runāt, viņa ievade tiks pārveidota tekstā un pēc tam parādīta kā TextView daļa.

Sāksim ar mūsu izkārtojuma izveidi:

Tas dod mums šādu izkārtojumu:


Runas atpazīšanas pievienošana jūsu Android lietotnei

Mēs uztveram un apstrādājam runas ievadi divos posmos:

1. Sāciet programmu RecognizerIntent

Vienkāršākais veids, kā pārveidot runu-tekstu, ir izmantot programmu RecognizerIntent.ACTION_RECOGNIZE_SPEECH. Šis nodoms liek lietotājam ievadīt balsi, palaižot Android pazīstamo mikrofonu dialoglodziņu.

Tiklīdz lietotājs pārtrauks sarunu, dialoglodziņš tiks automātiski aizvērts, un ACTION_RECOGNIZE_SPEECH nosūtīs ierakstīto audio caur runas atpazītāju.

Mēs sākam RecognizerIntent.ACTION_RECOGNIZE_SPEECH, izmantojot startActivityForResult () ar komplektētām ekstrām. Ņemiet vērā: ja vien nav norādīts citādi, atpazītājs izmantos ierīces noklusējuma lokalizāciju.

public void onClick (Skatīt v) {// Aktivizēt nodomu RecognizerIntent // Intent intent = jauns nodoms (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); izmēģiniet {startActivityForResult (nodoms, REQUEST_CODE); } noķert (ActivityNotFoundException a) {}}

2. Runas atbildes saņemšana

Kad runas atpazīšanas operācija būs pabeigta, ACTION_RECOGNIZE_SPEECH nosūtīs rezultātus atpakaļ uz izsaucošo darbību kā virkņu masīvu.

Tā kā mēs aktivizējām RecognizerIntent, izmantojot startActivityForResult (), mēs apstrādājam rezultātu datus, pārspējot onActivityResult (int requestCode, int rezultātsCode, Intent data) darbībā, kas uzsāka runas atpazīšanas zvanu.

Rezultāti tiek atgriezti dilstošā secībā pēc runas uztvērēja uzticamības. Tātad, lai pārliecinātos, ka tiek parādīts visprecīzākais teksts, no atgrieztā ArrayList jāņem nulles pozīcija, pēc tam parādiet to mūsu TextView.

@Override // Definējiet OnActivityResult metodi mūsu iecerētajā zvanītāja aktivitātē // aizsargāts spēkā neesošs onActivityResult (int requestCode, int rezultātsCode, nodomu dati) {super.onActivityResult (requestCode, resultCode, data); slēdzis (requestCode) {lieta REQUEST_CODE: {// Ja tiek atgriezts RESULT_OK ... // if (resultCode == RESULT_OK && null! = dati) {//...tad izgūt ArrayList // ArrayList rezultāts = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); // Atjauniniet mūsu TextView // textOutput.setText (rezultāts.get (0)); } pārtraukums; }}}}

Ņemiet vērā, ka runai-tekstam nav nepieciešams aktīvs interneta savienojums, tāpēc tas darbosies pareizi pat tad, ja lietotājs ir bezsaistē.

Pēc visu iepriekš minēto darbību veikšanas MainActivity vajadzētu izskatīties šādi:

importa android.content.ActivityNotFoundException; importēt androidx.appcompat.app.AppCompatActivity; importa android.os.Bundle; importa android.content.Intent; importēt android.speech.RecognizerIntent; importēt android.widget.TextView; importa android.view.View; importa java.util.ArrayList; publiskās klases MainActivity paplašina AppCompatActivity {privātu statisku finālu int REQUEST_CODE = 100; privāta TextView textOutput; @Override aizsargāts tukšums onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // Šī metode tiek izsaukta ar nospiestu pogu // public void onClick (Skatīt v) // Izveidojiet nodomu ar darbību “RecognizerIntent.ACTION_RECOGNIZE_SPEECH” // {Intent intent = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); mēģiniet {// sākt darbību un gaidiet atbildi // startActivityForResult (nodoms, REQUEST_CODE); } noķeršana (ActivityNotFoundException a) {}} @Override // Rīkojieties ar rezultātiem // aizsargāts tukšums onActivityResult (int requestCode, int rezultātsCode, nodomu dati) {super.onActivityResult (requestCode, rezultātsCode, dati); slēdzis (requestCode) {lieta REQUEST_CODE: {if (resultCode == RESULT_OK && null! = dati) {ArrayList rezultāts = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); textOutput.setText (rezultāts.get (0)); } pārtraukums; }}}}

Pabeigtu projektu var lejupielādēt no GitHub.

Projekta pārbaude

Lai pārbaudītu savu pieteikumu:

  • Instalējiet savu projektu fiziskā Android ierīcē vai Android virtuālajā ierīcē (AVD). Ja izmantojat AVD, izstrādes mašīnā jābūt vai nu iebūvētam mikrofonam, vai arī varat izmantot ārēju mikrofonu vai austiņas.
  • Pieskarieties lietojumprogrammas pogai “Sākt diktēšanu”.
  • Kad parādās mikrofona dialoglodziņš, runājiet savā ierīcē. Pēc dažiem mirkļiem jūsu vārdiem vajadzētu parādīties uz ekrāna.

Iesaiņošana

Šajā rakstā mēs redzējām, kā jūs varat ātri un viegli pievienot runas atpazīšanu savām Android lietojumprogrammām, izmantojot runas-teksta nodomu. Vai esat saskāries ar Android lietotnēm, kas pārsteidzošos vai inovatīvos veidos izmanto runas atpazīšanu?

Nākamais: Izmantojot Google ARCore, izveidojiet papildinātās realitātes Android lietotni

Atjauninājum, 2019. gada 29. oktobri (plkt. 14.39 ET): Huawei noūtīja tālāk minēto paziņojumu atbildot uz FCC paziņojumu:30 biznea gadu laikā Huawei nekad nav biji nopietnu ar drošību aitītu incidentu...

Pree paākumā Ņūdeli Huawei Indijā atklāja avu jauno vidējā klae viedtālruni Huawei Y9 (2019).Huawei Y9 ir 3D loka dizain, ka paaugtina gan tālruņa etētiku, gan ergonomiku, un priekšā un aizmugurē ir d...

Populārs Portālā