直接产生声音的Python库

直接产生声音的Python库,python,python-3.x,audio,Python,Python 3.x,Audio,我想用Python编写一个程序来播放随机音乐。是否有任何库可以在给定的时间内直接播放给定音高或频率的声音?例如,play(440,4)应该在4秒内播放音符A 我发现一些库可以做到我所说的,但是它们不能直接播放音乐:你必须创建一个.wav文件,然后播放这个文件。如果我找不到任何能满足我需要的库,我会创建一个文件,播放它,并为每个音符删除它,但我认为直接这样做会更容易。 我终于找到了我问题的答案 有一个名为winsound()的模块,可以播放给定频率和持续时间的声音:winsound.Beep(频率

我想用Python编写一个程序来播放随机音乐。是否有任何库可以在给定的时间内直接播放给定音高或频率的声音?例如,
play(440,4)
应该在4秒内播放音符A

我发现一些库可以做到我所说的,但是它们不能直接播放音乐:你必须创建一个
.wav
文件,然后播放这个文件。如果我找不到任何能满足我需要的库,我会创建一个文件,播放它,并为每个音符删除它,但我认为直接这样做会更容易。


我终于找到了我问题的答案

有一个名为
winsound
()的模块,可以播放给定频率和持续时间的声音:
winsound.Beep(频率,持续时间)
。但问题是它不是跨平台的,只适用于Windows操作系统


因此,我发现了另一个名为
pyaudiere
()的跨平台模块。它的工作原理与winsound有点不同。首先创建一个设备:
d=audiere.open\u device()
。然后,您可以通过
t=d创建音调。创建音调(440)
。要播放音调,请执行
t.play()
并停止
t.stop()
。如果您想在几秒钟内播放,可以使用
时间
模块。我还在调查,但我认为它只适用于Python2。这是stackoverflow帖子,我在这里找到了答案:。

看看各种图书馆:。也许是音频@Raphael pyaudio可以播放.wav文件,但不能直接播放声音。