es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Palabra de activación de Python para el asistente de IA

Tengo un asistente de voz en Python y no puedo agregar una palabra de activación.
Cuando ejecuto el código, solo sigue escuchando hasta que dejo de hablar, luego se apaga. Necesito hacer que continúe escuchando hasta que escuche la palabra de activación y luego escuchar el comando que le indico.

importar speech_recognition como sr
importar pyttsx3
importar pywhatkit
importar datetime
importar wikipedia
importar pyjokes
importar solicitudes
de bs4 import BeautifulSoup
importar controlador web

escucha = sr.Recognizer()
motor = pyttsx3.init()
voces = motor.getProperty(‘voices’)
motor.setProperty(‘voice’, voices[1].id)
rn = sr.Recognizer()

def hablar(texto):
motor.say(texto)
motor.runAndWait()

def tomar_comando():
intentar:
con sr.Microphone() como fuente:
print(‘escuchando…’)
rn.adjust_for_ambient_noise(source)
voz = rn.listen(source)
comando = escucha.recognize_google(voice)
comando = comando.lower()
if ‘alexa’ en comando:
comando = comando.replace(‘alexa’, ”)
print(comando)
excepto:
pasar
volver comando

def ejecutar_alexa():
comando = tomar_comando()
print(comando)
if ‘reproducir’ en comando:
canción = comando.replace(‘reproducir’, ”)
hablar(‘reproduciendo ‘ + canción)
pywhatkit.playonyt(canción)
elif ‘hora’ en comando:
tiempo = datetime.datetime.now().strftime(‘%I:%M %p’)
print(tiempo)
hablar(‘La hora actual es ‘ + tiempo)
else:
hablar(‘Por favor, repita el comando.’)

mientras Verdadero:
ejecutar_alexa()

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para agregar una palabra de activación a tu asistente de voz Python, deberás modificar la función ‘take_command()’ para que escuche la palabra de activación antes de intentar reconocer el comando. Aquí tienes un ejemplo de cómo puedes agregar la palabra de activación ‘Alexa’ a tu código existente:

    def take_command():
        try:
            with sr.Microphone() as source:
                print('escuchando...')
                rn.adjust_for_ambient_noise(source)
                voice = rn.listen(source)
                # escucha la palabra de activación 'Alexa'
                wake_word = 'alexa'
                wake_word_detected = False
                while not wake_word_detected:
                    command = listener.recognize_google(voice)
                    command = command.lower()
                    if wake_word in command:
                        wake_word_detected = True
                        # elimina la palabra de activación del comando
                        command = command.replace(wake_word, '')
                        print(command)
        except:
            pass
        return command
    

    Este código actualizado primero escucha la palabra de activación ‘Alexa’ y una vez que la detecta, elimina la palabra de activación del comando y devuelve el comando modificado. De esta manera, tu asistente de voz solo intentará reconocer un comando después de que se haya detectado la palabra de activación.

Comments are closed.