Conversão de texto em voz para aplicações móveis

A Altova MobileTogether oferece funcionalidades de conversão de texto em voz para.. aplicativos móveis multiplataforma, permitindo que os programadores integrem funcionalidades de reconhecimento de voz e criem uma experiência de utilizador multimédia rica e completa.

A funcionalidade de leitura de texto pode ser totalmente integrada com o texto em qualquer parte de uma aplicação. Por exemplo, uma aplicação como o exemplo "Parcel Delivery MobileTogether" pode ser melhorada ao ler em voz alta o próximo endereço de entrega – especialmente se o motorista estiver no trânsito! Ou, o texto em caixas de mensagens ou em outros blocos de informação também pode ser lido em voz alta pelo dispositivo móvel.

Criámos uma demonstração simples para testar a funcionalidade de conversão de texto em voz para aplicações móveis e, posteriormente, adicionámos funcionalidades de conversão de texto em voz à aplicação de entrega de encomendas.

A aplicação de demonstração de conversão de texto em voz, muito simples, possui quatro funcionalidades:

  • Um campo de entrada permite ao utilizador escrever qualquer texto ou reproduzir um texto predefinido
  • O botão "Falar" pronuncia o texto inserido
  • O botão "Silenciar" interrompe a transmissão de áudio se alguém estiver a falar
  • O botão "Sair" exibe uma caixa de mensagem com uma mensagem falada e uma opção para sair da aplicação

Aqui está a aplicação a funcionar num dispositivo Android, com texto inserido no campo de entrada:

O texto num aplicativo pode provenir de diversas fontes, incluindo a área de transferência de cópia e colagem do dispositivo móvel. Na captura de ecrã abaixo, um utilizador de um iPhone removeu o texto padrão, que tinha sido copiado do site da Altova, e colou esse texto no campo de entrada:

A propriedade do campo de entrada para múltiplas linhas é selecionada, e a caixa redimensiona-se automaticamente para se ajustar ao texto colado.

O texto recolhido no campo de entrada é armazenado num elemento na estrutura de dados da aplicação. A ação atribuída ao botão "Falar" faz com que o motor de conversão de texto em voz integrado no dispositivo móvel pronuncie o texto.

Esta ação individual, definida no diálogo de ações do MobileTogether, funciona independentemente de o aplicativo ser executado num dispositivo Android, iOS ou Windows, num computador com Windows 10, ou até mesmo num navegador web noutro dispositivo.

Atribuímos a ação "Texto para Voz" diretamente às ações do botão "Falar", mas também pode ser utilizada num grupo de ações. Utilizamos um grupo de ações para o botão "Sair". Quando o utilizador clica em "Sair", queremos tanto exibir uma caixa de mensagem como reproduzir a mensagem em voz, como se pode ver aqui num telemóvel Android:

Aqui estão as ações definidas para o botão "Sair":

A frase "Tem a certeza que pretende sair desta aplicação?" é armazenada na estrutura de dados e utilizada em expressões XPath para a ação de "Texto para voz" destacada e para a caixa de mensagem que aparece abaixo.

Quando o utilizador clica em "OK", uma ação de "Loop" aguarda que a conversão de texto para voz seja concluída antes de o aplicativo ser encerrado.

Atualização da aplicação de entrega de encomendas com funcionalidade de conversão de texto em voz para aplicações móveis

A aplicação de exemplo "Entrega de encomendas" foi originalmente criada para demonstrar como trabalhar com dados de geolocalização no MobileTogether. Nesta simulação, o utilizador é um motorista de uma empresa de entregas, cuja tarefa é transportar encomendas de um armazém no estado de Nova Jérsei para diversos destinos na cidade de Nova Iorque.

Quando cada novo destino é atribuído, a aplicação exibe uma página de "Entrega" com o endereço e a distância atual até o destino, como se pode ver nesta imagem do simulador MobileTogether para um telemóvel Android:

Queremos adicionar a funcionalidade de conversão de texto em voz para cada novo destino e distância, à medida que o condutor se desloca.

Primeiro, podemos adicionar uma nova opção de configuração na página de Configurações, com um botão que permite ativar ou desativar a funcionalidade de conversão de texto em voz. Aqui está a página de Configurações atualizada a funcionar num iPhone:

Ao analisar a página de "Entrega" no ambiente de design, podemos verificar que o destino, a localização atual e a distância até ao destino são todos obtidos a partir de expressões XPath:

As mesmas expressões podem ser atribuídas a ações de conversão de texto em voz. Primeiramente, criámos um grupo de ações para anunciar cada novo destino. A área destacada em azul abaixo mostra a ação de conversão de texto em voz. Utilizamos a função "concat" para adicionar algumas palavras adicionais, de forma a construir uma frase mais natural que inclua o endereço e a distância inicial:

À medida que o condutor se aproxima do destino, a localização é atualizada periodicamente e a distância até ao destino é recalculada. Criámos um segundo grupo de ações para anunciar a nova distância:

O ciclo no topo é semelhante à ação definida para o botão "Sair" da nossa aplicação de demonstração, conforme descrito acima. Neste caso, impede que a nova ação de conversão de texto em voz interrompa a execução se a ação de conversão de texto em voz anterior não tiver terminado. Caso contrário, isso poderia acontecer se uma atualização de geolocalização ocorresse antes da conclusão da vocalização anterior.

Os grupos de ação de texto para voz devem ser chamados durante a execução da aplicação. Em primeiro lugar, podemos colocar o grupo "Vocalize Próximo Destino" na sequência de ações "OnPageLoad" para a página de entrega:

A página de entrega é carregada uma vez para a primeira entrega. Para as entregas subsequentes, podemos adicionar o grupo de ações ao grupo de ações "Continuar para o próximo destino" já existente:

Tudo o que nos resta é adicionar o grupo de ações "Vocalize New Distance" à secção de ações "OnPageRefresh" da página de entrega

Agora, quer o aplicativo funcione no simulador MobileTogether ou em qualquer dispositivo móvel, o utilizador recebe atualizações por voz e não precisa desviar o olhar da estrada!

Pode experimentar a criação de funcionalidades de conversão de texto em voz para aplicações móveis, utilizando o MobileTogether Designer, que é gratuito e inclui ajuda integrada, tutoriais e várias aplicações de exemplo, incluindo uma para entregas de encomendas.

As soluções descritas neste artigo podem ser descarregadas em https://github.com/altova/MobileTogether-TTS

Abra o ficheiro .mtd no programa MobileTogether Designer para analisar como foi criado e, em seguida, execute-o no simulador MobileTogether.

Conecte-se à loja de aplicações do seu dispositivo e descarregue a aplicação móvel MobileTogether. Em seguida, conecte-se ao servidor de demonstração MobileTogether para executar mais aplicações de demonstração. Com a aplicação móvel MobileTogether instalada, também pode experimentar a funcionalidade de conversão de texto em voz para aplicações móveis no seu próprio dispositivo, utilizando o MobileTogether Designer como servidor.