0

我最近开始在大学使用 python,我希望能够在我的示波器上显示 python 的图。我以前使用别人的代码将我的范围用作矢量显示:

https://www.youtube.com/watch?v=oXR4yCge4AU

在“XY 模式”中,示波器使用不同的电压作为 x 和 y 坐标,如视频中所示,并且通常使用来自计算机左右音频通道的声音来完成。

所以我在想,如果我可以使用数组中的值来操纵每个音频通道的波形,那么应该可以在示波器上显示绘图。我找到了几个运行音频或合成常规波形的示例,但我想知道是否有办法通过更多控制来控制音频输出?

- 编辑 -

我找到了一个从函数生成正弦的代码示例:

import struct
import numpy as np

samplingRate = 44100
freq = 440
samples = 44100

x = np.arange(samples*100)
y = 100*np.sin(2* np.pi * freq * x / samplingRate)

f = open('test.wav', 'wb')
for i in y:
    print(i)
    f.write(struct.pack('b',int(i)))

f.close()

但是,如果我尝试使用更复杂的功能:

x = np.arange(samples*100)
#y = 100*np.sin(2* np.pi * freq * x / samplingRate)
y = 100*(x^4 + 7*x^3 + 8*x^2 + x) * freq / samplingRate

我收到以下错误:

10.276643990929704
10.166893424036282
10.136961451247165
153.3015873015873
Traceback (most recent call last):
  File "audio_test.py", line 28, in <module>
    f.write(struct.pack('b',int(i)))
struct.error: byte format requires -128 <= number <= 127
4

0 回答 0