在python中以任意音调发出合成声音

在python中以任意音调发出合成声音,python,audio,synthesizer,Python,Audio,Synthesizer,我发现很难找到python的合成器模块,它允许程序以任意音调播放音符。最好的注意应该不仅仅是一个纯正弦波,应该包括至少几个谐波-它应该不仅仅是一个嘟嘟声 这样做的目的是能够写出 the_module.play(frequency, loudness, duration) 或 其中频率以Hz为单位指定,并具有来自用户扬声器的合成音调播放。有JavaScript模块可以实现这一点,例如,但是有人知道使用Python的方法吗?如果在windows上,可以使用内置的 如果在Linux上,则需要直接写入

我发现很难找到python的合成器模块,它允许程序以任意音调播放音符。最好的注意应该不仅仅是一个纯正弦波,应该包括至少几个谐波-它应该不仅仅是一个嘟嘟声

这样做的目的是能够写出

the_module.play(frequency, loudness, duration)


其中频率以Hz为单位指定,并具有来自用户扬声器的合成音调播放。有JavaScript模块可以实现这一点,例如,但是有人知道使用Python的方法吗?

如果在windows上,可以使用内置的

如果在Linux上,则需要直接写入
/dev/audio
,如建议的:

def蜂鸣音(频率、振幅、持续时间):
样本=8000
半周期=整数(样本/频率/2)
beep=chr(振幅)*半周期+chr(0)*半周期
蜂鸣音*=整数(持续时间*频率)
音频=文件('/dev/audio',wb')
音频写入(嘟嘟声)
音频关闭()

这看起来很有趣,但是你能再解释一下Linux代码在做什么吗?例如,为什么要调用chr()?顺便说一句,由于文件权限问题,我无法让它工作。
my_synth = the_module.newsynth()
my_synth.play(frequency, loudness, duration)