我一直在尝试使用以下代码生成正弦波并在我的扬声器中播放它,但这听起来很糟糕。有人知道为什么吗?听起来不像正弦波。
dur = int(FS * float(duration) / 1000)
for i in range(dur):
a = frequency * i * 2 * math.pi / FS
y = math.sin(a)
outbuf[i] = y * 0.2
p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paFloat32, channels=1, rate=44100, output=True)
stream.write(outbuf)
stream.stop_stream()
stream.close()
p.terminate()
play_sound("sine", 1000, 1, 1000)
Run Code Online (Sandbox Code Playgroud)