Претварање говора у текст: Како направити једноставну апликацију за диктирање

Аутор: Lewis Jackson
Датум Стварања: 13 Може 2021
Ажурирати Датум: 1 Јули 2024
Anonim
Unos teksta glasom
Видео: Unos teksta glasom

Садржај


Многе апликације, услуге и кућни уређаји користе препознавање говора како би пружили боље корисничко искуство и побољшали приступачност. Постоји безброј Андроид апликација које користе препознавање говора - од којих је најистакнутији Гоогле Ассистант - па зашто не бисте следили моделу и додали ову функцију у своје Андроид апликације?

У овом чланку ћу делити брз и једноставан начин за почетак рада са Андроидовим намером говора у текст, који може бити користан у широком спектру апликација. На примјер, можете користити препознавање говора за аутоматизацију досадног ручног уноса података, аутоматско генерисање титлова или чак као основу за преводилачку апликацију која „слуша“ вокални унос, претвара га у текст, а затим преводи овај текст и приказује резултате у корисник.

Без обзира на врсту апликације коју креирате, препознавање говора може побољшати приступачност пружајући корисницима алтернативни начин за интеракцију са вашом апликацијом. На пример, особама са проблемима мобилности, спретности или вида лакше ће се кретати мобилним апликацијама помоћу гласовних команди, а не преко екрана осетљивог на додир или тастатуре. Поред тога, према подацима Светске здравствене организације (СЗО), преко милијарду људи има неки облик инвалидитета, што износи око 15% светске популације. Додавање функција приступачности вашим апликацијама може значајно повећати вашу потенцијалну публику.


На крају овог чланка направићете једноставну апликацију Говор-Текст која снима ваш глас, претвара га у текст и затим приказује тај текст на екрану.

Изградња корисничког интерфејса од говора до текста

За почетак направите нови Андроид пројекат користећи предложак „Празно активност“.

Направит ћемо једноставну апликацију која се састоји од дугмета које, када се додирне, покреће Андроид-ову намјеру говора и текста и приказује дијалог који показује да је ваша апликација спремна да прихвати говор. Једном када корисник заврши са говором, њихов унос ће се претворити у текст и приказати као део ТектВиев-а.

Започнимо креирањем нашег изгледа:

То нам даје следећи изглед:


Додавање препознавања говора у апликацију за Андроид

Унос говора и обраду обрађујемо у два корака:

1. Покрените РецогнизерИнтент

Најлакши начин за конверзију говора у текст је употреба РецогнизерИнтент.АЦТИОН_РЕЦОГНИЗЕ_СПЕЕЦХ. Овај намера тражи од корисника да унесе глас, покретањем познатог Андроид дијалошког оквира за микрофон.

Једном када корисник престане да говори, дијалог ће се аутоматски затворити и АЦТИОН_РЕЦОГНИЗЕ_СПЕЕЦХ ће послати снимљени звук преко препознавача говора.

Покрећемо РецогнизерИнтент.АЦТИОН_РЕЦОГНИЗЕ_СПЕЕЦХ користећи стартАцтивитиФорРесулт () са додатним додацима. Имајте на уму да уколико није другачије одређено, препознавач ће користити подразумевани језик уређаја.

