如何在Python中生成声音输出?

1 投票
2 回答
2289 浏览
提问于 2025-04-18 03:29

我在Python中生成随机数,代码如下:

print random.randrange(100, 1000, 2)

有没有什么方法可以把这个输出转换成声音(音频)格式呢?

2 个回答

4

如果你想要改变速度的话:

import pyttsx
engine = pyttsx.init()
engine.setProperty('rate', 70)

voices = engine.getProperty('voices')
for voice in voices:
    print "Using voice:", repr(voice)
    engine.setProperty('voice', voice.id)
    engine.say("Hi there, how's you ?")
    engine.say("A B C D E F G H I J K L M")
    engine.say("N O P Q R S T U V W X Y Z")
    engine.say("0 1 2 3 4 5 6 7 8 9")
    engine.say("Sunday Monday Tuesday Wednesday Thursday Friday Saturday")
    engine.say("Violet Indigo Blue Green Yellow Orange Red")
    engine.say("Apple Banana Cherry Date Guava")
engine.runAndWait()
2

我不太明白你想要实现什么。我猜测你是想生成一个随机数,然后把它转换成音频流。如果是这样的话,有一个叫做 PyTTSx 的模块,你需要用 pip 单独安装它。下面是一个简单的例子:

import pyttsx
import random
data = pyttsx.init()
d = str(random.randrange(100, 1000, 2))
data.say(d)
data.runAndWait()

撰写回答