Existe um recurso interessante no Windows que permite que você faça seu computador falar ou falar o que você disser! Esse método aproveita uma API integrada instalada no Windows XP, Vista, 7, 8 e 10 chamada SAPI (Speech Application Programming Interface).
A Microsoft Speech API é usada para o recurso de acessibilidade de conversão de texto em fala integrado ao Windows. Você também pode escrever programas que chamam a API, o que permitiria que seus aplicativos falassem, mas isso é para desenvolvedores.
Índice
- Inserir texto, falar mensagem
- Definir configurações de voz SAPI
- Agendar Arquivo de Script
Apenas fazer seu computador dizer o que você quer é muito fácil, na verdade! Neste artigo, mostrarei como criar um script VBS que receberá uma entrada de texto de um usuário e a falará. Também mencionarei como codificar o texto que você deseja falar e, em seguida, agendar esse script para ser executado em eventos específicos, como iniciar o Windows ou fazer logoff.
Inserir texto, falar mensagem
Vamos começar com um script simples que abrirá uma caixa de diálogo onde você pode digitar o que deseja que o Windows fale. Primeiro, vá em frente e abra o Bloco de Notas.
Passo 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 o texto do navegador da Web e o cola no Bloco de Notas, as aspas causam problemas. Antes de salvar o arquivo, você precisa excluir cada citação (“) e redigitá-la. No exemplo abaixo, há seis aspas. Deve ser algo como a imagem abaixo.
Agora, quando for salvar o arquivo, dê a ele qualquer nome, mas certifique-se de digitar também .VBS após o nome. Em seguida, para a caixa Salvar como tipo , escolha Todos os arquivos em vez dos Documentos de texto padrão.
Agora clique duas vezes no arquivo VBS e você verá uma caixa de entrada onde você pode digitar o texto que deseja falar! Digite algo e clique em OK.
Se você fez tudo certo, deve ouvir uma voz masculina ou feminina falar sua frase. Se você receber qualquer tipo de mensagem de erro, copie e cole o texto novamente e substitua as aspas.
Definir configurações de voz SAPI
Isso é divertido, mas também podemos configurar nosso pequeno computador falante com configurações diferentes. Podemos alterar o volume, a rapidez ou a lentidão com que a voz fala e alterar o gênero entre masculino e feminino. Aqui está um código 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 é 0 e o intervalo é de -10 a 10. -10 fará com que a voz fale super devagar e 10 fale super rápido. O volume padrão é 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. No Windows 7, há apenas uma voz, Microsoft Anna.
No Windows 10, há duas vozes: Microsoft David e Microsoft Zira, conforme mostrado abaixo.
Se houver apenas uma voz instalada em seu sistema, você deve alterar sapi.GetVoices.Item(1) para sapi.GetVoices.Item(0) , caso contrário, você receberá uma mensagem de erro ao tentar executar o script. Você também pode criar outro documento do Bloco de Notas e colar 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 essa caixa de diálogo pop-up para inserir texto, mas você também pode simplesmente digitar sua mensagem no arquivo de script. Isso seria útil se você quisesse agendar o script para ser executado automaticamente. Obviamente, isso pode ser usado para pregar peças em seus amigos e familiares e funciona muito bem.
Imagine alguém ligando o computador e ouvindo o computador dizer “Olá John, estou com muito sono, por favor, não me incomode hoje!” quando ele inicializa! Posso prometer por experiência própria, é histérico e você definitivamente deveria tentar.
Para codificar a mensagem, basta alterar a última linha para algo como isto:
sapi.Speak “Hello John, I am very tired today!”
Agendar Arquivo de Script
Agora que você codificou sua mensagem para o destino pretendido, basta executá-la quando quiser. Se você entende de tecnologia, pode usar um programa como o AutoIt , que permite fazer coisas extremas, como executar seu arquivo de script quando um determinado programa é aberto ou quando uma janela é maximizada ou minimizada.
Não tenho tempo para entrar em tudo isso neste post, mas felizmente a Microsoft tem um recurso integrado chamado Agendador de Tarefas que permite que você faça algumas coisas bem complicadas com scripts facilmente.
Minha postagem anterior aprofunda em como agendar um arquivo de script 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. Apreciar!