Integrando Wake Words ao nosso J.A.R.V.I.S.
- #Python
đ Projeto CodeVerse Python â #38/2025
đ Fala, galera dev! đ
Estamos no artigo #38 ou melhor dizendo na nossa trigĂ©ssima oitava semana deste ano e seguimos com nosso Projeto CodeVersePython2025, e hoje vamos implementar uma função que jĂĄ apareceu em artigos anteriores mas de forma sucundĂĄria, e devido a sua importancia que ele tem em nosso projeto, resolvi escrever um artigop especĂdifico sobre ela. Afinal Ă© ela que deixa o nosso Jarvis ainda mais parecido com assistentes reais, como Alexa, Siri e Google Assistente: o wake word, ou palavra de ativação.
đ Mas o que Ă© isso? Ă o mecanismo que faz o software ficar ouvindo continuamente, mas sĂł entrar em ação quando escuta a palavra correta, como:
- âOk Googleâ
- âE aĂ Siriâ
- âAlexaâ
No nosso caso, vamos usar a clĂĄssica frase: âOlĂĄ Jarvisâ. Isso evita que o assistente fique respondendo qualquer coisa que captou do ambiente, deixando a interação muito mais fluida e natural. Se tornando um assitente real, que fica nos ouvindo e nos auxilia quando chamamos, enĂ”a que nos interrompe em nosso dia a dia para dizer que nĂŁo entendeu o que falamos. Levando nossa aplicação para outro patamar. rs.
As bibliotecas que vamos usar jĂĄ sĂŁo nossas velhas conhecidas:
- speech_recognition â converte fala em texto;
- pyttsx3 â faz o Jarvis falar;
- if/else â identifica quando a palavra-chave foi dita.
đŠžâïž O que Ă© uma wake word?
Pensa no Jarvis dos filmes da Marvel. O Tony Stark nĂŁo precisa ficar apertando botĂ”es ou digitando para falar com ele. Ele sĂł chama: âJarvisâ, e pronto, o assistente jĂĄ estĂĄ âacordadoâ e pronto para agir.
Ă exatamente isso que significa wake word (em inglĂȘs, âpalavra de despertarâ): Ă© uma palavra ou frase que âacordaâ o assistente virtual. Ă como uma senha falada, sĂł que sem segredo, basta dizer a palavra certa e ele entra em ação.
đ Origem: esse conceito começou a ser usado em assistentes como a Siri (âE aĂ, Siriâ), a Alexa (âEi, Alexaâ) e o Google Assistente (âOk, Googleâ). Eles ficam em silĂȘncio, ouvindo o ambiente, mas sĂł prestam atenção de verdade quando escutam a palavra mĂĄgica.
⥠No nosso Jarvis: vamos fazer a mesma coisa. O Jarvis ficarĂĄ ali quietinho, como se estivesse em âmodo repousoâ, mas quando vocĂȘ disser âOlĂĄ, Jarvisâ, ele âacordaâ e entra no modo de escuta para entender seu comando, seja abrir o Word, o Excel, o Paint ou atĂ© responder como um verdadeiro parceiro de equipe.
à como se estivéssemos dando ao Jarvis o mesmo comportamento do original do Tony Stark: sempre pronto, mas só entra em ação quando o chamamos.
import speech_recognition as sr
import pyttsx3
import os
import random
# Inicializa o motor de voz
engine = pyttsx3.init()
def falar(texto):
engine.say(texto)
engine.runAndWait()
# Inicializa reconhecimento
r = sr.Recognizer()
# Lista de respostas para ativação
respostas_ativacao = [
"Sim, senhor Carlos?",
"Estou ouvindo, senhor.",
"Ăs suas ordens.",
"Jarvis pronto para ajudar.",
"O que deseja, senhor?"
]
while True:
with sr.Microphone() as source:
print("Esperando pelo comando: 'OlĂĄ Jarvis'... đ€")
r.adjust_for_ambient_noise(source, duration=0.8)
audio = r.listen(source)
try:
comando = r.recognize_google(audio, language="pt-BR").lower()
print("VocĂȘ disse:", comando)
if "olĂĄ jarvis" in comando:
resposta = random.choice(respostas_ativacao)
falar(resposta)
# Aqui entram os comandos bĂĄsicos
with sr.Microphone() as source:
audio = r.listen(source)
comando = r.recognize_google(audio, language="pt-BR").lower()
if "abrir word" in comando:
falar("Abrindo o Word, senhor.")
os.system("start winword.exe")
elif "abrir excel" in comando:
falar("Abrindo o Excel, senhor.")
os.system("start excel.exe")
elif "abrir powerpoint" in comando:
falar("Abrindo o PowerPoint, senhor.")
os.system("start powerpnt.exe")
else:
falar("Infelizmente ainda nĂŁo sei abrir esse programa, senhor.")
except sr.UnknownValueError:
pass
except sr.RequestError:
falar("Erro de conexão com o serviço de voz.")
Dentro de todo o cĂłdigo acima, implementamos a lĂłgica da wake word, que Ă© justamente a parte responsĂĄvel por âacordarâ o Jarvis quando chamamos por ele. Na prĂĄtica, ela funciona como uma espĂ©cie de âguarda de portĂŁoâ: o sistema fica ouvindo, mas sĂł executa os prĂłximos passos se identificar a nossa âsenhaâ â no caso, âolĂĄ Jarvisâ.
Esse mecanismo Ă© representado por uma simples estrutura de decisĂŁo (if):
if "olĂĄ jarvis" in comando:
resposta = random.choice(respostas_ativacao)
falar(resposta)
Ou seja, sempre que o programa escuta a frase âolĂĄ Jarvisâ, ele seleciona uma resposta aleatĂłria da lista de frases prĂ©-definidas e responde em voz alta. Ă assim que o nosso Jarvis deixa de ser um robĂŽ frio e passa a parecer um verdadeiro assistente inteligente, pronto para ouvir o que vocĂȘ tem a dizer.
đ€ Parte 2 â Personalizando as respostas do Jarvis
Para nĂŁo ficar robĂłtico, criamos uma lista de frases que o Jarvis pode usar sempre que for ativado. Isso faz com que ele soe mais natural e divertido.
đ Exemplos de respostas ao ouvir âOlĂĄ Jarvisâ:
- âSim, senhor Carlos?â
- âĂs suas ordens.â
- âJarvis pronto para servir.â
- âEstou ouvindo, senhor.â
- âO que deseja que eu faça agora?â
Para entender melhor, quando o nosso cĂłdigo reconhece a frase âOlĂĄ Jarvisâ, ele entra na condição if que mostramos no parte anterior. Nesse momento, o sistema aciona o mĂ©todo abaixo, que escolhe aleatoriamente uma frase de ativação e a armazena dentro da variĂĄvel resposta:
resposta = random.choice(respostas_ativacao)
Em seguida, essa resposta Ă© exibida pelo Jarvis, mostrando que ele estĂĄ pronto para nos ouvir. SĂł depois disso Ă© que o assistente entra no bloco de comandos possĂveis do nosso algoritmo, onde pode executar açÔes como abrir a calculadora, iniciar o Excel, ou atĂ© realizar pesquisas conectadas Ă API do Google, etc.
Cada desenvolvedor pode personalizar essa lista de acordo com seu estilo. Quer que o Jarvis seja sarcĂĄstico? Fofo? Super formal? Ă sĂł mudar as frases! Esse pequeno detalhe dĂĄ muito mais personalidade ao assistente.
đź Concluindo...
Hoje demos ao Jarvis uma habilidade que Ă© marca registrada dos grandes assistentes virtuais: a palavra de ativação (wake word). Agora ele fica em modo de escuta contĂnua, mas sĂł entra em ação quando realmente chamamos â no nosso caso, com o clĂĄssico âOlĂĄ Jarvisâ.
- â Vimos como ele pode ficar em escuta contĂnua, mas sĂł responder quando ouvir âOlĂĄ Jarvisâ.
- â Implementamos alguns comandos bĂĄsicos como abrir Word, Excel e PowerPoint.
- â Aprendemos a personalizar respostas, deixando o Jarvis mais humano e menos robĂłtico.
Nos prĂłximos artigos, vamos evoluir ainda mais essa função: implementaremos em cima dela um sistema para liberar o modo desbloqueado do Jarvis, que coloca o Google Gemini no mĂĄximo de criatividade, sem filtros â o famoso Protocolo Festa de Arromba đ.
đ Gostou do artigo? EntĂŁo me siga no GitHub e no LinkedIn para acompanhar cada passo do Projeto CodeVersePython2025 e aprender a construir o seu prĂłprio Jarvis.
Porque o futuro nĂŁo Ă© esperar a tecnologia chegar. Ă a gente criar ela hoje. âĄ





