Python应用程序侦听关键字。 (像Cortana)

时间:2018-02-13 23:23:24

标签: python speech-recognition voice-recognition cortana

我正在尝试创建一个Python应用程序,其行为类似于Alexa,Cortana或Google" Ok,Google"。

我希望它能够持续监听特定的关键字。在听到关键字后,我希望它执行一个功能 我怎么能这样做?

2 个答案:

答案 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.')

为提高准确性,您甚至可以提取所有可能的押韵单词并进行比较。

您还可以逐个字符进行比较以计算匹配百分比,并设置比较成功的最小百分比阈值。