i learned i new way to detect words but i cant figure out how to make the right answer come out in the if statement.
its just repeating the 3 statements. Its seems like its only seeing the last phrase_F.
its just repeating the 3 statements. Its seems like its only seeing the last phrase_F.
from speech_recognition import Recognizer, Microphone
from gtts import gTTS
import subprocess
import time
from fuzzywuzzy import fuzz
from fuzzywuzzy import process
recognizer = Recognizer()
# On enregistre le son
with Microphone() as source:
print("Dite un fruit ou un légume dans le microphone")
print("Réglage du bruit ambiant... Patientez...")
recognizer.adjust_for_ambient_noise(source)
print("Vous pouvez parler...")
recorded_audio = recognizer.listen(source)
print("Enregistrement terminé !")
# Reconnaissance de l'audio
try:
print("Reconnaissance du texte...")
text = recognizer.recognize_google(
recorded_audio,
language="fr-FR"
)
print("Vous avez dit : {}".format(text))
phrase_O = [u"Ouvrir la lumière de l’entrée", u"Ouvrir lumière entrée?", u"Ouvrir lumièrel’entrée"]
maPhrase = text
phrase_A = [u"Allumer la lumière de l’entrée", u"Allumer lumière entrée?", u"Allumer lumièrel’entrée"]
maPhrase_A = text
phrase_F = [u"Fermer la lumière de l’entrée", u"Fermer lumière entrée?", u"Fermer lumièrel’entrée"]
maPhrase_F = text
(modele, score) = process.extractOne(maPhrase, phrase_O)
(modele, score) = process.extractOne(maPhrase_A, phrase_A)
(modele, score) = process.extractOne(maPhrase_F, phrase_F)
print(modele, score)
ph = score
def Auto_reponse():
tts.save('out.mp3')
cmd = ['mpg321', '-q', 'out.mp3']
subprocess.call(cmd)
if ph >= 90:
tts = gTTS(u"La lumière de l’entrée est allumée", lang="fr")
Auto_reponse()
elif ph >= 90:
tts = gTTS(u"La lumière de l’entrée est pas allumée", lang="fr")
Auto_reponse()
elif ph >= 90:
tts = gTTS(u"La lumière de l’entrée est éteinte", lang="fr")
Auto_reponse()
#if found_word:
#speech()
#else:
#speech2()
except Exception as ex:
print(ex)
