Невозможно получить инструкции в аудиоформате и не удается воспроизвести аудиофайл после первого
Джарвис должен сказать, что каждая инструкция появляется на экране, но здесь произносится первое утверждение, и никто другой не получает звукового голоса. И при сохранении аудио только первый оператор сохраняется в виде аудиофайла. как удалить предыдущий аудиофайл после обработки и сохранить новый аудиофайл в качестве инструкции.Как получить печатные заявления в аудиоформе, например , есть печатное заявление ("скажи что-нибудь!"), оно должно быть там на экране, а также аудио того же самого должно быть произнесено.
Что я уже пробовал:
import speech_recognition as sr from time import ctime import time import os from gtts import gTTS from pygame import mixer mixer.init() def speak(audioString): print(audioString) tts = gTTS(text=audioString, lang='en') tts.save("audio.mp3") os.system("mpg321 audio.mp3") def speak_out(): mixer.music.load('audio.mp3') mixer.music.play() time.sleep(2) def recordAudio(): r = sr.Recognizer() with sr.Microphone() as source: print("Say something!") r.pause_threshold = 1 r.adjust_for_ambient_noise(source, duration=1) audio = r.listen(source) data = "" try: data = r.recognize_google(audio) print("You said: " + data) except sr.UnknownValueError: print("I could not understand") except sr.RequestError as e: print("Server error. Check your internet connection: {0}".format(e)) return data def jarvis(data): if "how are you" in data: speak("I am fine") if "what time is it" in data: speak(ctime()) if 'mail' in data: speak('who is recipient') recipient = speak() if 'John' in data: speak('What should I say') content = recordAudio() mail = smtplib.SMTP('smtp.gmail.com', 587) mail.ehlo() mail.starttls() mail.login('abc@gmail.com','xyz') mail.sendmail('Person name', 'mail_id', content) mail.close() speak('Email sent') time.sleep(2) speak("Hi Ajay, what can I do for you?") speak_out() while 1: data = recordAudio() jarvis(data)