在python中使用aux端口

在python中使用aux端口,python,audio,vector,display,oscilloscope,Python,Audio,Vector,Display,Oscilloscope,我最近开始为大学使用python,我希望能够在示波器上显示python的绘图。我以前使用过别人的代码将我的作用域用作矢量显示: 在“X-Y模式”中,示波器使用不同的电压作为X和Y坐标,如视频中所示,通常通过计算机左右声道的声音来实现 所以我在想,如果我能用一个数组中的值来操纵每个音频通道的波形,它应该可以在示波器上显示曲线图。我已经找到了几个运行音频或合成规则波形的例子,但我想知道是否有一种方法可以通过更多的控制来控制音频输出 --编辑-- 我发现了一个从函数生成正弦的代码示例: import

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

在“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
但是,如果我尝试使用更复杂的函数:

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
10.27664390929704
10.166893424036282
10.136961451247165
153.3015873015873
回溯(最近一次呼叫最后一次):
文件“audio_test.py”,第28行,在
f、 写入(结构包('b',int(i)))

struct.error:byte格式需要-128
我想知道是否有一种方法可以通过更多的控制来控制音频输出?
你能澄清一下你的意思吗?如果你能合成任意的立体声波形,你已经完全控制了,不是吗?我找不到比频率更能控制的代码。假设我想画x^4+3^x^3。。。等等,其中一个波必须看起来像那个函数