image

Bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Carlos CGS
Carlos CGS13/10/2025 07:39
Compartilhe

Ensinando o J.A.R.V.I.S. a reproduzir músicas no YouTube com um simples comando de voz

    🌌 Projeto CodeVerse Python – #41/2025

    👋 Fala, galera dev! 🚀

    Já imaginou o Tony Stark trabalhando em seu laboratório, projetando uma nova armadura, e no meio da madrugada sentir vontade de ouvir uma música? Ele não para o que está fazendo, não abre o YouTube, não digita nada. Ele simplesmente diz:

    “Jarvis, toque "Iron Man" do Black Sabbath.”

    E pronto. A música começa a tocar. 🎶

    É exatamente essa experiência que vamos trazer para o nosso Projeto CodeVersePython2025 neste artigo. Chegamos ao artigo #41, e hoje o nosso Jarvis vai aprender a reproduzir músicas automaticamente no YouTube — tudo por comando de voz, sem precisar tocar no teclado.

    Essa função, embora simples, é um divisor de águas: ela transforma o Jarvis de um assistente que apenas entende e responde, para um assistente que entende e age. E é aí que ele começa a se aproximar cada vez mais do verdadeiro assistente pessoal que vemos nos filmes da Marvel.

    🧠 Como isso funciona?

    A ideia é bem simples: o Jarvis vai ouvir o nome da música, transformar sua fala em texto, montar um link automático do YouTube e abrir o navegador pra você — tudo em questão de segundos. As ferramentas por trás dessa mágica são três bibliotecas poderosas que já usamos várias vezes no projeto:

    • 🎙️ speech_recognition → traduz sua voz em texto.
    • 🔊 pyttsx3 → permite que o Jarvis fale com você.
    • 🌐 webbrowser → abre o navegador com a pesquisa pronta.

    Assim, quando você disser:

    “Jarvis, toque AC/DC no YouTube.”

    O sistema vai gerar internamente algo como:

    https://www.youtube.com/results?search_query=ac+dc
    

    E abrirá o YouTube com a busca feita, igualzinho ao que você faria manualmente — só que agora, o Jarvis faz por você.

    🐍 Código em Ação

    Aqui está o trecho responsável por essa funcionalidade no nosso Jarvis:

    # Função para reproduzir música do YouTube
    def reproduzir_musica(microfone):
      # Solicita ao usuário o nome da música
      falar("Qual música você deseja ouvir?")
      with sr.Microphone() as source:
          audio = microfone.listen(source)
      try:
          musica = microfone.recognize_google(audio, language="pt-BR")
          # Se não foi especificado o nome da música, solicita novamente
          if not musica:
              falar("Por favor, diga o nome da música.")
              with sr.Microphone() as source:
                  audio = microfone.listen(source)
              musica = microfone.recognize_google(audio, language="pt-BR")
          # Formata a música para a busca no YouTube
          musica_formatada = musica.replace(" ", "+")
          # URL de pesquisa do YouTube com a música
          url_youtube = (
              f"https://www.youtube.com/results?search_query={musica_formatada}"
          )
          # Abre o navegador e redireciona para o YouTube
          webbrowser.open(url_youtube)
      except sr.UnknownValueError:
          falar("Desculpe, não consegui entender. Por favor, repita.")
    

    ⚙️ Entendendo passo a passo

    1. O Jarvis pergunta o que você quer ouvir Ele fala com você usando o pyttsx3:
    2. Captura sua resposta pelo microfone A biblioteca speech_recognition escuta e transforma sua fala em texto.
    3. Gera o link da busca no YouTube Ele substitui os espaços por “+” e cria o link da pesquisa.
    4. Abre o navegador automaticamente Com o comando webbrowser.open(url_youtube), o YouTube é aberto com o resultado da música que você pediu.
    5. E se ele não entender? O Jarvis responde com algo como:

    Simples, direto e totalmente funcional. ⚡

    🎧 Testando o comando

    Depois de adicionar essa função no seu código, você pode chamá-la dentro do loop principal assim:

    elif "reproduzir música" in comando:
      reproduzir_musica(microfone)
    

    E pronto! Agora, quando você disser:

    “Jarvis, reproduzir música do Iron Man no YouTube.”

    Ele vai responder com estilo:

    “Entendido, senhor Carlos. Tocando AC/DC — Shoot to Thrill.” 😎

    🎧 Entendendo Cada Parte do Código...

    O que esse código faz é transformar um pedido falado em uma pesquisa pronta no YouTube. Primeiro, o Jarvis “fala” com você usando a biblioteca de voz (pyttsx3) e pergunta qual música deseja ouvir. Isso deixa claro que ele está pronto para captar a sua resposta. Em seguida, ele liga o microfone por alguns segundos e escuta o que você diz — esse áudio é enviado para a biblioteca de reconhecimento de fala (speech_recognition), que converte a sua fala em texto (por exemplo: “ACDC Thunderstruck”).

    Com o texto em mãos, o Jarvis faz um pequeno ajuste: troca os espaços por sinais de “+” (algo como transformar “ac dc thunderstruck” em “ac+dc+thunderstruck”). Esse detalhe é importante porque o YouTube usa esse formato para buscas na URL. A partir daí, o código monta um link de pesquisa do YouTube com o nome da música que você disse. Nada de magia: é exatamente como se você abrisse o navegador e digitasse a busca, só que o Jarvis faz isso automaticamente.

    Depois de montar a URL, o programa usa a biblioteca webbrowser para abrir o seu navegador padrão diretamente na página de resultados do YouTube. Em outras palavras, você fala o nome da música e, em segundos, a tela com os resultados aparece para você clicar e tocar. Esse comportamento é propositalmente simples: ao abrir a página de resultados, você tem liberdade para escolher a versão ao vivo, o clipe oficial, um lyric video, uma playlist etc.

    O código também tem um cuidado com falhas comuns. Se o Jarvis não entender o que você disse (por barulho, dicção ou microfone baixo), ele cai no tratamento de erro e responde algo como “não consegui entender, por favor, repita”. Isso evita travamentos e torna a experiência mais amigável. Se você não disser nada de forma clara na primeira vez, ele pode perguntar novamente o nome da música e escutar de novo.

    É importante entender que o reconhecimento de fala usado (recognize_google) depende de internet para transcrever o áudio. Sem conexão, o Jarvis não consegue transformar sua voz em texto e, consequentemente, não consegue montar a pesquisa. Já a parte de abrir o navegador é local: assim que a URL está pronta, o webbrowser simplesmente dispara o seu Chrome/Edge/Firefox e carrega a página.

    Na lógica geral, essa função de música costuma ser chamada depois de uma “palavra de ativação” (wake word). O Jarvis fica ouvindo em silêncio até você dizer algo como “Olá, Jarvis”. Quando reconhece a wake word, ele reage (“Estou ouvindo, senhor”) e, só então, escuta o próximo comando específico (“reproduzir música”, “tocar AC/DC”, “abrir YouTube com…”) para decidir qual função executar. Se o comando for de música, ele entra exatamente nessa rotina: pergunta o que tocar, escuta, converte para texto, cria o link e abre o YouTube.

    Por fim, é bom saber que essa solução é direta e fácil de manter. Você não precisa integrar APIs do YouTube, lidar com autenticação ou tocar mídia embutida no app. O Jarvis atua como um atalho inteligente: recebe sua intenção por voz e executa a ação equivalente no navegador. Se quiser evoluir no futuro, dá para adicionar confirmação (“Você quis dizer ‘Thunderstruck’?”), salvar favoritos (“tocar minha playlist de treino”) ou até buscar e abrir automaticamente o primeiro resultado — mas o esqueleto principal já está sólido: ouvir, entender, montar a URL e abrir.

    🔮 Conclusão

    Com essa nova habilidade, o Jarvis agora também é o DJ oficial do seu laboratório. 🎶 Hoje, aprendemos a combinar voz, automação e navegação web para criar algo simples, mas muito útil — e extremamente divertido.

    • ✅ Usamos o speech_recognition para capturar a voz.
    • ✅ O pyttsx3 para dar respostas faladas.
    • ✅ E o webbrowser para automatizar ações reais.

    Nos próximos artigos, vamos continuar evoluindo o projeto com novas funções: 📝 Criar anotações por voz, 🔒 Ativar o modo privado, 🧠 E integrar a memória do Jarvis com a IA do Google Gemini.

    Porque o futuro não é esperar a tecnologia chegar. É a gente criar ela hoje. ⚡

    image

    Compartilhe
    Recomendados para você
    Luizalabs - Back-end com Python
    PcD Tech Bradesco - Java & QA Developer
    Nexa - Fundamentos de IA Generativa com Bedrock
    Comentários (0)