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.

...
Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

Desbloqueie toda a DevMedia

  • +2000 artigos e vídeos
  • +40 trilhas sobre Front-end, Back-end, IA e muito mais
  • +5000 exercícios práticos
  • Mentorias ao vivo individuais
até 50% OFF
A partir de
R$ 79 /mês
Assinar agora