Python 中的语音识别库总是 returns 相同的字符串
Speech Recognition Library in Python always returns same string
我正在尝试使用 Google 语音识别,我的问题是对着麦克风说了些什么,结果总是一样。
我的函数看起来像这样
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
当我尝试获取数据时
data = RecordAudio()
数据总是等于这个
speech_recognition.AudioData 对象位于 0x111a8b358
但令我感到奇怪的是,当这段代码在一个文件中时,没有函数,也没有返回结果,那时候这是有效的。
例如我test.py文件
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))
这是可行的,但第一个例子不行。
知道发生了什么吗?
我解决了。
我认为我的问题是这个函数
audio = r.listen(source)
returns AudioData 以及当我打印它时
这就是为什么它是 speech_recognition.AudioData 对象在 0x111a8b358
要识别它,我们必须 return
return r.recognize_google(audio)
它会 return 真正的字符串而不是 AudioData。
如果有人遇到同样的问题,希望对您有所帮助。
我正在尝试使用 Google 语音识别,我的问题是对着麦克风说了些什么,结果总是一样。
我的函数看起来像这样
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
当我尝试获取数据时
data = RecordAudio()
数据总是等于这个 speech_recognition.AudioData 对象位于 0x111a8b358
但令我感到奇怪的是,当这段代码在一个文件中时,没有函数,也没有返回结果,那时候这是有效的。
例如我test.py文件
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))
这是可行的,但第一个例子不行。
知道发生了什么吗?
我解决了。
我认为我的问题是这个函数
audio = r.listen(source)
returns AudioData 以及当我打印它时 这就是为什么它是 speech_recognition.AudioData 对象在 0x111a8b358
要识别它,我们必须 return
return r.recognize_google(audio)
它会 return 真正的字符串而不是 AudioData。
如果有人遇到同样的问题,希望对您有所帮助。