Python 为什么PyAudio运行得这么慢?

Python 为什么PyAudio运行得这么慢?,python,performance,batch-file,speech-to-text,pyaudio,Python,Performance,Batch File,Speech To Text,Pyaudio,以下脚本共同充当实时语音识别软件。一个是python,另一个是批处理(Windows)。它使用PyAudio 每当我第一次创建它们时,它们都工作得很好。但是现在,它们跑得真的很慢,我不知道为什么。启动需要很长时间,将语音转换为文本大约需要30秒,而之前只需要3秒。我不知道是我的电脑出了问题(我怀疑这是因为它们以前工作得很好),还是缓冲问题 语音到文本(Speech.py): 实时语音到文本(test.bat): 如您所见,我执行的是test.bat,test.bat在循环中启动speech.py

以下脚本共同充当实时语音识别软件。一个是python,另一个是批处理(Windows)。它使用PyAudio

每当我第一次创建它们时,它们都工作得很好。但是现在,它们跑得真的很慢,我不知道为什么。启动需要很长时间,将语音转换为文本大约需要30秒,而之前只需要3秒。我不知道是我的电脑出了问题(我怀疑这是因为它们以前工作得很好),还是缓冲问题

语音到文本(Speech.py):

实时语音到文本(test.bat):

如您所见,我执行的是test.bat,test.bat在循环中启动speech.py,使其处于活动状态,因为它会在您讲话时以文本形式将您的讲话输出到屏幕上

但是为什么它运行得这么慢?

调用recognize_google()来识别音频中的任何语音


根据您的互联网连接速度,您可能需要等待几秒钟才能看到结果。

您可以在此行前后添加系统时间戳打印语句>text=r.recognize\u谷歌(音频):它会告诉您此api响应所用的时间。哦。我不知道PyAudio使用了API。我是新来的。PyAudio中是否有不需要internet连接的识别方法?您可以检查脱机和联机语音识别库。()注意:离线的不太准确。
import speech_recognition as sr

r = sr.Recognizer()
with sr.Microphone() as source:
    audio = r.listen(source)
    try:
        text = r.recognize_google(audio)
        file = open("output.txt", "w")
        file.write(format(text))
        file.close()
    except:
        file = open("output.txt", "w")
        file.write("null")
        file.close()
@echo off

:start
%~d0
cd "%~dp0"
cd Python
goto loop

:loop
python speech.py
for /f "Delims=" %%a in (output.txt) do (set output=%%a)
cls
echo.
echo.
echo.
echo.
echo %output%
echo.
echo.
echo.
echo.
goto loop