Pag-convert ng pananalita sa teksto: Paano lumikha ng isang simpleng app ng pagdidikta

May -Akda: Lewis Jackson
Petsa Ng Paglikha: 13 Mayo 2021
I -Update Ang Petsa: 1 Hulyo 2024
Anonim
Криптовалюта | На чём сделают миллионы в 2022 | TON Coin
Video.: Криптовалюта | На чём сделают миллионы в 2022 | TON Coin

Nilalaman


Maraming mga app, serbisyo, at mga gadget ng sambahayan ang gumagamit ng pagkilala sa pagsasalita upang magbigay ng isang mas mahusay na karanasan ng gumagamit at mapabuti ang kakayahang mai-access. Maraming mga app ng Android na gumagamit ng pagkilala sa pagsasalita - ang pinaka-kapansin-pansin sa kung saan ay ang Google Assistant - kaya bakit hindi sumunod sa suit at idagdag ang tampok na ito sa iyong sariling mga aplikasyon sa Android?

Sa artikulong ito, magbabahagi ako ng isang mabilis at madaling paraan upang makapagsimula sa Intentong-to-Text Inten ng Android, na maaaring maging kapaki-pakinabang sa isang malawak na hanay ng mga aplikasyon. Halimbawa, maaari mong gamitin ang pagkilala sa pagsasalita upang i-automate ang nakakapagod na manu-manong pagpasok ng data, awtomatikong bubuo ng mga subtitle, o kahit na ang batayan para sa isang translation app na "nakikinig" sa pag-input ng boses, nag-convert ito sa teksto, pagkatapos ay isinalin ang teksto na ito at ipinapakita ang mga resulta sa ang gumagamit.


Anuman ang uri ng application na nilikha mo, maaaring mapabuti ang pagkilala sa pagsasalita sa pamamagitan ng pagbibigay ng mga gumagamit ng isang alternatibong paraan upang makipag-ugnay sa iyong app. Halimbawa, ang mga taong may kadaliang mapakilos, dexterity, o mga isyu sa paningin ay maaaring mas madaling mag-navigate sa mga mobile application gamit ang mga utos ng boses, sa halip na ang touchscreen o keyboard. Dagdag pa, ayon sa World Health Organization (WHO), higit sa isang bilyong tao ang may ilang anyo ng kapansanan, na katumbas ng halos 15% ng populasyon ng mundo. Ang pagdaragdag ng mga tampok ng pag-access sa iyong mga aplikasyon ay maaaring makabuluhang taasan ang iyong potensyal na madla.

Sa pagtatapos ng artikulong ito, gagawa ka ng isang simpleng application na Speech-to-Text na nagtatala ng iyong boses, i-convert ito sa teksto at pagkatapos ay ipinapakita ang teksto na nasa screen.

Ang pagbuo ng isang interface ng gumagamit ng Speech-to-Text

Upang magsimula, lumikha ng isang bagong proyekto sa Android gamit ang template na "Walang laman na Gawain".


Lumilikha kami ng isang simpleng application na binubuo ng isang pindutan na, kapag na-tap, nag-trigger ng Intent-to-Text na Inten ng Android at ipinapakita ang isang diyalogo na nagpapahiwatig na handa na ang iyong app na tanggapin ang input input. Kapag natapos na ang pagsasalita ng gumagamit, ang kanilang input ay mai-convert sa teksto, at pagkatapos ay ipapakita bilang bahagi ng isang TextView.

Magsimula tayo sa pamamagitan ng paglikha ng aming layout:

Nagbibigay ito sa amin ng sumusunod na layout:

Pagdaragdag ng pagkilala sa pagsasalita sa iyong Android app

Kinukuha namin at pinoproseso ang input ng pagsasalita sa dalawang hakbang:

1. Simulan ang Pagkilala saIntent

Ang pinakamadaling paraan upang maisagawa ang conversion ng Speech-to-Text ay ang paggamit ng RecognizerIntent.ACTION_RECOGNIZE_SPEECH. Itinulak ng Intentong ito ang gumagamit para sa pag-input ng boses sa pamamagitan ng paglulunsad ng pamilyar na kahon ng diyalogo ng mikropono ng Android.

Kapag tumigil na ang pakikipag-usap sa gumagamit, awtomatikong isasara ang diyalogo at ipapadala ng ACTION_RECOGNIZE_SPEECH ang naitala na audio sa pamamagitan ng isang pagkilala sa pagsasalita.

Sinisimulan namin ang RecognizerIntent.ACTION_RECOGNIZE_SPEECH gamit ang startActivityForResult () na may mga bundle na mga extra. Tandaan na maliban kung tinukoy sa ibang paraan, gagamitin ng nagpapakilala ang default na lokal na aparato.

