Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
11
respostas

Me ajuda

Insira aqui a descrição dessa imagem para ajudar na acessibilidade bom dia ontem eu consegui endireitar o meu código tipo instalar todas os pacotes aí eu fui dar o run a apareceu isso o que eu faço

11 respostas
solução!

Pode postar o seu código aqui pra gente da uma olhada?

pode deixar eu vou fazer isso

tela do run

line 73, in <module> main()
line 71, in main monitora_audio()
line 15, in monitora_audio microfone = sr.Recognizer
                                       ^^
nameError: name 'sr'  is not defined. did  you mean: 'str'?

ele nao esta encontrando a variavel sr, essa variavel foi definida no codigo? ou importada?

importada eu a

copia todo o codigo e cola ele aqui, mas usa a formatação... aqui quando escreve uma mensagem, tem umas opcoes, um dos botoes é assim: </>, clica nele e cola o seu codigo completo

ai meu amigo

from gtts import gTTS
from playsound import playsound
from bs4 import BeautifulSoup
import webbrowser as browser
##### comfiguraçoes #####
hotword = 'zoey'
with open('zoey python assistente-console do google cloud.json') as credenciais_google:
       credenciais_google = credenciais_google
##### funçoes principais #####
def monitora_audio():
    microfone = sr.Recognizer()
    with sr.microphone() as source:
        while True:
            print("aguardando o comando: ")
            audio = microfone.listem(source)
            try:
                trigger = microfone.recognize_google_cloud(audio, credentials_json=credenciais_google,
  language='pt-br')
                trigger = trigger.lower()
                if hotword in trigger:
                    print('COMANDO:', trigger)
                    responde('feedback')
                    executa_comandos(trigger)
                    break
            except sr.UnknowValueError:
                print("google not understand audio")
            except sr.RequestError as e:
                print("cold not request results from google cloud speech service; {0}".format(e))
    return trigger
def responde(arquivo):
    playsound('audios/' + arquivo + '.mp3')
def cria_audio(mensagem):
    tts = gTTS(mensagem, lang='pt-br')
    tts.save('audios/mensagem.mp3')
    print('zoey:',mensagem)
def executa_comandos(trigger):
    if 'noticias' in trigger:
        ultimas_noticias()
    elif 'toca' in trigger and 'fusion' in trigger:
        playlist('fusion')
    elif 'toca' in trigger and 'festa' in trigger:
        playlist('festa')
    else:
          mensagem = trigger.strip(hotword)
          cria_audio(mensagem)
          print('C. INVALIDO',mensagem)
          responde('comando_invalido')
##### funçoes comandos #####
def ultimas_noticias():
    site = get('https://news.google.com/rss?need=pt_br&gl=BR&pt=pt-BR&ceid=BR:pt-419&hl=pt-BR')
    noticias = BeautifulSoup(site.text, 'html.parser')
    for item in noticias.findAll('item')[:2]:
        mensagem = item.title.text
        cria_audio(mensagem)
def playlist(album):
    if album == 'fusion':
        browser.open('https://open.spotify.com/playlist/0yYwcSjUxRctrnfbIQXHWD?si=b1dd8ea47cce4eee')
    elif album == 'festa':
        browser.open('https://open.spotify.com/playlist/37i9dQZF1DWUSHGSJhLype?si=44e1870932324122')
def main():
  while True:
   monitora_audio()
main()

line 73, in <module> main()
line 71, in main monitora_audio()
line 15, in monitora_audio microfone = sr.Recognizer

nameError: name 'sr'  is not defined. did  you mean: 'str'?      ^^

minha tela de erro

Olha, realmente a variavel 'sr' nao esta declarada nem importada neste componente. Deve ter pulado algum passo do curso onde foi configurada essa variavel, tenta voltar umas aulas pra ver de onde o professor puxou esta variavel.

e em quanto a

<module > main()
 monitora_audio microfone  = sr.Recognizer 

Entao, vc criou uma variavel do tipo monitora_audio, chamada microfone, e o valor dela é sr.Recognizer, ou seja, Recognizer é um atributo/método do objeto SR. Mas vc precisa informar pro código de onde esta vindo este SR, antes de fazer solicitações a ele.

ou seja tenho que desinstalar o pacote sr