quarta-feira, 7 de dezembro de 2016

.NET: Configurando o Microsoft Speech

Esses dias precisei utilizar o Microsoft Speech para usar o sintetizador de voz: a tarefa é simples: o programa precisava ler em voz alta uma mensagem. Então, vamos ver o que precisa para executar esta tarefa.

1. Download e Instalações dos Pacotes
Os pacotes de instalação podem ser encontrados neste site da Microsoft:
https://msdn.microsoft.com/en-us/library/office/hh361572.aspx 

Aqui temos três links de executáveis que precisaremos fazer o download: o primeiro, é o link do Microsoft Speech Platform SDK. Ele vai instalar um arquivo DLL que utilizaremos no projeto. E muita atenção também com a questão 32bits ou 64bits. Isso vai impactar a configuração no futuro.

O segundo link é o Microsoft Speech Platform Runtime, é ele que vai contér alguns API que o SDK utilizará, por isso deve ser instalado no servidor caso você pretende utilizar na Web.

E o último link é o Redistributable Language Pack, para adicionar novos idiomas. Os arquivos que possuem o sufixo TELE, são usados para reconhecimento de voz, enquanto os que possuem um nome como sufixo, são vozes para o sintetizadores, no caso do Brasil, o nome é Heloisa.

Baixe os arquivos e instale. Todos eles utilizam instaladores padrão do Windows, logo é apenas clicar em Avançar, Avançar, Finalizar.

2. Configurando o Microsoft Studio
Uma vez instalado todos os pacotes, agora vamos configurar o projeto. No projeto em que você deseja adicionar o Microsoft Speech, clique com botão direito em "Referências (References)"  e clique em "Adicionar Referência (Add Reference)".

Na tela de adicionar referências, clique no botão de procurar, e vá até a pasta onde está instalado o SDK (por padrão, é localizado em C:\Program Files\Microsoft SDKs\Speech\v11.0) e entre na pasta Assembly. Nele está o arquivo Microsoft.Speech.dll, que é o arquivo que queremos.

Infelizmente, o Speech exige que escolhemos uma plataforma x86 ou x64. Então, para cada projeto envolvido na solução, vamos clicar com o botão direito e ir em "Propriedades" (Properties). Na aba "Build", existe a propriedade "Plataform Target" (Plataforma Alvo). Aqui provavelmente vai estar selecionado "Any CPU", entretanto, precisaremos fixar para a versão do DLL na qual foi baixado.

A partir daqui, já é possível codificar usando o Microsoft Speech, entretanto, para projetos Web 64 bits, ainda preciso mais uma configuração envolvendo o IIS Express: Clique em "Tools" e em seguida em "Options...". Na lista lateral, dentro de "Projects and Solutions", selecione o "Web Projects". Aqui terá uma opção que diz "Use the 64 bit version of IIS Express for web sites and projects" (Usar a versão 64 bits do IIS Express para web sites e projetos). Deixe a caixa selecionado e dê ok.

A partir daqui a configuração está concluída.

3. Testando no Código

Em algum lugar do programa,

using Microsoft.Speech.Synthesis;


...

public void testar(){
   SpeechSynthesizer speechEngine = new SpeechSynthesizer();
   speechEngine.SetOutputToDefaultAudioDevice();

   speechEngine.Speak("Testando o speaker");
}

Se tudo estiver configurado corretamente, o programa deve falar "Testando o speaker". Caso esteja em um projeto web, talvez seja necessário invocar o método em uma nova thread, no qual pode ser visto aqui.

Nenhum comentário:

Postar um comentário