Como fazer seu computador falar/falar o que você digita

Há um recurso legal no Windows que permite que você faça seu computador falar ou falar(computer talk or speak) o que você disser! Este método tira proveito de uma API interna(API) instalada no Windows XP , Vista , 7, 8 e 10 chamada SAPI ( Speech Application Programming Interface ).

A API de fala da Microsoft(Microsoft Speech API) é usada para o  recurso de acessibilidade(accessibility feature) de conversão de texto em fala incorporado ao Windows . Você também pode escrever programas que chamem a API , o que permitiria que você deixasse seus aplicativos falarem, mas isso é para desenvolvedores.

Apenas fazer seu computador dizer o que você quer é muito fácil, na verdade! Neste artigo, mostrarei como criar um script VBS(VBS script) que receberá uma entrada(text input) de texto de um usuário e depois a falará. Também mencionarei como codificar o texto que você deseja que seja falado e agendar esse script para ser executado em eventos específicos, como iniciar o Windows(Windows) ou fazer logoff.

Texto de entrada, falar mensagem

Vamos começar com um script simples que abrirá uma caixa de diálogo(dialog box) onde você pode digitar o que deseja que o Windows fale. Primeiro(First) , vá em frente e abra o Bloco(Notepad) de Notas .

Etapa 1:(Step 1:)  cole o seguinte texto em um novo documento:

Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
sapi.Speak message

Observe que quando você copia texto do seu navegador da Web e(web browser and paste) o cola no Bloco(Notepad) de Notas , as aspas causarão problemas. Antes de salvar o arquivo, você precisa passar e excluir cada cotação (“) e redigitar a cotação. No exemplo abaixo, há seis citações. Deve ser algo como a imagem abaixo(image below) .

fazer o computador falar

Agora, quando você for salvar o arquivo, dê a ele qualquer nome, mas certifique-se de também digitar .VBS após o nome. Em seguida, para a caixa Salvar como tipo( Save as type) , escolha Todos os arquivos em vez do ( All files)Documentos de texto(Text Documents) padrão .

fazer o computador falar

Agora clique duas vezes no arquivo VBS(VBS file) e você verá uma caixa de entrada(input box) onde você pode digitar o texto que deseja falar! Digite algo(Type something) e clique em OK.

caixa de diálogo falar

Se você fez tudo certo(everything right) , você deve ouvir uma voz masculina ou feminina falar sua frase. Se você receber algum tipo de mensagem de erro(error message) , certifique-se de copiar e colar o texto novamente e substituir essas aspas.

Definir configurações de voz SAPI

Isso é divertido, mas também podemos configurar nosso pequeno computador falante com configurações diferentes. Podemos mudar o volume, quão rápido ou lento a voz fala e mudar o gênero entre masculino e feminino. Aqui está um código(example code) de exemplo onde adicionei algumas linhas extras.

Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
Set sapi.Voice = sapi.GetVoices.Item(1)
sapi.Rate = 0
sapi.volume = 100
sapi.Speak message

A taxa padrão(default rate) é 0 e o intervalo é de -10 a 10. -10 fará a voz falar super devagar e 10 falará super rápido. O volume é padronizado em 100 e o intervalo é de 0 a 100. A linha que começa com Set sapi.Voice permitirá que você mude para outra voz, se instalada em seu sistema.

Observe que o número de vozes que você pode escolher depende do sistema operacional(operating system) . No Windows 7 , há apenas uma voz, Microsoft Anna .

vozes instaladas

No Windows 10 , existem duas vozes: Microsoft David e Microsoft Zira(Microsoft David and Microsoft Zira) , conforme mostrado abaixo.

voz do microsoft davis

voz do microsoft zira

Se houver apenas uma voz instalada em seu sistema, você deve alterar o que diz sapi.GetVoices.Item(1) para sapi.GetVoices.Item(0) , caso contrário, você receberá uma mensagem de erro(error message) ao tentar executar o script. Você também pode criar outro documento do Bloco de Notas e colar(Notepad document and paste) o código abaixo, que informará quais vozes estão instaladas. Salve-o como um arquivo .VBS como mostrado acima e execute-o.

Set VObj = CreateObject(“SAPI.SpVoice”)
For Each Voice In VObj.getvoices
I = I + 1
msgbox “” & (I – 1) & ” – ” & Voice.GetDescription
Next

Até agora, usamos esta caixa de diálogo pop(popup dialog) -up para inserir texto, mas você também pode simplesmente digitar sua mensagem no arquivo de script(script file) . Isso seria útil se você quisesse agendar o script para ser executado automaticamente. Obviamente, isso pode ser usado para brincar com seus amigos e familiares e funciona muito bem.

Imagine alguém ligando o computador e ouvindo o computador dizer “ Olá John(Hello John) , estou com muito sono, por favor, não me incomode hoje!” quando arranca! Eu posso te prometer por experiência própria, é histérico e você definitivamente deveria tentar.

Para codificar a mensagem, basta alterar a última linha para algo assim:

sapi.Speak “Hello John, I am very tired today!”

Arquivo de script de agendamento

Agora que você codificou sua mensagem para o alvo pretendido, basta executá-la quando quiser. Se você é experiente em tecnologia, pode usar um programa como o AutoIt , que permitirá fazer coisas extremas, como executar seu arquivo de script(script file) quando um determinado programa for aberto ou quando uma janela for maximizada ou minimizada.

Eu não tenho tempo para entrar em tudo isso neste post, mas felizmente a Microsoft tem um recurso embutido chamado Agendador de Tarefas(Task Scheduler) que permite que você faça algumas coisas bem complicadas com scripts facilmente.

Minha postagem anterior se aprofunda em como agendar um arquivo de script(script file) para ser executado quando determinados eventos ocorrerem no Windows . Se você tiver algum problema para fazer seu script funcionar, sinta-se à vontade para postar um comentário e tentarei ajudar. Aproveitar!



About the author

Sou um desenvolvedor web com mais de 10 anos de experiência, incluindo 8 anos como engenheiro de software profissional. Também tenho experiência no desenvolvimento de aplicativos e jogos para dispositivos móveis, tanto para desktop quanto para dispositivos móveis. No meu tempo livre, gosto de jogar videogame e assistir filmes, ouvir música, ler livros e fazer jardinagem.



Related posts