image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
Article image
Carlos CGS
Carlos CGS22/09/2025 07:37
Compartilhe

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”.

  1. ✅ Vimos como ele pode ficar em escuta contínua, mas só responder quando ouvir “Olá Jarvis”.
  2. ✅ Implementamos alguns comandos básicos como abrir Word, Excel e PowerPoint.
  3. ✅ 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. ⚡

image

Compartilhe
Recomendados para você
Suzano - Python Developer #2
Suzano - Python Developer
BairesDev - Machine Learning Practitioner
Comentários (0)