Python 直接输出

Python 直接输出,python,text-to-speech,Python,Text To Speech,我想在音频和文本中做出聊天机器人的响应 所有使用GTT的示例代码似乎都需要“将文本保存到文件中,然后播放文件” 有没有其他方法可以简化这个过程,例如,使用GTT自动播放“聊天机器人的响应”?如果你简单看一下,你会发现,在这三个示例中,只有一个需要你调用保存,而第三个则专门称为“直接播放声音” 所以,只需执行该示例中的操作,但将字符串替换为文字'hello': >>> from gtts import gTTS >>> from io import BytesI

我想在音频和文本中做出聊天机器人的响应

所有使用GTT的示例代码似乎都需要“将文本保存到文件中,然后播放文件”


有没有其他方法可以简化这个过程,例如,使用GTT自动播放“聊天机器人的响应”?

如果你简单看一下,你会发现,在这三个示例中,只有一个需要你调用
保存
,而第三个则专门称为“直接播放声音”

所以,只需执行该示例中的操作,但将字符串替换为文字
'hello'

>>> from gtts import gTTS
>>> from io import BytesIO
>>>
>>> my_variable = 'hello' # your real code gets this from the chatbot
>>> 
>>> mp3_fp = BytesIO()
>>> tts = gTTS(my_variable, 'en')
>>> tts.write_to_fp(mp3_fp)
但请注意,GTT并没有配备MP3播放器;您需要一个单独的音频库来播放
mp3\u fp
缓冲区:

>>> # Load `audio_fp` as an mp3 file in
>>> # the audio library of your choice
正如文档所说,有很多这样的库,而堆栈溢出不是获取库建议的好地方。我碰巧安装了一个库,命名了,还有一个示例应用程序,可以很容易地在这里进行修改,但从长远来看,它可能不是最简单的一个(它是为做更强大、低级的事情而设计的):


您还可以使用playsound库

>>导入播放声音

>>playsound.playsound('sound.mp3')


有关playsound的更多信息,请访问。

您查看了哪些示例?文档中有三个示例,其中只有一个需要
save
。他们甚至为最后一个打电话给部门。好吧,你还是得先打“你好”。有没有一种方法可以传递变量并播放它?
gTTS
不知道或不关心字符串是来自代码中的变量还是文本,就像Python中的其他函数一样。就像您可以键入
print('hello')
print(my_变量)
,您可以键入
gTTS('hello','en')
gTTS(my_变量,'en')
。很高兴知道这一点。谢谢
>>> import musicplayer
>>> class Song:
...     def __init__(self, f):
...         self.f = f
...     def readPacket(self, size):
...         return self.f.read(size)
...     def seekRaw(self, offset, whence):
...         self.f.seek(offset, whence)
...         return f.tell()
>>> player = musicplayer.createPlayer()
>>> player.queue = [Song(mp3_fp)]
>>> player.playing = True