јавна воид онЦлицк (Виев в) {// Покретање намере РецогнизерИнтент // Намера намере = нова намера (РецогнизерИнтент.АЦТИОН_РЕЦОГНИЗЕ_СПЕЕЦХ); покушајте {стартАцтивитиФорРесулт (намјера, РЕКУЕСТ_ЦОДЕ); } хватање (АцтивитиНотФоундЕкцептион а) {}}

2. Примање говорног одговора

Једном када је операција препознавања говора довршена, АЦТИОН_РЕЦОГНИЗЕ_СПЕЕЦХ ће послати резултате натраг у активност која се позива као низ низова.

Пошто смо покренули РецогнизерИнтент преко стартАцтивитиФорРесулт (), податке о резултатима обрађујемо надјачавањем онАцтивитиРесулт (инт рекуестЦоде, инт ресултЦоде, Интент дата) у активности која је покренула позив за препознавање говора.

Резултати се враћају према опадајућем редоследу препознавања говора. Дакле, да бисмо били сигурни да приказујемо најтачнији текст који нам треба заузети нулту позицију из враћеног АрраиЛиста, а затим га приказати у нашем ТектВиеву.

@Оверриде // Дефинишите методу ОнАцтивитиРесулт у активностима нашег позиватеља о намјери // заштићени воид онАцтивитиРесулт (инт рекуестЦоде, инт ресултЦоде, подаци о намјерама) {супер.онАцтивитиРесулт (рекуестЦоде, ресултЦоде, подаци); свитцх (рекуестЦоде) {цасе РЕКУЕСТ_ЦОДЕ: {// Ако се РЕСУЛТ_ОК врати ... // иф (резултатЦоде == РЕСУЛТ_ОК && нулл! = подаци) {//...додајте АрраиЛист // АрраиЛист ресулт = дата.гетСтрингАрраиЛистЕктра (РецогнизерИнтент.ЕКСТРА_РЕСУЛТС); // Ажурирајте наш ТектВиев // тектОутпут.сетТект (ресулт.гет (0)); } пауза; }}}}

Имајте на уму да говору у текст не захтева активну интернетску везу, тако да ће исправно радити чак и када је корисник ван мреже.

Након довршетка свих горе наведених корака, ваша МаинАцтивити треба изгледати овако:

импорт андроид.цонтент.АцтивитиНотФоундЕкцептион; импорт андроидк.аппцомпат.апп.АппЦомпатАцтивити; импорт андроид.ос.Бундле; импорт андроид.цонтент.Интент; импорт андроид.спеецх.РецогнизерИнтент; импорт андроид.видгет.ТектВиев; импорт андроид.виев.Виев; импорт јава.утил.АрраиЛист; јавна класа МаинАцтивити проширује АппЦомпатАцтивити {приватни статички коначни инт РЕКУЕСТ_ЦОДЕ = 100; приватни ТектВиев тектОутпут; @Оверриде заштићен воид онЦреате (Бундле савеИнстанцеСтате) {супер.онЦреате (савеИнстанцеСтате); сетЦонтентВиев (Р.лаиоут.ацтивити_маин); тектОутпут = (ТектВиев) финдВиевБиИд (Р.ид.тектОутпут); } // Ова метода се позива притиском на тастер // јавна воид онЦлицк (Виев в) // Стварање намере радњом „РецогнизерИнтент.АЦТИОН_РЕЦОГНИЗЕ_СПЕЕЦХ“ // {Интент интеннт = нев Интент (РецогнизерИнтент.АЦТИОН_РЕЦОГНИЗЕ_СПЕЕЦХ); покушајте {// Покрените активност и причекајте одговор // стартАцтивитиФорРесулт (намјера, РЕКУЕСТ_ЦОДЕ); } хватање (АцтивитиНотФоундЕкцептион а) {}} @Оверриде // Руковање резултатима // заштићена воид онАцтивитиРесулт (инт захтјевЦоде, инт ресултЦоде, подаци о намјерама) {супер.онАцтивитиРесулт (рекуестЦоде, резултатЦоде, подаци); Свитцх (рекуестЦоде) {цасе РЕКУЕСТ_ЦОДЕ: {иф (ресултЦоде == РЕСУЛТ_ОК && нулл! = дата) {АрраиЛист ресулт = дата.гетСтрингАрраиЛистЕктра (РецогнизерИнтент.ЕКСТРА_РЕСУЛТС); тектОутпут.сетТект (ресулт.гет (0)); } пауза; }}}}

Готов пројекат можете преузети са ГитХуб-а.

Тестирање вашег пројекта

Да бисте тестирали апликацију:

  • Инсталирајте свој пројекат на физички Андроид уређај или на Андроид виртуелни уређај (АВД). Ако користите АВД, ваша развојна машина мора имати уграђени микрофон или можете користити спољни микрофон или слушалице.
  • Додирните дугме „Старт диктација“ апликације.
  • Када се појави дијалошки оквир за микрофон, разговарајте са својим уређајем. Након неколико тренутака, ваше би се речи требале појавити на екрану.

Окончање

У овом чланку смо видели како можете брзо и лако додати препознавање говора својим Андроид апликацијама, користећи Намера говора у текст. Да ли сте наишли на било које Андроид апликације које користе препознавање говора на изненађујуће или иновативне начине?

Следећи: Изградите Андроид апликацију проширене стварности са Гоогле АРЦоре

СКЛ је програмски језик који се користи у свему веб девелопмент до дизајн дизајна и Маркетинг. Користе га многа врхунска имена која требају да обраде велике податке, као што су Фацебоок, Твиттер, Вики...

Било да се ради о хобију или заради, можете научити како да изградите савршено респонзивна и корисничка веб локација. Сва обука о дизајнирању веб страница потребна је на мрежи, доступна је 24 сата дне...

Популаран