我在python有一个语音助理,不能添加一个唤醒词。当我执行代码时,它一直在听,直到我停止说话,然后它关闭,我需要让它继续侦听一个唤醒词,当它听到唤醒词来听我命令时。
import speech_recognition as sr
import pyttsx3
import pywhatkit
import datetime
import wikipedia
import pyjokes
import requests
from bs4 import BeautifulSoup
from selenium import webdriver
listener = sr.Recognizer()
engine = pyttsx3.init()
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[1].id)
rn = sr.Recognizer()
def talk(text):
engine.say(text)
engine.runAndWait()
def take_command():
try:
with sr.Microphone() as source:
print('listening...')
rn.adjust_for_ambient_noise(source)
voice = rn.listen(source)
command = listener.recognize_google(voice)
command = command.lower()
if 'alexa' in command:
command = command.replace('alexa', '')
print(command)
except:
pass
return command
def run_alexa():
command = take_command()
print(command)
if 'play' in command:
song = command.replace('play', '')
talk('playing ' + song)
pywhatkit.playonyt(song)
elif 'time' in command:
time = datetime.datetime.now().strftime('%I:%M %p')
print(time)
talk('Current time is ' + time)
else:
talk('Please say the command again.')
while True:
run_alexa()发布于 2022-02-08 00:25:03
您可以尝试执行以下操作:
wake_word = "your wake word"
while True:
print("Listening")
text = take_command()
if text.count(wake_word) > 0:
talk("I am ready")
run_alexahttps://stackoverflow.com/questions/70558862
复制相似问题