我正在尝试使用谷歌语音识别,我的问题是,在对麦克风说些什么之后,结果总是一样的。
我的功能看起来像这样
end()
当我试图获取数据时
def RecordAudio():
import speech_recognition as sr
r = sr.Recognizer()
with sr.Microphone() as source:
print("Say something!")
audio = r.listen(source)
# Speech recognition using Google Speech Recognition
try:
print("You said: " + r.recognize_google(audio))
except sr.UnknownValueError:
print("Google Speech Recognition could not understand audio")
except sr.RequestError as e:
print("Could not request results from Google Speech Recognition service; {0}".format(e))
return audio
数据总是等于此 speech_recognition.AudioData对象位于0x111a8b358
但令我感到奇怪的是,当这段代码在一个文件中,没有函数而没有返回结果时,这段时间就可以了。
例如我有test.py文件
data = RecordAudio()
这是有效的,但第一个例子没有。
知道发生了什么事吗?
答案 0 :(得分:0)
我解决了它。
我认为我的问题是,这个功能
audio = r.listen(source)
返回 AudioData 以及我打印时 这就是为什么它是 speech_recognition.AudioData对象在0x111a8b358
要识别它,我们必须返回
return r.recognize_google(audio)
它将返回真实的字符串,而不是AudioData。
如果有人会有同样的问题,希望有所帮助。