Boa tarde.
Alguém conhece algum programa que pronuncia o nome das teclas quando pressionadas?
Por exemplo: teclo a tecla “a” e ela é dita pelo programa.
Preciso de um software que inclua todas as teclas do teclado, não somente as letras do alfabeto.
E principalmente que seja possível configurar para que eu possa adicionar outras teclas, renomear e alterar com vozes de outros idiomas.
Ou seria possível fazer isso através do AutoHotKey?
Associar comandos a áudios de sintetizadores pronunciando as teclas, já gravados, em pastas do meu PC[?]...
Acessibilidade [1] - Visão - Conhecer O Teclado Topic is solved
Moderator: Gio
Re: Acessibilidade [1] - Visão - Conhecer O Teclado
Boa tarde VadoJMS.
As versões recentes do Windows em Português têm suporte nativo para Text-To-Speech (Texto-Para-Fala ou TTS). Uma das formas de criar uma conexão é através de um objeto COM, tecnologia suportada pelo AutoHotkey.
As versões recentes do Windows em Português têm suporte nativo para Text-To-Speech (Texto-Para-Fala ou TTS). Uma das formas de criar uma conexão é através de um objeto COM, tecnologia suportada pelo AutoHotkey.
Code: Select all
Texto_Para_Voz := ComObjCreate("SAPI.SpVoice")
Texto_Para_Voz.volume := 100
Texto_Para_Voz.Speak("Olá, sou a assistente de voz da microsoft.")
Texto_Para_Voz.Speak("Se você estiver usando uma versão do Windows em português, deve compreender esta mensagem falada.")
"What is suitable automation? Whatever saves your day for the greater matters."
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Re: Acessibilidade [1] - Visão - Conhecer O Teclado
Boa noite, Gio.
Preciso que as teclas sejam ditas, não o texto que está escrito na tela.
Pressiono “b” o programa diz: “b”. Pressiono “Shift” o programa diz: “Shift” e assim por diante.
Acredito que você compreendeu esse ponto, só estou explicitando para não ter engano.
Veja se eu entendi:
Esse código que você enviou “se comunica” com o programa de voz padrão do Windows, sendo assim, o que é escrito dentro dos parenteses com aspas será dito?
Se for mesmo isso, como eu faço para associar as teclas ao que será dito pelo programa de voz padrão do Windows?
Tecla “Page Up” pressionada. Programa diz: “Page Up”.
Como eu faço isso no script?
ADENDO
Quero deixar claro que se eu não estiver entendido tudo errado e for mesmo conforme o que disse acima já é uma ótima forma de suprir essa necessidade.
No entanto, gostaria de saber se existem mais opções de vozes no Windows. Podendo variar entre masculino e feminino, além dos tons.
Pois se não for possível, ficará enfadonho conviver eternamente com aquela mesma voz sempre que pressionar as teclas.
Preciso que as teclas sejam ditas, não o texto que está escrito na tela.
Pressiono “b” o programa diz: “b”. Pressiono “Shift” o programa diz: “Shift” e assim por diante.
Acredito que você compreendeu esse ponto, só estou explicitando para não ter engano.
Veja se eu entendi:
Esse código que você enviou “se comunica” com o programa de voz padrão do Windows, sendo assim, o que é escrito dentro dos parenteses com aspas será dito?
Se for mesmo isso, como eu faço para associar as teclas ao que será dito pelo programa de voz padrão do Windows?
Tecla “Page Up” pressionada. Programa diz: “Page Up”.
Como eu faço isso no script?
ADENDO
Quero deixar claro que se eu não estiver entendido tudo errado e for mesmo conforme o que disse acima já é uma ótima forma de suprir essa necessidade.
No entanto, gostaria de saber se existem mais opções de vozes no Windows. Podendo variar entre masculino e feminino, além dos tons.
Pois se não for possível, ficará enfadonho conviver eternamente com aquela mesma voz sempre que pressionar as teclas.
Re: Acessibilidade [1] - Visão - Conhecer O Teclado
Você pode usar hotkeys para fazer isso. Basta criar uma lista de hotkeys que seja completa (com todas as teclas do seu teclado), e colocar um comando de voz em cada uma correspondente à pronúncia daquela tecla.VadoJMS wrote:Esse código que você enviou “se comunica” com o programa de voz padrão do Windows, sendo assim, o que é escrito dentro dos parenteses com aspas será dito?
Se for mesmo isso, como eu faço para associar as teclas ao que será dito pelo programa de voz padrão do Windows?
O código abaixo mostra como fazer isso para as teclas a, b, Page Up e Shift. Você pode verificar como foram feitas essas quatro e acresentar no código as outras hotkeys conforme seja necessário. A lista completa de nomes de hotkeys pode ser consultada neste link.
Code: Select all
Texto_Para_Voz := ComObjCreate("SAPI.SpVoice")
Texto_Para_Voz.volume := 100
Return
~a::
Texto_Para_Voz.Speak("a")
Return
~b::
Texto_Para_Voz.Speak("b")
Return
~pgup::
Texto_Para_Voz.Speak("Pg á pi")
Return
~Shift::
Texto_Para_Voz.Speak("Shift")
Return
Existem sim, mas isso varia muito dependendo da versão do Windows. Na minha (Windows 8.1 Single Language), só há três opções, sendo que uma é para falar em espanhol, a outra em português e a outra em inglês, e todas as vozes são femininas. Algumas versões têm também voz masculina ou então opções diferentes. Você pode ver as opções disponíveis e mudar a voz entre elas mudando diretamente as configurações padrões de texto para fala do Windows. Você também pode escolher entre as opções diretamente no código do script. Para fazer isso é só acrescentar a linha a seguir antes do primeiro return. Mude o número no parâmetro do método Item() para escolher entre as várias opções disponíveis.gostaria de saber se existem mais opções de vozes no Windows. Podendo variar entre masculino e feminino, além dos tons.
Code: Select all
Texto_Para_Voz.GetVoices().Item(2)
"What is suitable automation? Whatever saves your day for the greater matters."
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Re: Acessibilidade [1] - Visão - Conhecer O Teclado
Muito bom, Gio!
Conferi aqui e na minha versão têm as vozes: Maria, Daniel e Zira.
Engraçado, apesar de trocar no Windows e escolher uma voz apenas, o script ativa duas outras vozes femininas para cada tecla.
Vou fuçar mais para ver se eu consigo resolver.
O empecilho que me desapontou foi a velocidade.
Tem como tirar essa pausa de três segundos?
Teclo: “a” ouço depois de três segundos, teclo outra tecla ai só depois de mais três segundos que eu consigo ouvir...
Seria perfeito se eu pudesse clicar “a” e se a tecla ainda estiver pressionada permanecer “aaaa” até soltar.
Acompanhar o ritmo da digitação, sabe?
“a”, “b”, “Delete”, etc. Serem lidas direto sem essas pausas.
Conferi aqui e na minha versão têm as vozes: Maria, Daniel e Zira.
Engraçado, apesar de trocar no Windows e escolher uma voz apenas, o script ativa duas outras vozes femininas para cada tecla.
Vou fuçar mais para ver se eu consigo resolver.
O empecilho que me desapontou foi a velocidade.
Tem como tirar essa pausa de três segundos?
Teclo: “a” ouço depois de três segundos, teclo outra tecla ai só depois de mais três segundos que eu consigo ouvir...
Seria perfeito se eu pudesse clicar “a” e se a tecla ainda estiver pressionada permanecer “aaaa” até soltar.
Acompanhar o ritmo da digitação, sabe?
“a”, “b”, “Delete”, etc. Serem lidas direto sem essas pausas.
Re: Acessibilidade [1] - Visão - Conhecer O Teclado Topic is solved
Não entedi. Uma tecla só está ativando duas falas, é isso? Se for, verifique se não têm dois scripts rodando juntos ou coisa parecida.VadoJMS wrote:Muito bom, Gio!
Conferi aqui e na minha versão têm as vozes: Maria, Daniel e Zira.
Engraçado, apesar de trocar no Windows e escolher uma voz apenas, o script ativa duas outras vozes femininas para cada tecla.
Vou fuçar mais para ver se eu consigo resolver.
Dá pra tirar a pausa e também dá pra acelerar a fala da assistente, mas há ressalvas no que você perguntou. É importante ter em mente que várias chamadas de "a" seguidas em um curto espaço de tempo NÃO é a mesma coisa que uma chamada "aaaaa". Tendo dito isto, como as duas coisas podem ser feitas, acho que o que você quer é algo próximo do script abaixo.O empecilho que me desapontou foi a velocidade.
Tem como tirar essa pausa de três segundos?
Teclo: “a” ouço depois de três segundos, teclo outra tecla ai só depois de mais três segundos que eu consigo ouvir...
Seria perfeito se eu pudesse clicar “a” e se a tecla ainda estiver pressionada permanecer “aaaa” até soltar.
Acompanhar o ritmo da digitação, sabe?
“a”, “b”, “Delete”, etc. Serem lidas direto sem essas pausas.
Code: Select all
#SingleInstance, Force
SetBatchLines, -1
Texto_Para_Voz := ComObjCreate("SAPI.SpVoice")
Texto_Para_Voz.volume := 100
Texto_Para_Voz.Rate := 7
Texto_Para_Voz.WaitUntilDone(-1)
Return
~a::
If ((A_TimeSincePriorHotkey < 100) AND (A_TimeSincePriorHotkey > 0) AND (A_PriorHotkey = A_ThisHotkey))
{
Texto_Para_Voz.Speak("aaaaaaaaaaaaaaaaaa", 0x2)
}
else
{
Texto_Para_Voz.Speak("a", 0x3)
}
Return
~b::
If ((A_TimeSincePriorHotkey < 100) AND (A_TimeSincePriorHotkey > 0) AND (A_PriorHotkey = A_ThisHotkey))
{
Texto_Para_Voz.Speak("bbbbbbbbbbbbbbbbb", 0x2)
}
else
{
Texto_Para_Voz.Speak("b", 0x3)
}
Return
~pgup::
If ((A_TimeSincePriorHotkey < 100) AND (A_TimeSincePriorHotkey > 0) AND (A_PriorHotkey = A_ThisHotkey))
{
Texto_Para_Voz.Speak("Ppppppppppppp", 0x2)
}
else
{
Texto_Para_Voz.Speak("Pg á pi", 0x3)
}
Return
~Shift::
If ((A_TimeSincePriorHotkey < 100) AND (A_TimeSincePriorHotkey > 0) AND (A_PriorHotkey = A_ThisHotkey))
{
Texto_Para_Voz.Speak("xixixixixixixixixi", 0x2)
}
else
{
Texto_Para_Voz.Speak("Shift", 0x3)
}
Return
A opção 0x3 é a opção que elimina a pausa entre chamadas. Ela funciona basicamente assim: quando você faz uma chamada, qualquer chamada anterior é imeditamente cancelada e uma nova chamada é imediatamente iniciada. O problema é que se isso ocorrer muito rápido (como quando segura a tecla), não vai dar tempo da assistente sequer iniciar o som, e portanto, não vai sair nada a não ser na primeira (antes do segurar começar a ter efeito) e na última chamada (porque nenhuma chamada há para cancelar a última). Portanto, criei algumas condicionais para chamar "aaaaaaaaaaaa" com pausa (ou seja, sem cancelamento), no lugar de simplesmente "a" sem pausa, quando o script detectar que as chamadas foram feitas muito rapidamente (duas chamadas em menos de um décimo de segundo).
"What is suitable automation? Whatever saves your day for the greater matters."
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Re: Acessibilidade [1] - Visão - Conhecer O Teclado
EXCELENTE!
Mais uma vez obrigado, Gio.
Mais uma vez obrigado, Gio.
Somente essa linha de comando que acabou não funcionando no script, estranho.Code: Select all
Texto_Para_Voz.GetVoices().Item(2)
Re: Acessibilidade [1] - Visão - Conhecer O Teclado
Realmente, havia um erro nessa linha. A linha correta é a linha abaixo e deve ser colocada logo antes do primeiro return. Altere o número indicado para escolher entre as opções disponíveis de voz (se tiverem 3, serão os números 0, 1 e 2. Lembrando que escolher um número que não existe gerará um erro).VadoJMS wrote:EXCELENTE!
Mais uma vez obrigado, Gio.
Somente essa linha de comando que acabou não funcionando no script, estranho.Code: Select all
Texto_Para_Voz.GetVoices().Item(2)
Code: Select all
Texto_Para_Voz.Voice := Texto_Para_Voz.GetVoices().Item(1)
"What is suitable automation? Whatever saves your day for the greater matters."
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Re: Acessibilidade [1] - Visão - Conhecer O Teclado
Agora tudo deu certo, Gio.Code: Select all
Texto_Para_Voz.Voice := Texto_Para_Voz.GetVoices().Item(1)
Também agradeço pela dica de substituir 0x1 por 0x2 nas chamadas com várias letras.
Return to “Ajuda e Suporte Geral”
Who is online
Users browsing this forum: No registered users and 10 guests