问题描述
我最近开始在大学里使用python工作,我希望能够在示波器上显示python的图形。我以前曾使用其他人的代码将我的范围用作矢量显示:
https://www.youtube.com/watch?v=oXR4yCge4AU
在“ X Y模式”下,示波器用来改变电压的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
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)