我不确定在哪里发布这个与通过编程进行音频合成相关的问题。
更具体地说,我正在使用一个名为synthplayer的库,它在 Python 中实现了基本的合成器。
当试图产生“和弦”效果时,即同时演奏两个音符时,我遇到了一些意想不到的事情:混合对应于音符的两个正弦波会产生三角形的声音,即不像正弦那样“圆”。
我使用下面的代码,在不知道库的情况下非常自我解释
from synthplayer.synth import WaveSynth
from synthplayer.playback import Output
synth_player = WaveSynth()
def sine(*args, **kwargs):
return synth_player.sine(*args, **kwargs)
def get_sample():
sine1 = sine(440, 2)
sine2 = sine(220, 1)
sine1.mix(sine2)
return sine1
with Output(nchannels=1, mixing="sequential", queue_size=2) as out:
out.play_sample(get_sample())
out.wait_all_played()
你可以听到它:http ://sndup.net/hvz8
有没有人知道发生了什么?