如何在Python中用espeak播放动态字符串

2 投票
2 回答
2985 浏览
提问于 2025-04-18 13:48

我正在使用espeak库来把文字转换成语音。我可以通过一个字符串生成动态的声音来实现这一点。

os.system('espeak "hello"')

这个方法是有效的。但是我想要的是从一个字符串生成声音。这是我所做的。

string='hello'
os.system('espeak string')

2 个回答

1

为什么不直接用commands.getoutput()呢?

import commands

def espeak(string):
    output = 'espeak "%s"' % string
    a = commands.getoutput(output)


espeak("Mario Balotelli") 
2

只需要把你想要说的内容放进你的命令里就行了。

>>> string = "Hello"
>>> os.system('espeak "{}"'.format(string))

如果你要接受用户输入的内容,可以使用 subprocess.Popen 这个函数。

>>> import subprocess
>>> p = subprocess.Popen(['espeak', string])

撰写回答