Esse artigo faz parte da revista .NET Magazine edição 51. Clique aqui para ler todos os artigos desta edição

=0>

Boa Idéia

Tecnologia Speech

Aprenda como fazer softwares com comandos e sintetização de voz

 

Não é de hoje que podemos interagir com máquinas através da fala. Houve, porém, uma grande evolução e a tecnologia sofreu refinamentos que permitem uma reprodução mais próxima a nossa linguagem, possibilitando assim desenvolver aplicações mais avançadas.

Existem inúmeras bibliotecas e hardwares no mercado que permitem recursos de texto para voz (text-to-speech) e reconhecimento de voz, como por exemplo, o Speech SDK da Microsoft. O Framework do .NET, a partir da versão 3.0, ganhou uma camada de Speech. Embora ainda não tão difundida quando as demais inovações da versão 3.0, esta camada foi fruto de anos de pesquisa e aprimoramento e por isso merece um destaque especial.

O Microsoft speech SDK 5.1, conjugado com o .net framework 3.5, permite desenvolvimento de aplicações com recursos de voz bastante interessantes. Antes de entrarmos a fundo na programação, é importante conhecermos alguns termos.

Text-to-speech

  Text to Speech é um recurso que sintetiza voz a partir de um texto. Este recurso é explorado desde meados do século passado, porém com o avanço da tecnologia há uma reprodução cada vez mais próxima à fala humana. Uma das principais aplicações desta tecnologia tem sido a leitura para deficientes visuais.

Speech recognition 

  É o processo inverso ao text-to-speech, ou seja, converte a fala humana em texto. Este recurso é muito difundido hoje em telefones celulares. É possível programar frases como “Casa”, e automaticamente o telefone liga para sua casa. Em sistemas mais complexos é possível reconhecer o locutor, sendo assim possível usar esta tecnologia para identificação pessoal.

Microsoft Speech Server

  Com a internet, nos acostumamos a ter acesso à informações a qualquer hora. Porém, isto nem sempre é verdade, pois nem sempre estamos na frente de computadores. Embora existam muitos dispositivos móveis que permitem acesso à internet, devemos assumir que nem todos usuários têm dispositivos móveis, então o que fazer?

         Uma das soluções seria a de utilizar o Microsoft Speech Server (MSS), um servidor para rodar aplicações com suporte a recursos de voz. O MSS pode interagir, por exemplo, com o MS Outlook Voice Access do Microsoft Exchange 2007 Unified Messaging, Windows Speech Recognition do Windows Vista, entre outros. É possível desenvolver aplicações personalizadas, utilizando .net e padrões abertos como SALT (Speech Application Language Tags). O SALT é um XML criado pelo W3C (World Wide Web Consortium) permite interações da voz com telefonia.

Existem inúmeras aplicações que podem ser desenvolvidas com a tecnologia de reconhecimento de voz. Certamente você já deve ter obtido informações de sua conta bancária através do telefone. Para que isto seja possível é utilizada a tecnologia text-to-speech. Existem até pizzarias que possuem aplicações similares permitindo que você faça o pedido através da voz, em que você fala o nome da pizza, a quantidade e a bebida. Após uma confirmação o sistema, então, calcula o valor total do pedido e depois de algum tempo a pizza chega em sua casa.

         Outro exemplos ocorrem em algumas empresas, que possuem sistemas de redirecionamento de chamada através da voz. Você liga para a empresa e uma voz sintetizada pergunta “com quem deseja falar?”. Você responde o nome da pessoa, e após uma confirmação, sua ligação é redirecionada para o ramal dela. Estes sistemas podem garantir grande redução de custo para as empresas, principalmente no longo prazo.

Exemplo e vantagens de aplicações que podem usar voz

  • Auxílio para deficientes visual
  • E-learning
  • Leitor de Texto em Geral (narração)
  • Suporte para aplicativos de PDAs e outros dispositivos móveis
  • Segurança
  • Suporte
  • Call Center
  • Suporte a disléxicos
  • Controle de equipamentos a longa distância, em campo
  • Operações cirúrgicas
  • Aplicações cujo acesso é via telefonia
  • Muito outros...

Visão .net

  Agora que temos uma visão do cenário, vamos ver como desenvolver aplicações que tenham reconhecimento de voz e text-to-speech utlizando a tecnologia .NET.

         Como pré-requisito é necessário ter a versão 3.0 ou superior do .NET Framework. Instale também o Speech SDK 5.1 ou superior.

System.Speech.Recognition Namespace

            Este namespace é o responsável pelo reconhecimento de voz dentro de system.speech. A Tabela 1 mostra uma breve descrição das principais classes deste namespace.

        

Classe

Descrição

AudioLevelUpdatedEventArgs

Classe que manipula eventos gerados quando o nível de áudio do sistema é alterado  .

AudioSignalProblemOccurredEventArgs

Classe que manipula eventos gerados quando há algum problema com o sinal de áudio.

AudioStateChangedEventArgs

Classe que manipula eventos gerados quando há alteração no fluxo do áudio.

Choices

Representa uma lista de alternativas de uma fala.

...
Quer ler esse conteúdo completo? Tenha acesso completo