Translate this page now :



»Programação
»Programação.NET
»Banco de Dados
»Webdesign
»Office
» Certificações Microsoft 4
»Treinamentos4
»Programação 4
»Webdesign«
»Office & User Tips«
»Grupos de Usuários
»Células Acadêmicas«
intcontpiada : 118
Banheiro moderno
Você já está cadastrado e participa do grupo de usuários de sua cidade ? Se não, comente o porque.
 
 
Faça um pequeno teste com 10 questões de VB
.:.
Teste seus conhecimentos em Visual Basic, SQL Server e ASP 3.0 com nossas provas on-line
.:.
Aprimore seus conhecimentos em programação com nosso treinamento on-line de lógica de programação
.:.
Veja nosso calendário de treinamentos
Gostou da Página?
Então

para um amigo!

Pesquisa personalizada
Pesquisar Dicas:

 






Fazendo sua aplicação falar


Com a evolução tecnologica fica cada vez mais importante que nossos sistemas acompanhem a modernidade e se aproveitem dos recursos de hardware atuais, tal como multimídia, para a realização de suas tarefas. A utilização de tais recursos de hardware pode ser mais simples do que parece.

O Visual Basic pode utilizar um componente chamado TextToSpeech, contido na biblioteca Microsoft Voice Text que acompanha o Microsoft Agent para que sua aplicaçãso fale com o usuário. Caso você não tenha esse componente em sua máquina você pode downloadea-lo aqui. Para adicionar esse componente na aplicação utilize o menu Project->Components.

O componente Text-to-Speech necessita da instalação de um conjunto de vozes na máquina para poder reproduzir som. Para baixar um conjunto de vozes padrão clique aqui. Uma opção para ampliar o conjunto de vozes utilizado é utilizar o programa em conjunto com o Via Voice da IBM, que disponibiliza uma série de vozes que podem ser utilizadas pelo Text-to-Speech. Para gerenciar as vozes instaladas em sua máquina baixe o Speech control panel. Ele adiciona um ícone ao seu painel de controle permitindo o gerenciamento das vozes existentes.

Para começar, vamos adicionar uma combobox, uma caixa de texto e um botão. Na combobox escolheremos o padrão de voz que desejaremos utilizar, na caixa de texto digitaremos o texto e o botão será o responsável pela reprodução. Vamos chama-los respectivamente de cmbVoiceType,txtText e cmdSpeak. Precisaremos adicionar também o componente TextToSpeech que deixaremos com o nome de TextToSpeech1.

No load do formulário vamos definir uma determinada voz com sendo a voz default para fala de textos e carregaremos a combobox com todas as opções de voz existentes. Veja este trecho :

Private Sub Form_Load()
Dim strVoiceType As String
Dim intEngine As Integer
Dim i As Integer


intEngine = TextToSpeech1.Find("Mfg=Microsoft;Gender=1")
TextToSpeech1.Select intEngine

Está sendo feita uma localização no componente TextToSpeech1. Foi solicitado que ele localize o 1o Engine construido pela Microsoft que tenha voz feminina. A variável intEngine recebe o índice deste engine e, na instrução seguinte é utilizada para seleciona-lo.

Feito isso precisamos carregar a combobox com as opções de vozes. Veja :

For i = 1 To TextToSpeech1.CountEngines
    strVoiceType = TextToSpeech1.ModeName(i)
    cmbvoicetype.AddItem strVoiceType
Next i

Fazemos um FOR através das Engines existentes e preenchemos a combobox com o nome de cada uma delas. Por fim falta apenas selecionar na combobox a voz que escolhemos como Default. Veja :

cmbvoicetype.ListIndex = TextToSpeech1.CurrentMode - 1

Veja o código do Load completo :

Private Sub Form_Load()
Dim strVoiceType As String
Dim intEngine As Integer
Dim i As Integer

intEngine = TextToSpeech1.Find("Mfg=Microsoft;Gender=1")
TextToSpeech1.Select intEngine

For i = 1 To TextToSpeech1.CountEngines
    strVoiceType = TextToSpeech1.ModeName(i)
    cmbvoicetype.AddItem strVoiceType
Next i

cmbvoicetype.ListIndex = TextToSpeech1.CurrentMode - 1

End Sub

No click da combobox deveremos selecionar no TextToSpeech1 a voz escolhida pelo usuário. Veja :

Private Sub cmbVoiceType_Click()
    TextToSpeech1.CurrentMode = cmbvoicetype.ListIndex + 1
    If (TextToSpeech1.Gender(TextToSpeech1.CurrentMode) = 1) Then
        TextToSpeech1.LipType = 0
    Else
        TextToSpeech1.LipType = 1
    End If
