Como fazer o sistema falar - Delphi

Veja neste artigo como fazer o sistema falar, através da importação de um Activex, podemos importar esta funcionalidade para dentro do Delphi.

Já assisti muitos filmes sobre os hackers. Geralmente um homem jovem senta-se na frente de seu computador e fala com seus sistemas, dá comandos de voz e o computador como um servo estudioso, trabalha sem encostar no teclado. Apesar do fato da capacidade e reconhecimento de fala está constantemente evoluindo e melhorando. Evidentemente, que neste momento, é muito difícil estabelecer um sistema de controle de computador, que seria reconhecido por milhares de comandos e executar esses comandos. Mas, temos o Speech API, um conjunto de interfaces de Fala e Reconhecimento de Voz: Mais neste artigo usando SAPI vamos ensinar seu computador falar.

Microsoft Speech API (SAPI) tem um voz feminina e conhecida como Anna e fala a língua inglesa.

O primeiro passo para usar SAPI devemos importado o Activex para o Delphi. Então abra a IDE do Delphi, selecione menu principal, "Component Import Component" na janela seguinte escolha a opção "Import Type Library", conforme imagem a baixo e clique em "Avançar":


Figura 1. Type of Component.

Agora encontrar o "Microsoft Speech Object Library", selecioná-lo, clique em "Avançar"


Figura 2. Registered Type Libraries.

Na nova janela, selecione a opção "Generate Component Wrappers" e clique em "Concluir":

Uma Unit chamada SpeechLib_TLB.pas será criada e salva por default no caminho que esta no campo Unit Dir Name: no código fonte esta disponível o arquivo SpeechLib_TLB.pas.


Figura 3. Component.

Agora estamos pronto para trabalhar com SAPI 5.4.

Crie um novo projeto VCL inclua um componente TEdit e um componente TButton como segue figura abaixo e vamos fazer a Anna ler nossas mensagens.


Figura 4. Layout do Formulário.

No Evento OnClick do Button1 implemente o código abaixo: procedure TForm1.Button1Click(Sender: TObject); var gpIVTxt: ISpVoice; Pool: LongWord; begin gpIVTxt:=CoSpVoice.Create as ISpVoice; gpIVTxt.Speak(PChar(Edit1.Text),SVSFDefault,Pool); end;

Agora você pode executar este programa, escreva no campo Edit1 "I LOVE DELPHI" ou qualquer outra frase em inglês, pressione o botão ouça a Anna falar.


Figura5. Programa em execução.

Existe outra forma de fazer a Anna ler, arquivos TXT, vamos incluir mais 2 componentes em nosso projeto mais um TButton e um TOpenDialog, como segue a imagem abaixo:


Figura 6. Layout do Formulário.

Listagem 2: No Evento OnClick do Button2 implemente o código abaixo:

procedure TForm1.Button2Click(Sender: TObject); var gpIVTxt: ISpVoice; Pool: LongWord; begin if OpenDialog1.Execute then Edit1.Text := OpenDialog1.FileName; gpIVTxt := CoSpVoice.Create as ISpVoice; gpIVTxt.Speak(PChar(Edit1.Text), SVSFIsFilename, Pool); end;

Agora crie um arquivo que contém um texto em inglês e tenha em conta todos os sinais de pontuação. Clique no botão Arquivo TXT e ouça a voz de Anna lendo todo o arquivo.

Este é um simples exemplo, pesquise sobre Microsoft Speech API que vai encontrar outros idiomas e outros Agent "vozes" além de Anna.

Um grande abraço a todos e paz no coração!

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados