将aux-port与python

问题描述

我最近开始在大学里使用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 (将#修改为@)