Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da .net Magazine DIGITAL
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Síntese de Voz - Revista .Net Magazine 96
Nesse artigo abordaremos o desenvolvimento de uma solução baseada em síntese de voz em português utilizando a linguagem de programação C#. Também será demostrado como utilizar a Microsoft Speech Platform SDK
.net Magazine 96
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da .net Magazine 96
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da .net Magazine 96
Dentro dos conceitos da inteligência artificial existe uma área denominada de processamento de voz, que foi desenvolvida com intuito de permitir ao usuário interagir com o computador através da fala. O processamento de voz aplicasse em algumas áreas, entre elas, a que abordaremos neste artigo, a síntese de voz. Vamos abordar a forma mais usada e conhecida que é representada pela sigla TTS (Text-To-Speech) que em português significa “Texto para Fala” e, basicamente, é o processo de conversão de um texto em ondas sonoras que possam ser compreendidas por nós humanos.
Desde o surgimento das tecnologias de processamento de voz, sua utilização não era muito comum, devido a alguns fatores como dificuldade de implementação, alto custo e baixa confiabilidade. Hoje temos uma realidade totalmente diferente que tornou-se possível graças ao avanço no desenvolvimento de computadores com maior poder de processamento, mais velozes, novas abordagens e tecnologias na área de desenvolvimento de sistemas. Fatores como esse foram indispensáveis na criação das tecnologias que temos hoje como: smartphones, tablets, computação nas nuvens, sistemas complexos de reconhecimento facial, reconhecimento de voz, síntese de voz, entre outros.
Com isso, surge também a necessidade de soluções em software cada vez mais sofisticadas e que venham facilitar a vida dos usuários, cito como exemplo um dispositivos muito conhecido e utilizado hoje, o GPS (Global Position System), a maioria desses aparelhos utiliza a fala para nos guiar, possibilitando que o motorista desprenda atenção total ao transito enquanto o sistema passa as coordenas por meio da fala.
Você deve estar se perguntando, mas como isso é possível, há uma maneira de fazer o computador falar? Sim! E a resposta para essa pergunta está baseada nos conceitos de Síntese de voz, no exemplo do GPS, em sua grande maioria, esses aparelhos utilizam a tecnologia de síntese de voz para transformar as coordenadas obtidas pelo satélite em uma linguagem conhecida por nós como fala.
No decorrer desse artigo apresentarei as tecnologias de processamento de voz desenvolvidas pela Microsoft e também vamos colocar em prática esses conceitos e desenvolver uma aplicação utilizando os recursos dessa plataforma por meio da plataforma .NET e também utilizando a linguagem de programação C#.
Voz x Fala
No decorrer da introdução você deve ter se deparado com essas duas palavras: Voz e Fala, porém qual é a relação ou distinção entre elas, veremos a seguir.
A voz humana é a principal ferramenta de comunicação e é resultado de um completo processo, cujo mecanismo envolve o sistema nervoso central, o sistema fonador e o sistema respiratório. Não podemos deixar de considerar que mesmo que estejamos efetuando a produção de voz por meio de um sistema computacional, a mesma foi gravada por um humano, o computador tem apenas a função de utilizar os conceitos da síntese de voz para reproduzi-la, seja por processo de concatenação, formantes ou qualquer outro existente. Já a fala é um conjunto de sons articulados, que também é essencial no processo de comunicação e está diretamente ligada a voz.
Microsoft Speech Platform SDK
É uma plataforma baseada em processamento de voz desenvolvida pela Microsoft e permite utilizar funções de reconhecimento e síntese de voz. Esse SDK passou a compor o .NET Framework a partir da versão 3.0 e foi resultado de anos de pesquisa e aperfeiçoamento. Possui um sintetizador que tem seu funcionamento baseado em um banco de dados de segmentos sonoros criados a partir de horas e horas de discursos gravados. A eficácia do “back end” depende de quão boa é a seleção dos segmentos sonoros apropriados para a entrada informada e executá-los suavemente.
"
Este é um post disponível para assinantes MVP
Desde o surgimento das tecnologias de processamento de voz, sua utilização não era muito comum, devido a alguns fatores como dificuldade de implementação, alto custo e baixa confiabilidade. Hoje temos uma realidade totalmente diferente que tornou-se possível graças ao avanço no desenvolvimento de computadores com maior poder de processamento, mais velozes, novas abordagens e tecnologias na área de desenvolvimento de sistemas. Fatores como esse foram indispensáveis na criação das tecnologias que temos hoje como: smartphones, tablets, computação nas nuvens, sistemas complexos de reconhecimento facial, reconhecimento de voz, síntese de voz, entre outros.
Com isso, surge também a necessidade de soluções em software cada vez mais sofisticadas e que venham facilitar a vida dos usuários, cito como exemplo um dispositivos muito conhecido e utilizado hoje, o GPS (Global Position System), a maioria desses aparelhos utiliza a fala para nos guiar, possibilitando que o motorista desprenda atenção total ao transito enquanto o sistema passa as coordenas por meio da fala.
Você deve estar se perguntando, mas como isso é possível, há uma maneira de fazer o computador falar? Sim! E a resposta para essa pergunta está baseada nos conceitos de Síntese de voz, no exemplo do GPS, em sua grande maioria, esses aparelhos utilizam a tecnologia de síntese de voz para transformar as coordenadas obtidas pelo satélite em uma linguagem conhecida por nós como fala.
No decorrer desse artigo apresentarei as tecnologias de processamento de voz desenvolvidas pela Microsoft e também vamos colocar em prática esses conceitos e desenvolver uma aplicação utilizando os recursos dessa plataforma por meio da plataforma .NET e também utilizando a linguagem de programação C#.
Voz x Fala
No decorrer da introdução você deve ter se deparado com essas duas palavras: Voz e Fala, porém qual é a relação ou distinção entre elas, veremos a seguir.
A voz humana é a principal ferramenta de comunicação e é resultado de um completo processo, cujo mecanismo envolve o sistema nervoso central, o sistema fonador e o sistema respiratório. Não podemos deixar de considerar que mesmo que estejamos efetuando a produção de voz por meio de um sistema computacional, a mesma foi gravada por um humano, o computador tem apenas a função de utilizar os conceitos da síntese de voz para reproduzi-la, seja por processo de concatenação, formantes ou qualquer outro existente. Já a fala é um conjunto de sons articulados, que também é essencial no processo de comunicação e está diretamente ligada a voz.
Microsoft Speech Platform SDK
É uma plataforma baseada em processamento de voz desenvolvida pela Microsoft e permite utilizar funções de reconhecimento e síntese de voz. Esse SDK passou a compor o .NET Framework a partir da versão 3.0 e foi resultado de anos de pesquisa e aperfeiçoamento. Possui um sintetizador que tem seu funcionamento baseado em um banco de dados de segmentos sonoros criados a partir de horas e horas de discursos gravados. A eficácia do “back end” depende de quão boa é a seleção dos segmentos sonoros apropriados para a entrada informada e executá-los suavemente.
"
A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da .net Magazine DIGITAL
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Vinicius Henrique Manca
Analista desenvolvedor de sistemas, graduado em Sistemas de Informação, atua na área de desenvolvimento a mais de 2 anos, grande parte desse tempo em delphi. Amante das técnologias microsoft, sempre procuro estar atualizado, pesquisar e me envolver em diversos areas de conhecimento
O que você achou deste post?
8 COMENTÁRIOS
Pablo Tôndolo De Vargas
Acredito q o método getInstance explicado no artigo esta com um pequeno problema, pois o mesmo nunca executara a linha 9
[há +1 mês] -
Responder
[autor]
Vinicius Henrique Manca
Obrigado pela dica Pablo, vou verificar qualquer coisa posto aqui...
Não sei se disponibilizaram o projeto no site, caso queira posso enviar pra você.
Abraço.
Não sei se disponibilizaram o projeto no site, caso queira posso enviar pra você.
Abraço.
[há +1 mês] -
Responder
Wesley Yamazack
Olá Paulo, caso você precise basta ir no link da revista e lá baixar os fontes na parte superior da página : http://www.devmedia.com.br/revista-net-magazine-96/24340
Um abraço
Um abraço
[há +1 mês] -
Responder
[autor]
Vinicius Henrique Manca
Olá Pablo, desculpe pela demora na resposta, verifiquei o seu comentário e realmente este método estava com uma pequena falha, na realidade a linha 9 não precisa ser executada a todo momento, e sim apenas quando a primeira instancia da classe fosse criada, por que como é a referência de um botão e essa referência não é alterada em momento algum, podemos fazer assim:
01 public static Sintetizador getInstance(ref Button botao)
02 {
03 lock (objLock)
04 {
05 if (GerenciaInstacia == null)
06 {
07 GerenciaInstacia = new Sintetizador();
08 RefBotao = botao;
09 }
10
11 return GerenciaInstacia;
12 }
13 }
01 public static Sintetizador getInstance(ref Button botao)
02 {
03 lock (objLock)
04 {
05 if (GerenciaInstacia == null)
06 {
07 GerenciaInstacia = new Sintetizador();
08 RefBotao = botao;
09 }
10
11 return GerenciaInstacia;
12 }
13 }
[há +1 mês] -
Responder
[autor]
Vinicius Henrique Manca
Acabei esquecendo, obrigado pela observação.
Abraço.
Abraço.
[há +1 mês] -
Responder
Wagner Pereira
Fiz passo a passo do que foi passado, porém quando clico no botão efetuar leitura somente o caption do botão muda, nada mais acontece.
[há +1 mês] -
Responder
Wesley Yamazack
Olá Wagner, entramos em contato com o Vinicius para que ele possa te auxiliar, tudo bem ? Peço que aguarde um pouco até que o mesmo possa retornar o contato.
Um abraço
Um abraço
[há +1 mês] -
Responder
[autor]
Vinicius Henrique Manca
Olá Wagner, tudo bem?
Você possui a versão 4.0 do .NET Framework instalada?
Instalou todos os pacotes na mesma ordem que foram citados no artigo?
Qual Sistema Operacional você está utilizando?
Responda essas dúvidas para que fique mais fácil te ajudar.
Obrigado.
Abraço.
Você possui a versão 4.0 do .NET Framework instalada?
Instalou todos os pacotes na mesma ordem que foram citados no artigo?
Qual Sistema Operacional você está utilizando?
Responda essas dúvidas para que fique mais fácil te ajudar.
Obrigado.
Abraço.
[há +1 mês] -
Responder
Cursos relacionados
Publicidade



