Use o Sintetizador de voz do Director no Flash

text2speech

O Adobe Director a muito tempo foi superado pelo Flash, principalmente em popularidade. Mas existem alguns recursos no Director que o Flash não possui ou tem uma baixa performance. É o caso da síntese de fala. O Adobe Director possui acesso ao sintetizador de voz através do speech xtra que vem com o produto.

Explicando melhor o Director consegue falar um texto através de um simples comando. A síntese de voz é um recurso pouco utilizado pela maioria dos usuários de computador mas pode ser útil em muitos casos e também divertido. O problema maior é que a voz padrão que vem no windows é em inglês , além de ter um som muito pouco convincente.

Mas existem pacotes com voz em português e se você conseguir um bom sintetizador de voz em português poderá usar no Director.

Como fazer o Flash se comunicar com o Director e acionar o sintetizador de voz. Para isso crie um arquivo SWF na versao 7 (o Adobe Director nao importa flash 9 , a não ser na versao a partir da versao 11)

No flash adicione o seguinte :

function clearMsg() {
   msg.text = “”;
}

function sendMsg() {
   getURL(“lingo:sendMsg(\””+msg.text+”\”)”);
}

clearBtn.addEventListener(“click”, clearMsg);
speakBtn.addEventListener(“click”, sendMsg);

msg  é o componente de texto de entrada.
clearBtn é o componente botao “limpar”.
speakBtn é o componente botão “falar”.

A função principal é  sendMsg() que usa o comando  getURL() com um evento em lingo , que chama outra função ,  sendMsg() no Director, com  msg.text passado como unico parametro.

No Director você deverá usar o seguinte script , aqui escrito em Javascript (o Director pode usar o Javascript no lugar do Lingo, sua linguagem nativa):

Coloque esse script no moviescript.

function startMovie() {
   var err = voiceInitialize();
   var msg = “Here you go.”;
   if (err==1) {
   voiceSpeak(msg);
   }
   member(“msg”).text = “”;
}

function sendMsg(m) {
   sprite(“msg”).member.text = m;
   voiceSpeak(m);
}

No Director , a função  startMovie() será executada logo no inicio do movie. Ela testa se a função de sintese de voz está pronta no sistema (Windows) usando a função Voiceinitialize() . O comando  sendMsg(m)  é o unico chamado pelo Flash. Ele copia o parametro de texto ” m”  para o sprite chamado “msg” e fala o seu texto com o comando voiceSpeak() .

Para que isso funcione no Director você deve inserir um sprite de texto com o nome “msg” no stage.

Você importa o swf do flash na versao 7 para dentro do Director e publica o shockwave do Director e coloca na internet. Desta forma poderá integrar o Flash com o Director e usar o melhor de cada programa.

Anúncios
Esse post foi publicado em dicas, Director e marcado . Guardar link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s