为什么PyAudio运行这么慢?

时间:2019-11-19 02:45:06

标签: python performance batch-file speech-to-text pyaudio

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

每当我第一次创建它们时,它们就可以正常工作。但是现在,它们的运行速度确实非常慢,我不知道为什么。它要花很长时间才能启动,并且大约需要30秒才能将语音转换为文本,而之前只花了3秒。我不知道这是我的计算机是否有问题(我怀疑是因为它们以前工作正常)还是缓冲问题。

语音到文本(speech.py​​):

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()

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

@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

如您所见,我执行的是test.bat,而test.bat循环启动speech.py​​,使其生效,因为在您讲话时,它将语音输出为文本。

但是为什么运行这么慢?

1 个答案:

答案 0 :(得分:2)

调用identify_google()识别音频中的任何语音。

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