我正在尝试创建一个Python应用程序,其行为类似于Alexa,Cortana或Google" Ok,Google"。
我希望它能够持续监听特定的关键字。在听到关键字后,我希望它执行一个功能 我怎么能这样做?
答案 0 :(得分:1)
查看Speech Recognition这是一个允许语音识别的库,包括Google Cloud Speech API。
关于你问题的第二部分,这似乎是相关的:
How can i detect one word with speech recognition in Python
一旦你能听到一个单词就可以调用你的功能。
将speech_recognition导入为sr
# get audio from the microphone
r = sr.Recognizer()
keywork = "hello"
with sr.Microphone() as source:
print("Speak:")
audio = r.listen(source)
try:
if r.recognize_google(audio)) == keyword:
myfunction()
except sr.UnknownValueError:
print("Could not understand audio")
except sr.RequestError as e:
print("Could not request results; {0}".format(e))
此代码改编自this教程。
答案 1 :(得分:0)
这将在整个语音中搜索您的关键字。
import speech_recognition as sr
r = sr.Recognizer()
keyWord = 'joker'
with sr.Microphone() as source:
print('Please start speaking..\n')
while True:
audio = r.listen(source)
try:
text = r.recognize_google(audio)
if keyWord.lower() in text.lower():
print('Keyword detected in the speech.')
except Exception as e:
print('Please speak again.')
为提高准确性,您甚至可以提取所有可能的押韵单词并进行比较。
您还可以逐个字符进行比较以计算匹配百分比,并设置比较成功的最小百分比阈值。