以下是一起充当实时语音识别软件的脚本。一个在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,使其生效,因为在您讲话时,它将语音输出为文本。
但是为什么运行这么慢?
答案 0 :(得分:2)
调用identify_google()识别音频中的任何语音。
根据您的 Internet连接速度,您可能需要等待几秒钟才能看到结果。