Projeto Assistente: Aula 03 - Speech Recognition e Text To Speech

3.36k views10366 WordsCopy TextShare
Programação Web
Nessa terceira aula do nosso projeto de Assistente Android vamos fazer nossa assistente reconhecer a...
Video Transcript:
é muito bem pessoal Chegamos na nossa terceira aula aqui do projeto da assistente tá ficando muito legal aberto assistente já fizemos aí a parte de front-end das Telas a construção aí de todas as nossas rotas né e agora nessa aula nós vamos começar efetivamente a usar os recursos do aparelho para Que ela possa entender o que a gente fala e também ela falar né então a gente vai usar os recursos do plug-in do Speech recognition e do text-to-speech Speech recognition quer dizer reconhecimento de fala então vai ser a gente clicar no botão falar que tem
ali e ela entender o que a gente tá falando já o text-to-speech é o contrário disso a gente vai passar um texto e ela vai falar esse texto para nós a gente vai ver o funcionamento disso nessa aula para que funcione esses recursos the Speech recognition e text-to-speech a gente vai precisar começar a fazer os testes diretamente no e no nosso aparelho no Android a gente vai usar agora os recursos do próprio Android Então a gente vai precisar gerar o apk para ele sem instalado no nosso celular e a gente poder fazer todos os testes
lá no celular mesmo né Essa parte que a gente usou aqui do live-server a gente não vai usar tanto nessa aula agora mas daqui para frente porque todos esses são recursos do Cola e precisa já ter sido compilado gerado aplicativo para poder usar esses recursos de fala e também de text-to-speech na reconhecimento de fala text-to-speech ok então vamos fazer isso nessa aula vai ser super legal a gente entender como tudo isso funciona é uma coisa que a gente vai ter que fazer aqui pessoal que na outra aula a gente teve um probleminha que não funcionou
e depois eu acabei vendo como que a gente faz para resolver é que essa nossa primeira é a tela que inicial a nossa index a nossa rota index ela não tá sendo acionada o disparando evento de inicialização da até lá eu abri o nosso aplicativo né eu fui dar uma olhadinha na documentação lá do Primor que serve e para que ela seja reconhecida como a nossa tela inicial a gente pode passar um parâmetro aqui no meio viu aqui embaixo logo após aqui Dove Women você coloca uma vírgula abre um objeto e aqui você passa Qual
é o r l Inicial então eu posso apontar que a URL inicial vai ser a minha index eu coloco assim com as Duas Barras dessa forma aqui certo então abrir aqui um objeto para se o parâmetro URL disse que vai ser a minha inicial a nossa index que tem aqui ó nossa rota index então eu passei de qualquer um pet e assim eu falo para o menor que servem né que essa página vai ser a nossa Inicial porque daí ele reconhece por exemplo se eu colocar aqui ó um ap ponto daí aula de ponto Alert
vou pedir para ele mostrar alguma coisa assim que a nossa página porém realizada teste por exemplo eu clicar agora em salvar olá ele já deu aqui na janelinha teste então ele reconheceu essa essa nossa tela assim um certo Tom comportando passar esse parâmetro Zinho aqui coloca no teu também não viu mãe aqui embaixo que a URL Inicial é essa nossa rota index certinha uma vez feito isso então só tirar esse ideia logo aqui só de fecho uma vez feito isso o que a gente vai fazer nós vamos instalar que os pudins de reconhecimento de fala
e de texto para fala né então a gente vai copiar aqui a instalação esse comandinho que é o córdova plugin add que é um padrão do Córdoba quando você quer instalar um plugin córdova plugin add E aí o nome do Punho ou copiar isso aqui para evitar a fadiga né outra você entra no teu veste code Você pode abrir aqui em ver terminal ou contro "simples abre o terminal aqui integrado você também poderia fazer isso usando esse prompt de comando pretinho eu teria que entrar na Costa do projeto e tal mas é mais prático você
fazer direto pelo terminal que já tá integrado aqui no teu veste e eu conto assim vou colar aquele código de instalação do Plugin então corda papulinha de D e E o nome do pudim de um enter ele vai fazer a instalação para nós é só aguardar ele instala beleza Já foi instalado agora vamos instalar aqui o text-to-speech né esses links vão estar na descrição aí para você pegar tá pessoal só colar aqui adicionar o text-to-speech no nosso projeto ok foi adicionado já então os dois plugins que a gente vai precisar do nosso projeto posso dar
um Celeste para limpar para que esses plugins sejam reconhecidos no nosso projeto usando o Córdoba a gente vai precisar na nossa index.hr ml aqui onde a gente tem as referências do nosso Java scrip criar aqui uma nova referência para o córdova então vou fazer aqui córdula e aqui eu posso fazer assim ó escrito ó e aqui dentro a gente vai passar aqui né pegar aquele Simon Type o endereço e aqui a gente passa assim córdova. JS é um arquivo do código vai ter gerado no momento da bild do nosso ep tá pessoal então não precisa
apontar passa JS só acorda o ponto de GPS mesmo É sério kiba que colocava o corda vai ser capaz de identificar os plugins que a gente instalou nele então só precisa fazer a referência aqui nesse código lá JS aqui no teu projecto Ok e também a gente vai precisar inicializar o nosso Primor que servem só depois que o córdova realmente foi ativo então para isso a gente vai fazer o seguinte gente entra na nossa index contra o j s com o arquivo que já vem quando a gente construiu ali o nosso projeto do corda pra
gente já vem com esse index.hu JS aí você vai pegar aqui ó esse add event listener do documento a documento add event listener você vai dar um control cê vai vir aqui no teu rutter. JS lá em cima antes da inicialização E vai colar aqui que que é esse add e vem é como se o teu java script tivesse escutando quando o dispositivo está pronto The Voice Harry quando o dispositivo está pronto a gente vai pedir para acionar essa função aqui que a gente pode chamar por exemplo aqui tá onde vai ser a gente poderia
chamar de pronto ou qualquer coisa do tipo se a gente quiser certo mas vamos deixar que onda vai Suelen mesmo então a gente aqui embaixo vai fazer agora o seguinte a gente vai criar uma fonte chão chamada Aqui a gente pode até copiar essa que tá aqui em cima onda vai Sueli quando o dispositivo está pronto então quando o dispositivo está pronto ele vai chamar essa função e aí que vai inicializar o nosso Primor que servem dessa forma a gente garante que o córdova vai começar primeiro depois ele vai acionar o freio motor que servem
para que a gente possa ter acesso aos pulinhos que a gente vai usar do Corda classe a configuração que a gente fez agora ela é essencial para que os plugins do Córrego posso ser ativados quando o dispositivo estiver pronto beleza pessoal e fez tudo isso aqui a gente precisa começar a testar o nosso aplicativo diretamente no nosso celular E para isso vamos preparar o nosso celular para a gente poder ir rodando aplicação dentro do celular então o que você faz Pega o seu celular aí conecta ele um cabo USB e conecta aí no teu PC
Então o meu já está conectado aqui coloquei o cabo USB conecta ser no meu computador certo agora vou esperar aqui para vocês o meu celular para vocês darem uma olhadinha vou usar aqui o programa chamado apowermirror que é para vocês verem como que a gente faz as configurações Então você vai puxar a barra de notificação lá em cima do teu celular Puxa ela e vai vir aqui onde tem essa engrenagem zinha de configuração se aplica aqui e para abrir as configurações do seu Android certo cada Android é um pouco diferente né pessoal então vocês vão
ter que ter aí o discernimento habilidade de se ter um Android for uma versão diferente do meu descobrir aonde que é isso no seu Android eu estou aqui com o Android versão 10 então na versão 11 versão 12 o anterior pode ser um pouquinho diferente mas quase todos eles são meio parecidos né Você vai precisar ativar no seu Android a opção de desenvolvedor no meu caso aqui ó se eu descer lá embaixo você já vou ver roupa aqui aqui sem querer no meu caso vocês vão ver que aqui embaixo já tem aqui ativa opções de
desenvolvedor isso não vem por padrão no Android tá você precisa ativar a opção de desenvolvedor tô como é que você faz para ativar essa opção desenvolvedor você vai procurar aí no seu celular sobre o telefone no meu caso é assim né no seu vai ser alguma coisa para parecida escrita sobre o telefone vai entrar aqui você vai procurar aqui ó informações do software vai entrar aqui e você vai ter aqui ó número de compilação ou no seu talvez vai estar bild Compilation alguma coisa assim parecida Você vai bater várias vezes vai clicar aqui o várias
vezes assim aí batendo várias vezes até que vai aparecer escrito para você assim ativado modo Opções do desenvolvedor certo então você vai no número de compilação bati várias vezes até que ele ative para você assim ah o modo de desenvolvedor foi ativado alguma coisa assim do tipo certo daí quando esse modo desenvolvedor tiver ativado quando você voltar aqui nas configurações do Android você vai ter aqui ó marcado Opções do desenvolvedor certo você vai entrar aqui Opções do desenvolvedor aqui você tem que estar com ele ativado e aqui nas listas que você tem aqui nas opções
Você vai descer até você encontrar uma opção aqui ó e se chama se a depuração Tá vendo você tem que deixar marcado essa opção modo de depuração quando USB estiver conectado Então essa o e ela precisa estar ativa certo no seu celular nas opções de desenvolvedor só isso que você precisa fazer deixar isso aqui ativo uma vez feito isso pessoal que que vai acontecer voltando aqui no nosso vs code você pode digitar aqui ó a na linha de comando comando chamado a DB devices assim a bebê The Voice e dar um enter quando você faz
esse ADV devices entre ele vai ter que mostrar a senhora lista dos dispositivos tá vendo e aquele tá mostrando um código Zinho dizendo que tem um dispositivo que no caso é o meu celular conectado ao seu desconectar o meu celular ó vou desconectar ele desconectei se eu dar uma DVD baixos aqui ó você vai ver que ele vai dizer que não tem nada na lista de dispositivos Não apareceu nada agora quando eu conecto o USB aqui no meu computador já conectei até mostrar-lhe Galaxy M10 que a minha versão e eu dou aqui uma DVD Voices
ó ele tem que mostrar que tem um dispositivo aqui Isso só vai funcionar quando a depuração usb tiver ativa certo beleza então tá aparecendo aqui meu dispositivo para eu rodar esse meu aplicativo já instalar instalar ele no meu celular tem um atalho do Córdoba que ele vai gerar compilação do aplicativo e já vai instalar esse aplicativo no seu celular então você pode fazer assim ó córdova Run Android Esse comando assim córdova Run Android e vai dar um enter para rodar E aí vai esperar ele fazer a compilação ele vai compilar E aí já vai rodar
o aplicativo lá no seu celular a Instalação feita com sucesso então só para mostrar aqui para vocês ó ó tá rodando aqui para mim no celular o aplicativo tá então ele já compilou o aplicativo e com instalou no meu celular inclusive são mostrar para vocês aqui o espelhamento do meu celular vocês vão reparar que ele criou aqui o aplicativo instalado realmente no meu celular tá lá aberto assistentes eu clicar ali ele vai abrir aqui o aplicativo para mim beleza então funcionou aqui a compilação direto no meu celular então córdova Run Android ele já vai gerar
bild e rodar o aplicativo direto aqui no meu celular tem um outro jeito de você rodar o aplicativo no seu celular tá um jeitinho um pouco mais vamos dizer assim burocrático né esse aqui ele já vai gerar build e já instalar direto para você e abrir inclusive o celular direto tem um jeito diferente que é você fazendo assim ó córdova build Android que o comando para conferir o aplicativo aí ele vai gerar a construção do aplicativo se aguarda a contar o caminho onde foi gerado o arquivo APK né então você vai entrar nesse caminho que
que ela Beto assistente então nosso projeto platform Android app built put.apk debug então a gente pode fazer esse caminho aí né pode entrar aqui dentro do nosso aplicativo Beto assistente platforms Android app build-out put.apk de blog E aí a gente vai ter aqui o arquivo FD bug. Apk você pode copiar ele control Cê vai entrar lá dentro do seu celular que aqui no meu caso tá aqui o galo que você me deve estar colocado vai entrar por exemplo dentro do meu Card e aqui eu vou criar uma pasta chamada ep Beta por exemplo né E
aqui dentro eu vou colar aquele nosso apê Call control V Colei o arquivo. Apk aqui dentro OK agora eu vou ter que falar para o meu Android que eu quero que esse aplicativo seja instalado direto pelo gerenciador de arquivos do Android mas eu vou precisar dar permissão de instalar Apps o tecido Então como é que eu faço você novamente vai entrar aqui nas configurações do teu Android né puxei a barra aqui em cima depois vem aqui a na engrenagem Zinha ele vai abrir aqui as configurações do Android e aí você vai procurar aí no seu
algo parecido com isso aqui ó no meu tá escrito assim a biometria insegurança Hotel vai estar segurando as alguma coisa do tipo cê entra lá aqui você vai ter uma opção instalar apps desconhecidos porque esse aplicativo aqui esse ponto apk ele não está sendo instalado a partir da loja então a Google considera a instalação de um APK que eles não fizeram uma vistoria como ao que pode ser até potencialmente perigoso né então eles não deixam por por padrão você instalar um aplicativo por fora da loja você precisa acionar essa opção Então a gente vai vir
aqui em instalar apps desconhecidos vai encontrar na lista aqui o nosso gerenciador de arquivos que no meu caso aqui é meus arquivos tá vendo vou entrar aqui e vou dar essa permissão No meu caso eu já tava né no seu vai tá e desmarcado você vai marcar para dar permissão para você instalar aplicativos A partir dessa fonte E aí é que a gente faz a gente vai entrar aqui nessa os meus arquivos nesse aplicativo aqui né deixa eu abrir o aplicativo ó entrou em meus arquivos aqui eu vou acessar Então o meu cartão SD que
é onde eu coloquei lá o meu APK aqui tem a pasta que eu creio qa at Beta certo e aqui olha lá o quê que eu tenho FD bug. Apk vou clicar aqui e ele vai perguntar até instalar esse aplicativo no caso ele tá dizendo que a atualização porque eu já tinha instalado já o aplicativo né o daqui instalar no seu se for a primeira vez pode ser que ele vai dar uma mensagem do Google Play Protect ó e até apareceu para mim ó instalação bloqueada pelo Play Protect não reconhece o desenvolvedor tal dizendo que
talvez pode ser perigoso então né não tem problema você dá um instalar assim mesmo aqui embaixo nessa opção aqui instalar assim mesmo aí ele vai fazer a instalação Oi e aí você clica em Abrir E aí ele já vai abrir aí o aplicativo no seu celular beleza OK então esse é o segundo jeito que você tem para instalar o aplicativo no seu celular o cordova Run Android é bem mais rápido que ele faz todo esse processo para você sozinho né mas se você não conseguir fazer pelo corda vovó Android você pode gerar bild né pegar
esse APK jogar lá dentro do seu celular e então instalar ele né uma vez que você fez aquelas questões além de configuração para de artes desconhecidos e tal você não precisa fazer isso toda vez você só vai lá clica no APK dentro da pasta que ele já vai atualizar o seu aplicativo cada viu de Nova que você faz se sua copia né o arquivo novo Joga lá substitui o arquivo antigo e atualiza no seu celular para ver rodando Ok beleza então feito isso já estamos aí com um up rodando no nosso celular agora vamos fazer
aí o funcionamento do Plugin the Speech recognition o impacto Speed para isso nós vamos recorrer aqui a documentação deles aqui no npm certo eu posso inclusive já fechar aqui ó essa nossa vou deixar por enquanto aqui porque eu quero mostrar só qualquer os componentes aqui das coisas que a gente vai tá fazendo aqui no site do Speech recognition então aquele mostra quais são os métodos que a gente pode estar utilizando para usar esse pudim primeiro é Easy recognition um avaliei bow que é um método para verificar se está disponível ou não ali a recognição na
quer dizer entender o que a gente tá falando porque aquele até avisa que esse pudim requer conexão com a internet então ele vai dar como retorno sucesso Um callback Boliviano quer dizer ele vai dizer ou falso quer dizer tá disponível ao reconhecimento sim ou não é isso que ele vai retornar com esse método Zinho Aqui nós temos também o outro método chamado start listening e é começar a ouvir na startles himiko a escutar começar a ouvir aquele mostra que a gente tem algumas opções que a gente pode colocar como a língua que é uma Spring
né netfront show Park show paixão né E aí o método Zinho aqui que é o espetinho com o início start Li sim aqui embaixo ele mostra o que que é cada um desses parâmetros é tão primeiro parâmetro além dos que é para gente passar Qual que é o idioma que a gente pega Ela entenda né esses idiomas é da lista que tá aqui em baixo o que a gente pode usar Inclusive tem que suporte a pt-br que é o que a gente vai precisar Ok nets é o número de retornos máximos que ele pode dar
como padrão ele vem 5 né então conforme a gente vai falando ela Vai tentando entender e ela vai dar um número de retornos para nós no máximo cinco aqui aí nós temos aqui pronto que é uma janela do que ela tá ouvindo que por padrão acho que vem vazia que no Android pelo que tá falando que mostrar a um Pou papi com no Android também dizendo que que ela entendeu e tal você que a gente vai precisar a gente não vai precisar de nada disso e aquele explica que o retorno do start listening que é
dyuly ouvir O Retorno de callback é um Array com todos os dados que ele entendeu né os termos que ele é fez aqui recognised deixa eu ver como é que significa em português né o termo reconhecido isso reconhecido seria a palavra certa né deixa eu mostrar original então com todos os termos que ele reconheceu Então esse é o start list aí a gente tem um método Stop Listen que é para parar o processo no meio do caminho retorna nenhum valor é só para realmente um método prático se ele tá ouvindo alguma coisa ele parar de
ouvir Oi e o método só para pegar Quais são os idiomas aí ele vai mostrar um ao Rei voltando todos os idiomas que esse aqui que ele já tá mostrando não tem necessidade a gente usar esse meta aí Aqui tem alguns métodos que são bem importantes que a gente vai precisar assim utilizar um de verificação se tem permissão has permission tem permissão então ele vai retornar um callback de verdadeiro ou falso né ele vai retornar Um Boliviano aqui para nós e se tem permissão ou não se não tiver permissão a gente vai ter que usar
esse outro aqui que é o request permission que é para requerir pedir para o Android nos dar a permissão da gente poder fazer a gravação né da fao porque a gente precisa né pessoal solicitar para o usuário é permissão de uso do microfone dele conforme vai estar aqui também embaixo se eu não me engano aqui na documentação ó nos requerimentos do Android tá aqui ó Record audio permissions Então a gente vai precisar solicitar para o nosso usuário que lhe permita que a gente faça gravações que a gente usa o microfone dele ok beleza então é
isso aqui é um apanhado geral aqui da documentação Vamos tentar começar a fazer isso aqui funcionar para facilitar os nossos trabalhos que que eu vou fazer também vou colocar um jeito que era vizinho aqui no nosso projeto Então vou entrar lá no site do dia querem então vou entrar aqui dia quer. Com barra download vou entrar aqui e baixar a versão comprimida dessa biblioteca do jeito que quer que é só para facilitar as questões Java Oi gente né teus espaços de eventos de uma forma mais simplificada também para a gente poder varrer um ar ele
de uma forma mais simples usando o método do it doesn't Care e fica bem mais fácil trabalhar usando essa bibliotequinha tá então eu vou vir aqui download de compressa de produção de e quer 3.6.0 eu vou baixar aqui ele vai abrir Esses códigos você dá um contra o Oeste no seu teclado para você Salvar esse arquivo E aí eu vou salvar aqui dentro da minha pasta Lib tá no meu projeto aqui então www JS Lib aqui eu vou salvar o dia quer 3.6.1 ponta JS eu já tinha inclusive salvo vou sobre a escrever ele substituir
Mas você salva aí normalmente ele já baixou de e quer aí no seu projeto aí vamos referenciar ele aqui na nossa index.hu ml então acima do holter presta atenção que isso é importante antes a gente inicializar as nossas rotas aqui no Primor que servem antes de inicializar isso a gente vai colocar é a referência da biblioteca certo então a gente vai fazer aqui já quere o nickary 3.6.0 que a versão que a gente quer os copiar aqui um clipe dilsinho desse só para evitar a fadiga e aqui a gente só vai apontar aqui a gente
vai querer a nossa pasta Lib e dentro da pasta Lib ojeikere 3.6.0. Então fizemos a referência do jacare no nosso projeto agora é Conde querem já colocado o que que a gente vai querer é acionar o nosso reconhecimento de Paula ao clicar nesse botão aqui que é o nosso botão falar então vamos batizar esse nosso botão de falar com Aidê então vamos aqui na nossa index.hu ml achar o nosso Fabi botão que aquele botãozinho falar que a gente tem aqui e nós vamos dar aqui no nosso link do botão Vamos colocar um agir ou me
chamar de falar e eu vou chamar de btn falar dessa forma que tá pessoal btn falar que fica mais semântico né a gente entender que o que realmente é esse botão tão coloquei esse dia e agora nós vamos fazer aqui nas nossas rotas a a gente fazer com que cada rota chama em um arquivo separado onde vai ter os eventos para que a gente tenha dentro das rotas é um controle melhor dos artigos que a gente vai usar externo nós vamos importar dentro das rotas o ano que vem aqui aonde vai ter cada evento de
cada rota olha só que a gente vai fazer que legal a gente vai fazer aqui um cifrão. Que é o método do jeito here get script dessa forma aqui com S maiúsculo então pegar um script e nós vamos pegar qual o script a gente vai passar aqui dentro um método e vai apontar aqui que vai estar Nossa pasta javascript.js nós vamos pegar index. JS que vai ser o arquivo responsável por tudo o seu dentro dessa nossa rota index certo então aqui dentro da index contra o j s tá um arquivo que a gente já tem
que já vem inicializar num junto com córdula nós vamos Apagar tudo isso aqui vamos dar um controlar pagar então apagamos isso daqui e nós vamos colocar aqui um comandinho só para ver se ele vai reconhecer essa página é ponto daí aula de ponto Alert e vou colocar aqui ó reconheceu a página Eu não entendi nada Professor viajando o que que o professor fez aí a gente pediu para importar aqui dentro da nossa rota index Quando a nossa rota foi inicializada que a nossa página inicial aqui a gente pediu para ele importar o script que tá
aqui nesse outro arquivo para que a gente tem arquivos separados tudo que a gente vai fazer de evento só para ficar mais organizado certo isso daqui não vai funcionar pessoal aqui no nosso live-server você pode ver que ele não reconheceu porque isso só vai funcionar a partir de agora rodando no nosso celular certo só para gente já jantar eu vou pegar aqui e fazer também se Gates clipe aqui dentro de memórias pegando um arquivo chamado memórias. JS Vamos criar aqui na nossa parte na nossa pasta de jovens que ele tinha um arquivo chamado memórias. JS
ó e aqui a gente pode colocar a inicialização desse search bar que a gente fez na aula passada lá dentro vou recortar e vou colocar aqui dentro até posso colocar um comentário ser inicialização do mar e colar aqui dentro ok é dessa forma que a gente deixa bem mais clean né o nosso rutter daqui a gente só vai chamar um arquivo externo nesse arquivo externo com os nomes iguais os das rotas é que a gente vai fazer as alterações e disparos de eventos certo então eu posso fazer assim o disparo de evento em vez de
seccionar na nossa index assim direto eu vou fazer o seguinte sou recortar isso control-x e vou fazer um eventinho ali do nosso botão falar bom então vou fazer assim falar é o nosso btn falar né como é que a gente colocou lá é aqui ó btn falar BPM falar o ponto o evento que a gente vai fazer on-click o que que vai acontecer quando clicar os fazer aqui uma função de callback que quer para acontecer quando clicar então quando clicar opa se ele ficar que que é para acontecer aqui então clicou no botão btn falar
eu vou pedir para ele dar um up da ela v-alert dizendo reconheceu a página só para gente ver se ele vai reconhecer esse disparo de evento do botão Vamos ver se esse aqui funcionou Então vamos dar aqui no nosso terminal ou comandinho aqui ó córdova Run Android para rodar ele no nosso celular no meu caso de um erro aqui dizendo assim não reconhecido como comando interno operável lotes e tal isso acontece porque eu estou usando aqui o meu esse programinha aqui que espelha a tela na ideia de um problema deixa eu tentar rodar de novo
vou dar um código Android de novo se você vai acontecer você pode experimentar rodar de novo aí para ver se vai funcionar vamos ver se vai dar certo agora a beleza Agora abriu aqui para mim então só para evitar a fadiga vou mostrar direto para vocês aqui ó vou clicar aqui no botão falar ele tem que abrir ali a janelinha dizendo que reconheceu a página cliquei Olá já deu uma alertinha para nós lá ó Beto assistente não sei se eles vão enxergar aí reconheceu a página Beleza então quer dizer que tá disparando o nosso evento
quando clica no botão clique aqui no botão ó disparou o evento Então ele tá reconhecendo a nossa página externa era isso que a gente queria testar para ver se tava funcionando OK então agora quando clicar aqui no SBT n falar a gente vai querer que ele acione o nosso reconhecimento de fala né Agora sim eu posso fechar aqui esse meu live-server posso vir até aqui no vs code Rua não contraste assim que só para tirar o terminal e aqui embaixo pode clicar aqui para fechar o servidor do live-server Ó fechei Oi e aí eu vou
fechar aqui essa nossa aba aqui do live-server não preciso mais posso fechar aqui também do dia quer vamos só dar uma olhadinha aqui na documentação Então a primeira coisa que a gente pode experimentar pessoal é esse start list né que é começar a ouvir EA gente colocando essas opções e aqui o método ele começar a ouvir vamos ver se vai funcionar diretamente a gente fazendo isso então aqui dentro do evento do botão do clique do botão falar algumas fazer assim né clicou no botão falar o que que vai acontecer como colar aqui o que tá
na documentação primeiro a gente vai ter que passar aqui os parâmetros das opções né então primeiro parâmetro que eu vou passar vai ser esse lendo os qualquer língua ou daqui 12 pontos e aqui eu vou passar qualquer o idioma que eu quero ali na documentação a gente tem analista aqui ó o Pt Br vou copiar aqui então control c ouvir aqui vou dizer que o idioma que eu quero é português no Brasil esse eu vou deixar o padrão esse pronto aqui eu também não vou usar Então vou até deletar esse aqui ele tá aqui a
gente tem o shampô papo e o show par shows então eu posso deixar assim no chão para o Papi eu posso deixar como falso que eu não quero que apareça nem um Pou papi de alguma coisa né que esse papo na verdade é uma janelinha do Google que aparece assim como um desenho do microfone tipo como se estivesse invocando a Google assistente né Depois que você deixar isso aqui com o que você pode ver como é que fica então esse aqui não é legal de você tá usando deixa o show para o parto como falso
e aqui o show parte o Zé e se você pode deixar tro que é para ela ir entendendo parcialmente o que a gente vai falando então conforme o que a gente vai falando ela Vai tentando Juntar uma coisa com a outra né para mostrar o resultado Então fique você pode deixar como tô aqui então no método a gente vai precisar ter duas funções uma função de sucesso uma função de erro e aqui Quais são as opções certo aqui ele tá mostrando só o formato Então a gente vai ter que fazer isso aqui do G é
o primeiro a gente vai ter que fazer aqui uma fonte chão em função do que que vai acontecer se deu certo Tá certo e aqui uma função do que vai acontecer a função do que vai acontecer se der erro e aqui o último parâmetro um objeto com as opções que a gente pode deixar que as opções que ele vai pegar daqui de cima certo ok então aqui dentro de start listening o que que ele vai retornar para nós aqui nessa função de sucesso conforme a documentação ó ele diz aqui é o start list nem ele
fala que o resultado o callback ó e sucesso callback O Retorno o o que vai ser internado para nós é um ao rei né então a gente pode colocar aqui o nome disso como sendo dados do que vai vir aqui dentro nesses dados vai ser um Away aqui esse outro é uma função de erro deixou só pular uma linha aqui para facilitar aqui é erro tô aqui e a gente pode comentar assim né e começou a escutar e se sucesso e se der erro o ok então aqui a gente pode fazer no erro para ele
dar um aviso para nós ep.de alugue. Alert e a gente vai pedir assim Houve um erro: espaço e a gente vai pedir para ele mostrar qual que foi o erro que aconteceu se Deus sucesso a gente vai ter que ver e que tem dentro desses nossos dados aqui que veio do sucesso né para isso como esses dados são uma rei a gente vai precisar colocar esse Array dentro de algum lugar que a gente possa enxergar esse esses esse nosso ao rei né Essa nossa Matriz então a gente pode vir aqui na nossa index a gente
pode criar um bloquinho aqui ó a criar um novo bloquinho que a gente vai chamar de pergunta quero embaixo a resposta é o quê que é a nossa Assistente vai responder aqui em pergunta o que ela vai entender que a gente vai falar então vou criar aqui um novo bloquinho com um parágrafo com Eyed chamado pergunta e aqui eu vou pedir para fazer o seguinte eu vou fazer aqui um método do dia que serve para gente percorrer esse nossa mãe então a gente vai fazer com leite aqui a gente vai percorrer esses dados e te
dados EA que a gente vai fazer uma função de retorno e vai ter um esse Qual que é o índice dentro do Warley e qual que é o texto que ela entendeu certo essa função aqui e aí aqui dentro nós vamos passar o seguinte a gente vai pegar ali aquele nosso é o pai coloque um negócio aqui em cima nada a ver peraí aqui a gente vai fazer assim a gente vai fazer o nosso pergunta o ponto HTML ou melhor. Aprendi que é tradicionar mas vamos pedir para adicionar dentro dele o texto certo beleza pessoal
vamos entender o que que a gente fez até agora né a gente fez um evento de disparo de clique no botão falar quando clicou Ele vai tentar começar ouvir se der sucesso ele conseguiu ouvir ele vai pegar esses dados que ele tá ouvindo essa entrada vai percorrer esses dados com que é um Array matriz e vai colocar esses dados dentro do nosso parágrafo que a gente batizou aqui de pergunta certo é isso que a gente está fazendo aqui se der eu vou ele vai dar um da aula o dizendo que houve um erro e tal
não funcionou Ok vamos ver se isso aqui vai dar certo então vamos abrir aqui o nosso terminal Oh e vamos mudar aqui um córdova Run Android para ver se vai dar certo o nosso projeto beleza instalado com sucesso eu vou espelhar aqui para vocês verem meu celular beleza Tá espelhado meu celular Vamos fazer um teste clicando aqui no falar vamos ver se ela vai reconhecer o que a gente vai falar teste etar anda Não deu nem tempo né pessoal já deu ali Houve um erro faltando permissão Missing permission Então realmente a gente vai ter que
invocar o sistema de permissão para a gente poder usar esse recurso aqui né Beleza então vamos fazer o seguinte vamos dar um que esquema Minimizar esse aqui e vamos fazer aqui então quando a gente abrir a nossa página Index Esse aqui é o evento de ele começar a escutar no Click do botão né então aqui antes isso daqui é assim que a rota index começar e a gente vai pedir para gente verificar se ele tem aquela permissão ou não então a gente vai usar aqui esse evento é esse método que ele tem aqui que é
o resto permission para verificar se tem permissão ou não tá vendo a gente vai copiar esse método aqui vou verificar se tem permissão de usar Speech recognition nós vamos usar que esse método Então a gente tem aqui o que que vai acontecer esse sucesso então uma função de sucesso callback sucesso tanto colchão que vai acontecer se der certo né pô bom e o que vai acontecer se der erro fazer que foi um chão o ok então aqui no sucesso e aqui no erro então no SUS nuevos a gente vai fazer assim error e que a
gente vai pedir para ele dar um up ponto da aula e ponto Alert é erro é como colocar senha para gente saber o que que se trata né resto permission error e aqui a gente vai pedir para lhe mostrar qual que é esse erro erro se der um erro aqui se der certo no nosso callback aqui de tem permissão quer dizer se for tu né O resultado é que a gente pode colocar aqui quer permissão o nome do retorno né que em casa que ele vai voltar tu ou falsa aqui então aqui dentro a gente
pode fazer a verificação se e se não tiver permissão então a gente pode fazer assim se a permissão se for falsa né então a gente pode colocar um. Exclamação que antes que é de se não tiver permissão o que que é para acontecer então se não tiver permissão a gente vai ter que ir solicitar solicitar a permissão E aí como é que agente faz para solicitar sua permissão a gente tem um outro método aqui que se chama requestpermissions Então a gente vai copiar esse método aqui a control c copiada melhor dizendo copiar vão colar aqui
esse método aqui então esse método também ele tem duas funções de callback ele tem uma de sucesso uma de retorno então vamos coisa aqui uma função é essa aqui é de sucesso Oi e a gente tem aqui uma função o Gui erro e aqui a gente já pode até colocar é Friday algo. Alerj e aqui a gente pode colocar um requeste e sequest permission vigor a gente saber qual foi o problema e colocar aqui qualquer o erro para lhe mostrar para nós aqui no requests permite então se for sucesso aqui a gente pode ver se
tem permissão aí como a gente tá verificando se tem permissão a gente pode só colocar aqui um alerte para gente verificar isso na tela disse que lhe deu permissão realmente então eu pedi para dar um um alerta aqui dizendo permissão concedida: aquele mostrar para nós aqui o tem permissão que no caso acho que ele vai voltar tu falso né Deixa eu ver ele na documentação e que ele fala para nós esse método acesso do sistema tal o retorno acho que vai ser boliviano também se eu não me engano vai ser verdadeiro ou falso né a
beleza vamos recapitular para ver o que que a gente fez aqui para a gente entender assim que a rota index começar ele vai verificar se tem permissão no aplicativo para usar o Speech recognition se não tiver permissão a ele pegou aqui para ou falsino já No resto permitiam que retorna para o caos se não tiver permissão a gente está verificando aqui se não tiver a gente vai solicitar a permissão se der sucesso né casa na solicitação a pessoa permitiu permissão concedida tem permissão aqui é acho que é a permissão não concedida Mas vamos deixar esse
recurso permite um erro só para gente ver o que que ele retorna aqui para nós né Beleza E aqui Se der algum erro da has permissions aqui por fim e vai mostrar isso aqui Salve vamos rodar isso novamente usando córdova Android rodar isso lá no nosso celular E aí olha só que legal pessoal que que já apareceu para nós assim quem esse alisou o nosso sistema ele reconheceu que não tem a permissão e solicitou permissão permitir que o f Beto assistente grave áudio tenho permitir e o negar Então dependendo das duas opções que a pessoa
escolher aqui vai acontecer isso que tá aqui no fundo ó tchau der permissão ele tem que dar esse Alerta a permissão concedida e beleza senão ó ele vai ter que dar um requestpermissions com erro dizendo que não foi permitido né então a gente pode até verificar isso aqui vou fazer até um teste vamos ver o que que acontece se a gente der um negar aqui para ver o que que acontece vou clicar então assim no negar tá negar negar Olá equestre permission error permission de nylon quer dizer eu de permissão a permissão não foi não
foi dada né Ok Então nesse caso aqui não funcionaria nossas Stent né a gente poderia até o beck de retorno ali nesse nosso diálogo e alerta para fazer com que a pessoa Saia do aplicativo e se não tiver permissão à ativa não adianta ou a gente poderia fazer um loop né e uma chamada de uma função aqui de verificação de permissão porque precisa ter uma permissão né do nosso projeto eu vou até fechar aqui esse ep tentar abrir de novo para ver se ele vai aparecer para nós a questão de pedir novamente a permissão eu
vou abrir aqui de novo o meu neto Assistente vamos ver se ele vai pedir novamente a permissão Olá já apareceu permitir que o f Beto assistente grave aula e agora até deu uma terceira opção aqui negar e não perguntar de novo né Essa pessoa negar e não perguntar de novo depois ela só pelas configurações do Android vai poder alterar mas agora dessa vez vão dar permissão aqui para ver se vai dar certo então vou clicar aqui no permitir o Olá permissão concedida Ok então ele dá um ok não é o retorno né dentro o retorno
é OK no sistema para dizer que ele tem permissão Então agora ele deu a permissão vou fechar o aplicativo e tentar abrir ele novamente para ver se ele vai pedir novamente a permissão ou não então vou abrir aqui meta assistente o certo ele não pedir a permissão Porque a gente já deu aí ó beleza ele nem pediu permissão tá vendo que a gente já deu na outra vez agora o momento da Verdade né pessoal vamos ver se a si a nossa Assistente vai estar nos ouvindo se ela vai estar com Speech recognition um ativo né
ela vai entender o que a gente fala o que a gente fez aqui ó no evento ó de um clique no btn falar que é para ela começar a ouvir o que a gente tá falando e a gente pediu para colocar dentro do nosso parágrafo chamado pergunta tudo que ela entender então vamos dar uma olhadinha para ver se vai funcionar oi testando para ver se ela entende Oi Eita é um monte de coisa Leandro dando para dando para ver dando para ver se dando para ver selando para ver se ela entendendo para ver se ela
em tentando para ver se ela entende ai ai isso aqui é interessante pessoal para vocês entender o que que assistente tá entendendo quanto a gente ainda tá falando porque todas essas frases que estão vindo aqui elas fazem parte daquele a rei do que que ela tá tentando entender mas você pode reparar que realmente o que vale é a última frase para ver se ela entende tentando auxiliar aqui tentando a emendou com ele tem anos eu avisar isso aqui para ver se ela entende né então a gente vai ter que melhorar isso daqui que a gente
vai fazer vou vamos voltar aqui no nosso código e a gente pode fazer assim que a cada laço de repetição a gente pode pedir para o HTML aqui do nosso parágrafo receber vazio então ele adicionar um texto tô fazendo esse truquezinho aqui ó adicionar vazio então ele adicionar o texto Quando chegar no último item do laço de repetição é que ele vai mostrar para nós o resultado ali certinho para ele só vai mostrar o resultado final salvei se aqui vamos rodar novamente no celular para ver se vai funcionar agora então vou dar um código Android
para compilar novamente no celular essa modificação Então vamos ver se surtiu efeito aqui a nossa modificação nós vamos ver se ela entende agora o que a gente fala né oi oi você tá entendendo o que a gente fala é mas que show de bola pessoal Olha lá oi você tá entendendo que a gente fala então é isso aí foi que ela entendeu Vamos fazer um outro teste vou clicar aqui de novo falando Ah que legal deixa o seu like e se inscreve no canal o show de bola né pessoal ela tá entendendo então Ó o
que a gente tá falando a entrada de voz está sendo convertida num texto que está sendo colocado lá dentro do parágrafo Então ela tá tendo reconhecimento de voz você ver com a nossa vossa que tá dando a entrada no conteúdo deste parágrafo e o interessante ó o que legal deixa o seu like ela reconheceu mesmo a gente tá dando com o tipo tinha com início em português ela reconheceu que essa palavra era em inglês ela falou escreveu ali like né e se inscreve no canal show de bola né pessoal muito legal mesmo então ela já
tá reconhecendo Outro teste de reconhecimento de voz E aí alguma coisa interessante ó no final quando ela entendeu última coisa para ela foi encontra o teste de reconhecimento de voz Até porque eu falei meio pausadamente e ficou meio bizarro Talvez para ela entender o outro teste de reconhecimento de voz E aí esse daqui ela entendeu certinho Outro teste de reconhecimento de voz beleza pessoal então a parte aí de reconhecimento de voz tá funcionando é claro que a gente vai ter que agora depois lapidar para a gente ter as entradas e funcionamentos e tudo mais né
mas ela tá entendendo aqui basicamente o que a gente tá falando a gente já para deixar esse aqui bem divertido a gente já pode colocar um comando de voz aqui para quando a gente dizer assim ó acessar memórias ó tá vendo que ela entendeu ali ó acessar memórias Então a gente vai querer quando ela entenda isso escrito que ela faça realmente o acesso à página de memórias que é por enquanto é quando a gente clica na própria assistente nessa bata o dedo em cima dela aqui ó ele abre a página de memória certo mas a
gente vai querer que ela faça isso sozinha por conta dela né então tá então vou fazer esse comandinho aí estão Minimizar aqui então no simulador E aí a gente vai fazer o seguinte aqui ó é onde e a gente tem lá o parágrafo da pergunta né que ela do que que ela entendeu o que que fica escrito depois que a gente falou então a gente vai criar aqui uma variável a gente pode fazer aqui uma variável chamada pergunta que ela que a gente falou que vai pegar o valor é que dessa nesse o nosso campinho
pergunta aqui ó a pergunta. HTML para gente pegar o valor dela então a gente tá pegando o valor que tá dentro do campinho e foi escrito certo agora a gente pode fazer uma validação bem simplesinho se pergunta por igual igual eu vou colocar aqui ó acessar memórias até posso colocar umas variações aqui ó usando as Duas Barras que é o ou né ou então se a pergunta for acessar memórias ou certo pergunta por igual igual igual Vou colocar aqui Acessar memória que é uma coisa meio parecida né a gente pode colocar várias variações não colocar
essas duas aqui ó então acessar memórias e Acessar memória que basicamente a mesma coisa aí eu vou pedir Vou colocar aqui um comandinho que é para as ir para nossa rota de memórias então é ep.de News. Em ponto holter. Navigate apontando para nossa rota de memórias isso aqui o fim do Framework servem para a gente mandar ele abrir uma rota específica que a gente quer então no nosso é pra gente que aqui a nossa viu principal seja Rota de navegação memórias certo vamos ver se isso aqui tá funcionando então a gente até pode fazer assim
né aqui escrever aqui em cima e é colocar o que ela entende no P chamado pergunta é o parágrafo chamado pergunta aqui é pegar o valor do que ela entendeu ó e aqui embaixo a gente pode fazer assim né verificar se o comando e é esse né então se o comando é acessar memórias o que que é para acontecer aqui né então se a pergunta por acessar memórias a gente tá mandando ela jogar a gente para página de memória vamos ver se isso aqui já vai funcionar vou mudar um córdova Android rodar isso lá no
nosso aplicativo no celular agora vamos então o momento da Verdade vamos ver se ela reconheceu a nossa farinha aqui né acessar memórias o Olá Que show de bola pessoal ela abriu a nossa rota vamos tentar de novo lá ainda ficou escrito e Sara memórias mas como ela estava fazendo ali o loop dos dados do Array provavelmente um dos itens foi acessar memórias e quando ela identificou ela já executou comando vamos tentar de novo ó acessar memórias se abriu novamente eu vou tentar agora Acessar memória vamos ver se ela vai Acessar memória E aí ela entendeu
baixar memória ele não funcionou vamos tentar de novo ó Acessar memória E aí olha aqui curioso Pessoal esse aqui é bem interessante a palavra acessar veio com a maiúsculo tá vendo e aí que que acontece já ficou propositalmente ali no nosso código Tudo minúsculo aqui ó se você olhar no vs code a gente colocou como sendo tudo minúsculo e como a primeira que ficou maiúsculo daí ele não reconheceu comanda a gente teria que garantir que tudo sempre fica e minúsculo né usando to lower Case aqui para facilitar né deixa eu tentar de novo Acessar memória
E olha que curioso ficou com a letra maiúscula Então o que a gente pode fazer para garantir que não vai ter esse problema a gente vai pegar aqui ó o nosso Pergunta a gente pode colocar aqui ó to lower Opa to lower Case que é 1,5 para deixar tudo letra minúscula converter tudo para minúsculo né dessa forma a gente tá pegando aqui na nossa variável pergunta o mesmo que tá aqui dentro da HTML mas convertido para tudo minúsculo Dessa forma não tem perigo de ter aquele problema de letra maiúscula ou minúscula Vamos tentar rodar aqui
novamente para ver se agora vai funcionar beleza vamos testar agora para ver se vai funcionar né Acessar memória o Olá foi certinho mesmo que aqui aparece escrito talvez em maiúsculo agora ele vai jogar a gente para página porque antes vai ter convertido para minúsculo antes dele fazer a verificação no comando né Acessar memória o Olá foi certinho Abril tranquila Nossa outra página mesmo que ficou com a maiúscula no início que a gente já resolver esse probleminha aí então é isso né pessoal ou reconhecimento de fala tá funcionando inclusive o nosso comandinho que a gente passou
aqui o que a gente tem que fazer agora é que nunca apareça isso aqui que ela tá entendendo né a gente colocou aqui né esse texto aí é visível só para gente ver se ela tava realmente escutando que a gente tava falando mas para garantir que esse texto não vai aparecer aqui onde a gente tem a nosso parágrafo de pergunta a gente coloca uma classe que é display display None None essa classe display None faz com que nunca apareça o item Então esse item da pergunta que ela ele nunca vai aparecer certo então se a
gente fala alguma coisa agora não vai mostrar escrito que Assistente está está entendendo vamos rodar de novo esse aqui dando corda o valor Android só para mostrar para vocês aqui e vamos ver então se vai funcionar agora né ela não pode mostrar o que que a gente tá falando só simplesmente obedecer né então Acessar memória o Olá já jogou a gente para o própria página de memórias né então o que que acontece o que a gente tá falando ela tá entendendo e tá colocando naquele parágrafo só que aquele parágrafo ele tá o culto ele não
tá sendo mostrado Então o que ela tá ouvindo tá realmente sendo escrito na tela mas sem aparecer para o usuário então quando eu falo acessar memórias ela escreve ali acessar memórias que é o cala o rio E aí se tá ali dentro do IF dos Comandos que eu passei ela faz o que eu pedi para ela fazer que no caso é jogar gente para memória entendeu de novo vamos lá acessar memórias e agora ela não deve ter entendido a entendeu sem alça tá com atrasinho aqui beleza eu entrou em qualquer coisa que a gente for
falar agora na verdade ela vai tá escrevendo ali dentro do parágrafo Mas a gente não vai estar enxergando né a nível de desenvolvimento a gente pode deixar aquele parágrafo desmarcado para gente ir vendo que tá escrevendo né para ficar mais fácil da gente ver o que que tá escrito a nível de desenvolvimento depois quando a gente for concluir a assistente daí a gente pode tirar essa questão ali a do Se é mostrado né então no Speech recognition reconhecimento de voz praticamente está resolvido isso daí para nós já tá tudo certinho agora o que que a
gente precisa fazer é o texto Speed quer dizer a gente pedir para assistente falar agora com a gente né ela que vai falar alguma coisa é um texto que a gente passa e que ela vai ler para nós então aqui na documentação do text-to-speech ele fala que que tem que fazer e fala que a gente tem um comandinho assim TTS. Esp né e passando aqui basicamente o que que é para falar hello world aqui a um alerta de sucesso e aqui um retorno de algum erro não é provavelmente de algum problema que deu Aqui tem
uma outra maneira de fazer com mais opções ó aqui então a gente pode passar qualquer o texto Qual que é o idioma né E se localiza é qual que é o idioma aqui a velocidade esse leite eu acho que a velocidade da fala dela se eu não me engano aqui um callback de sucesso e aqui um callback de erro se acontecer alguma coisa então eu acho que o mais interessante seria Realmente esse daqui esse é essa é a parte final que falsa não sei o que é aqui do The Voice Harry que a gente não
precisa porque a gente já tem no nosso projeto certo vou ver se tem mais alguma coisa aqui que explica não é isso mesmo então a gente pode fazer aqui ó copiar esse esse código O que é Oi e a gente pode fazer um teste aqui ó no nosso projeto tô fazendo assim o seguinte vamos fazer se a pergunta for assim ó É sim eu vou fazer assim se a pergunta e por igual igual Qual é o seu nome o ou qual posso fazer ou pergunta é igual igual Qual é seu nome é uma coisa parecida
assim vamos pedir o que que vai acontecer se a pergunta qual é o seu nome a gente vai pedir para colocar lá ativado o TTS aqui que é esse nosso método sem dela falar EA que a gente vai fazer o seguinte a gente vai pedir para ela falar sim Olá meu nome é Beta e aqui no idioma nós podemos colocar aqui o português do Brasil né Deve ser igual aqui esse outro a pt-br que é um padrão Geralmente se usa no idioma Vou colocar aqui o Pt Br aqui no caso se der um sucesso a
gente pode pedir para dar uma igual a gente usou lá no na questão aqui deixa eu ver onde que a gente tinha feito aqui na rota na nossa index aqui no nosso teste a gente tinha feito aqui uma chamada de um Tati tá vendo aqui na nossa index.hu ml nós vamos usar aqui um Tati também ó bom e vamos pedir para dar um retorno aqui de Paula realizada com sucesso então aqui na nossa sucesso e o que acontece se ela falar e se se ela falar a gente na verdade pode até pegar esse todo esse
taipede aqui que a gente pegou aqui ó a gente pode pegar esse taipede aqui recortar daqui para ele não a gente tava fazendo só teste de inicialização para ver o texto que vai escrever Como recortar ele vim aqui e pedir se der sucesso na fala dela e que é para ela falar a gente vai pedir para dar um pai perdi não resposta lá que é a nosso campinho de resposta o o o que a gente pediu para ela falar que que meu nome é Beta certo então vão pedir para ela escrever aqui ó meu nome
é Beta ela vai escrever também e aqui depois vai dar um fala concluída com sucesso então se der certo vai dar isso se der errado nós vamos fazer assim um EP ep ponto daí ela de ponto é vovô o erro não é Alert melhor dizendo E aqui dentro a gente vai passar qualquer um erro que a gente vai chamar de erro e aqui vai fazer assim Houve um erro e aí a gente vai pedir para mostrar qualquer esse eu Beleza então vamos ver se a gente entendeu o que que aconteceu a gente colocou uma condição
assim ela vai escutar né O que a gente tá falando então se a pergunta que a gente fez é qual é o seu nome a gente pediu para acionar o text-to-speech que é para ela falar Falar o quê meu nome é Beta e a gente falou que é para ser em português do Brasil para ter sotaque português brasileiro se der certo aqui ele vai acionar essa função E se ela falar vai escrever na tela a resposta EA resposta é meu nome é Beta certo e aí vai dar um callback aqui de Taty dizendo fala concluída
com sucesso Vamos ver se esse aqui vai dar certo então vamos rodar que dando um córdova Run Android Então vamos para a Hora da Verdade né Deixa eu só aumentar o volume aqui do meu celular que está com volume no baixo beleza deixei o volume aqui aumentado e vamos ver se a gente faz essa menina falar com a gente né então lá Oi qual é o seu nome [Música] o Olá show de bola teve uma trasinho ali na parte escrita né mas eu acho que é por causa do simulador que eu tô usando aqui em
conjunto deixa tudo um pouco mais lento tava as respostas aqui vamos fazer um teste de novo para ver se funciona vocês conseguiram ouvir Oi qual é o seu nome é o Olá meu nome é Beta beleza pessoal teve um atrasinho entre o que ela falou e o que escreveu mas realmente funcionou Ela falou para nós né O comandinho que a gente deu eu acredito que isso aconteça esse dela é Zinho porque ele tá fazendo aqui um laço de repetição e aí faz a pergunta e quando faz a pergunta ele aciona o TTS né E aí
depois no callback do TTS que ele dá que o texto escrito Então a gente vai ter que pensar uma forma de fazer isso de uma forma um pouco mais rápida mas realmente já funcionou aqui o nosso projetinho que a gente queria ela reconheceu a nossa voz e ela também tá falando usando aqui o TTS esp certo então vamos fazer o teste aqui só final do que a gente conseguiu fazer nessa aula a gente conseguiu fazer com que ela reconheça a nossa voz e passa uma ação Então vamos lá de acessar memórias e já abriu aqui
a nossa página de memórias e agora uma fala que a gente pediu para ela dar de retorno né Oi qual é o seu nome o pé Olá meu nome é Beta Beleza então funcionou aqui o que a gente se propôs dos links dos plugins que a gente queria né de reconhecimento de fala e também de ela falar de texto para fala e nós na próxima aula nós vamos melhorar essa nossa lógica Vamos trabalhar e com banco de dados também para que a gente possa fazer isso de uma forma bem mais dinâmica que a gente possa
ensinar para ela o que ela quer é responder de acordo com as perguntas a gente salva a pergunta salva a resposta dela para que a gente possa ter essa interação e uma forma mais fluida e natural espero que vocês tenham gostado dessa aula tenho certeza que foi muito interessante muita coisa legal que a gente fez aqui e até a próxima valeu forte a
Copyright © 2025. Made with ♥ in London by YTScribe.com