End Sub

Observe que a propriedade LipType controla a aparencia dos lábios exibidos pelo componente : Se forem femininos aparecem mais avermelhandos, como se estivessem com batom.

Por fim falta apenas realizar a fala quando o usuário clicar no botão. Veja :

Private Sub cmdSpeak_Click()
   TextToSpeech1.Speak txttext.Text
End Sub

Está pronto o projeto. Sua aplicação já poderá falar o que você desejar. Será interessante aplicar isso em softwares comerciais de forma que a aplicação exponha verbalmente o resultado de uma requisição qualquer.

Baixe o código fonte referente a este artigo.

 

Dennes Torres
MCSD,MCSE,MCDBA

 

 

 

 

 

 

 

 





Envie seus comentários sobre este artigo

Nome :

E-mail :

Comentários :


Avise-me quando houverem novos comentários nesta página

Veja abaixo os comentários já enviados :

Nome : Bianca E-Mail : biancaariel@hotmail.com
Bi,olha isso
Nome : André E-Mail : decosouza@gmail.com
Juntamente com voice text vem o Vcommand. Utilizando o vcommand é possível usar comando de voz? se é como faço isso?

Obrigado!
Nome : odson werneck E-Mail : odsonwerneck@yahoo.com.br
Meu amigo, adorei sua ideia e boa vontade em ajudar os que pouco sabem mas infelizmente fiz o download de seu programa e não consegui fazer a boca falar nada.
da sempre um erro
mas de qualquer forma muito obriga.
odson
Acredite que este comentário é construtivo... obrigado novamente.
se puder me ajudar de qualquer forma fico agradecido.
Nome : Daniel E-Mail : programador_2001@yahoo.com.br
Realmente gostaria de saber tb como faço pra utilizar o componente Vcommand e realmente qual a função dele?

Fico muito grato por me ajudarem.
Nome : valter E-Mail : valterrossovskii@ig.com.br
voz
Nome : Edson Pontes E-Mail : rangelzito_skywalker@hotmail.com
Realmente o projeto é bom funcionou legal, realmente a boca fala.
Testei no Visual Basic 6 sp5.
Nome : Dalva Celeste E-Mail : adulisdalva celeste@terra.com.br
Speech control panel

Esssa página não abre.
Nome : wagner E-Mail : wagner@lookinformatica.com.br
FIZ E DEU CERTO.QUERIA SABER SE TEM COMO MELHORAR O PORTUGUES DA BOCA, POIS AS
VEZES ELA EMBOLA A LINGUA.
Nome : wagner E-Mail : wagner@lookinformatica.com.br
POR FAVOR PRECISO SABER ,COM MUITA URGÊNCIA, COMO FUNCIONA O VCOMMAND NO VB6.
FICO NO AGUARDO
Obrigado
Nome : Leandro Peres E-Mail : leandro_peres12@hotmail.com
show de bola cara, parabéns, um dos melhores códigos que já vi.
Nome : Leandro Peres E-Mail : leandro_peres12@hotmail.com
se possivel, vc pode me dar algumas dicas de como faço para ele receber minha voz, desde já agradeço.

Att.
Leandro Peres
Nome : Pedro E-Mail : pedro.kuramoto@gmail.com
Bom dia amigo,
Vi seu código e estou com um problema. Aqui apareceu algo assim ao colocar em components: "The File "...\spchapi.exe" was not registareble as an Activex Compoment."

Se puder me ajudar seria grato.
Att.
Pedro Kuramoto
pedro.kuramoto@gmail.com

Nome : Anderson Fernandes E-Mail : anderson.fernandes@lark.com.br
Fazer o vb falar, interessante, porem,
nenhum download funcionou.

Nome : Ruberto E-Mail : ruberto@cootgassp.com.br
Não consegui fazer download do componente através deste link, poderia me enviar um outro link para baixar o componente e o conjunto de vozes?
Nome : Jefferson E-Mail : choco1910@hotmail.com
Cara....

Este componente tbm funciona no Windows 2003?

Não estou conseguindo...

Valew!

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Conheça mais sobre o nosso site :

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



Quer saber mais?
Faça um curso na Búfalo Informática, Treinamento e Consultoria e
Prepare-se para o Mercado!
Veja o que a Búfalo tem para você.

© Búfalo Informática, Treinamento e Consultoria - Rua Álvaro Alvim, 37 Sala 920 • Cinelândia • Rio de Janeiro • RJ
Tel.: (21)2262-1368 • e-Mail:
contato@bufaloinfo.com.br