Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
PyAudio delay
#1
So i'm currently making a voice assistant thingy as a school project and i have quite a problem with pyaudio.
while True:

        chunk = 256
        
        # get audio from the microphone                                                                       
        r = sr.Recognizer()                                                                                   
        with sr.Microphone() as source:                                                                       
            print("Ready")                                                                                   
            audio = r.listen(source)   
 
        try:
            print("You said " + r.recognize_google(audio))
            if r.recognize_google(audio) == "hello":
                f = wave.open("hal1.wav","rb")
                p = pyaudio.PyAudio()
                stream = p.open(format = p.get_format_from_width(f.getsampwidth()), channels = f.getnchannels(), rate = f.getframerate(), output = True)
                data = f.readframes(chunk)
                while data:
                    stream.write(data)
                    data = f.readframes(chunk)
                stream.stop_stream()
                stream.close()
                p.terminate()
        except sr.UnknownValueError:
            print("Could not understand audio")
        except sr.RequestError as e:
            print("Could not request results; {0}".format(e))
The problem is in the title, there is a MASSIVE delay before the wav file is actually played. (sometimes it can take up to 20 seconds to get it played back)
And for a voice assistant that is unacceptable.
I don't know where the problem is exactly, but i'm pretty sure it's not the speech recognition part.
Does anybody have a clue why this is happening?
Reply
#2
I am not familiar with using Google speech recognition in Python. But first thing that comes to mind is you could place print statements in various places in your code that you suspect take long to execute. That way you could see which part(s) of code is causing the delay.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  pyaudio seems to randomly halt input. elpidiovaldez5 2 362 Jan-22-2024, 09:07 AM
Last Post: elpidiovaldez5
  Is it possible to add a delay right after a request.get() cubangt 6 2,678 Sep-07-2023, 09:29 AM
Last Post: shoesinquiry
  Request Delay pheadrus 1 3,784 Nov-25-2021, 08:51 PM
Last Post: snippsat
  adding a delay on end Daz2264 6 2,477 Sep-29-2021, 02:57 PM
Last Post: deanhystad
  Not getting response from pyaudio OceansBlue 1 2,645 Jul-03-2021, 06:22 AM
Last Post: OceansBlue
  python delay without interrupt the whole code Nick_tkinter 4 5,139 Feb-22-2021, 10:51 PM
Last Post: nilamo
  help with PyAudio Leo12143 1 1,937 Jan-18-2021, 09:56 AM
Last Post: DT2000
  pyAudio playing variable Talking2442 3 3,026 Dec-01-2020, 06:20 PM
Last Post: Talking2442
  How to read CSV file one row at the time in a range and some delay in between greenpine 2 4,738 Nov-20-2020, 02:26 PM
Last Post: greenpine
  configure delay on only one link using python3 HiImAl 3 2,710 Oct-21-2020, 07:51 PM
Last Post: buran

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020