Использовать gTTS, чтобы говорить, а не сохранять как mp3?
Я пытаюсь создать голосового помощника с помощью gtts(Google text to speech).
Я пытался сделать это, но для вывода звука, он смог написать что-то, что сначала сохраняет файл, а затем воспроизводит его с помощью аудиоплеера (в Ubuntu), как сделать так, чтобы он просто говорил, а не сохранять, как это делает использование engine.say() в pyttsx3
def speak(temp):
voice = gTTS(text=temp, lang="en")
voice.save("/home/vikrant/temp.mp3")
opener ="open" if sys.platform == "darwin" else "xdg-open"
subprocess.call([opener, "/home/vikrant/temp.mp3"])
Он сохраняет файл и воспроизводит его с помощью аудиоплеера, я просто хочу воспроизвести его напрямую, потому что помощнику не имеет смысла каждый раз открывать плеер, чтобы что-то сказать.
1 ответ
Ну, я вроде решил это сам
"""This function will take a string as input
convert it into voice and save it as a file temp.mp3
play it and delete it"""
def speak(temp):
voice = gTTS(text=temp, lang="en")
voice.save("/home/vikrant/temp.mp3")
opener ="open" if sys.platform == "darwin" else "xdg-open"
subprocess.call([opener, "/home/vikrant/temp.mp3"])
print("Speaking.....")
time.sleep(1)
os.remove("/home/vikrant/temp.mp3")
оно работает