1
resposta

speech_recognition - Audio source must be entered before listening

Bom dia!

Quando executo meu código, é apresentado este erro:

audio = recon.listen(source)
 assert source.stream is not None, "Audio source must be entered before listening, see documentation for AudioSource; are you using source outside of a with  statement?"
AssertionError: Audio source must be entered before listening, see documentation for AudioSource; are you using source outside of a with statement?

Alguém poderia me ajudar?

Estou deixando passar alguma coisa?

Agradeço desde já!

import os
import sys
import speech_recognition as sr 
import webbrowser as browser
import urllib.request, json, requests
import translate
from gtts import gTTS
from playsound import playsound
from datetime import datetime
from bs4 import BeautifulSoup
from requests import get
from translate import Translator

hotword = 'rose'

def cria_audio(audio, mensagem, lang='pt-br'):
    tts = gTTS(mensagem, lang = lang)
    tts.save(audio)
    playsound(audio)
    os.remove(audio)

def monitora_audio():
    recon = sr.Recognizer()
    with sr.Microphone() as source:
        while True:
            print('Diga algo, estou te ouvindo')
            audio = recon.listen(source)
            try:
                mensagem = recon.recognize_google(audio, language='pt-br')
                mensagem = mensagem.lower()
                if hotword in mensagem:
                    print('Você disse', mensagem)
                    break
            except sr.UnknownValueError:
                pass
            except sr.RequestError:
                pass

        return mensagem

def main():    
    cria_audio('ola.mp3', 'Olá sou a Rose! Como posso ajudar?')
    while True:
        monitora_audio()

main()
1 resposta

Olá Luis, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

A mensagem de erro apresentada, assert source.stream is not None, é exibida quando você tenta ouvir uma fonte de áudio antes de entrar nela usando a instrução with, mas realizando testes e simulações com o código enviado, o mesmo está sendo executado corretamente. Peço que confirme se o arquivo foi salvo antes da execução e realize uma nova tentativa de execução do código e verifique se o erro ainda é apresentado.

Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software