gpt4 book ai didi

python - 如何在 python 中直接播放声音?

转载 作者:行者123 更新时间:2023-12-03 00:07:44 24 4
gpt4 key购买 nike

我试图找到在 Python 中播放声音而不下载任何声音文件的最佳方法(例如,使用带有 tempfile 的临时文件)。这是给 speak函数使用 gTTS ;我已经想出了将语音文件保存到 NamedTemporaryFile 的解决方案。目的。我遇到的麻烦是尝试播放它:

from gtts import gTTS
from tempfile import TemporaryFile

def speak(text, lang = 'en'):
gTTS(text=text, lang=lang).write_to_fp(voice := TemporaryFile())
#Play voice
voice.close()
我只是需要一些东西来代替 #Play voice在这里,这是我尝试过的解决方案:
from gtts import gTTS
from tempfile import NamedTemporaryFile
from playsound import playsound

def speak(text, lang='en'):
gTTS(text=text, lang=lang).write_to_fp(voice := NamedTemporaryFile())
playsound(voice.name)
voice.close()
这将返回一个错误:
The specified device is not open or is not recognized by MCI.
注意:该解决方案不必使用除 gTTS 之外的任何上述模块。只要 speak功能可以重复使用,不保存任何文件,就足够了。

最佳答案

您应该使用 pyttsx3而不是 gtts .无需保存语音片段,因为语音会在运行时直接播放。您可以在这里找到详细信息:https://pypi.org/project/pyttsx3/

import pyttsx3
engine = pyttsx3.init()
engine.say("I will speak this text")
engine.runAndWait()

关于python - 如何在 python 中直接播放声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58648827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com