pampublikong walang bisa saMag-click (Tingnan ang v) {// Trigger the RecognizerIntent intensyon // Intent intent = bagong Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); subukang {startActivityForResult (intensyon, REQUEST_CODE); } mahuli (AktibidadNotFoundException a) {}}

2. Tumatanggap ng tugon sa pagsasalita

Kapag nakumpleto ang operasyon ng pagkilala sa pagsasalita, ACTION_RECOGNIZE_SPEECH ay magpapadala ng mga resulta pabalik sa pagtawag sa Aktibidad bilang isang Array ng mga string.

Dahil na-trigger namin ang RecognizerIntent sa pamamagitan ng startActivityForResult (), hawakan namin ang data ng resulta sa pamamagitan ng overriding onActivityResult (int requestCode, int resultCode, Intent data) sa Gawain na nagsimula ng tawag sa pagkilala sa pagsasalita.

Ang mga resulta ay ibabalik sa pababang pagkakasunud-sunod ng kumpyansa ng pagkilala sa pagsasalita. Kaya, upang matiyak na ipinapakita namin ang pinaka tumpak na teksto na kailangan naming kunin ang zero na posisyon mula sa naibalik na ArrayList, pagkatapos ay ipakita ito sa aming TextView.

@Override // Tukuyin ang isang paraan ng OnActivityResult sa aming intensyong tumatawag na Aktibidad // protektado ng walang bisa saActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (kahilinganCode, resultaCode, data); lumipat (requestCode) {kaso REQUEST_CODE: {// Kung ang RESULT_OK ay ibabalik ... // kung (resultaCode == RESULT_OK && null! = data) {//... pagkatapos makuha ang ArrayList // ArrayList resulta = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); // I-update ang aming TextView // textOutput.setText (result.get (0)); } pahinga; }}}}

Tandaan na ang Speech-to-Text ay hindi nangangailangan ng isang aktibong koneksyon sa internet, kaya gagana ito nang tama kahit na ang gumagamit ay naka-offline.

Matapos makumpleto ang lahat ng mga hakbang sa itaas, ang iyong MainActivity ay dapat magmukhang ganito:

i-import ang android.content.ActivityNotFoundException; i-import ang androidx.appcompat.app.AppCompatActivity; i-import ang android.os.Bundle; mag-import ng android.content.Intent; i-import ang android.speech.RecognizerIntent; mag-import ng android.widget.TextView; i-import ang android.view.View; pag-import ng java.util.ArrayList; pampublikong klase MainActivity ay umaabot ng AppCompatActivity {pribado static panghuling int REQUEST_CODE = 100; pribadong TextView textOutput; Protektado ng @Override na walang bisa saCreate (Bundle saveInstanceState) {super.onCreate (saveInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // Ang pamamaraang ito ay tinawag gamit ang pindutan ay pinindot // pampublikong walang bisa saClick (Tingnan ang v) // Gumawa ng isang intensyong may "RecognizerIntent.ACTION_RECOGNIZE_SPEECH" aksyon // {Intent inten = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); subukang {// Simulan ang Aktibidad at hintayin ang sagot // startActivityForResult (layunin, REQUEST_CODE); } mahuli (AktibidadNotFoundException a) {}} @Override // Pangasiwaan ang mga resulta // protektado na walang bisa saActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (kahilinganCode, resultCode, data); switch (requestCode) {kaso REQUEST_CODE: {kung (resultCode == RESULT_OK && null! = data) {ArrayList resulta = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); textOutput.setText (result.get (0)); } pahinga; }}}}

Maaari mong i-download ang nakumpletong proyekto mula sa GitHub.

Pagsubok sa iyong proyekto

Upang masubukan ang iyong aplikasyon:

  • I-install ang iyong proyekto sa alinman sa isang pisikal na aparato ng Android o isang Android Virtual Device (AVD). Kung gumagamit ka ng isang AVD, ang iyong makina ng pag-unlad ay dapat magkaroon ng built-in na mikropono o maaari kang gumamit ng isang panlabas na mikropono o headset.
  • I-tap ang pindutan ng "Start Dictation" ng application.
  • Kapag lumilitaw ang kahon ng diyalogo ng mikropono, magsalita sa iyong aparato. Matapos ang ilang sandali, ang iyong mga salita ay dapat lumitaw sa screen.

Pagputol

Sa artikulong ito, nakita namin kung paano mo mabilis at madaling magdagdag ng pagkilala sa pagsasalita sa iyong mga aplikasyon sa Android, gamit ang Intentong-Speech-to-Text. Nakaranas ka ba ng anumang mga Android apps na gumagamit ng pagkilala sa pagsasalita sa nakakagulat o makabagong mga paraan?

Susunod: Bumuo ng isang pinalaki na katotohanan ng Android app sa Google ARCore

Ang ilang mga bagong pag-render ay tumaga a internet ngayon a kagandahang-loob ng maaaahang tagaunod na @OnLeak, a pamamagitan ng CahKaro. Ang mga render ay lilitaw upang ipakita ang iang aparato ng M...

Tulad ng ipinakita ng Foil Gen 5 a aming paguuri, ang 1GB ng RAM ay maaaring maging voodoo para a pinabuting pagganap a Wear O. May iang tao a Movado na kumuha ng mga tala, dahil ang bagong Connect 2....

Tiyaking Basahin