一种在连续数组上维护索引指针的方法

时间:2018-12-20 11:20:48

标签: python arrays numpy matplotlib

在Python中,我目前正在尝试为我喜欢的特定吉他即兴演奏创建每音符的频率可视化效果

为了做到这一点,并用matplotlib.pyplot绘制点,我正在为每个音符做类似的事情,但是最终将在2个特定频率的特定点处对y值求和

import numpy
import matplotlib.pyplot as plt

t_per_beat = 110/60.0 #tempo is 110 bpm, finding no of seconds per beat

#creating range of x values for 8 beats of music, in this case 2 bars
x0 = numpy.linspace(0, t_per_beat * 8, 100)
a = []
#generate y-axis values
for i in x0:
    a.append(numpy.sin(<note_freq> * i)

我希望y轴的值像x轴一样连续,所以最好绘制点数组,但是我也希望能够索引数组中的特定间隔,直到'十六分音符”(t_per_beat / 4)

因为笔记的频率值可能会增加(所以我需要增加numpy.linspace数组中的点数,所以不能保证整个数组中索引编号的间隔是一致的。

当然最好拆分成多个单独的数组(即二维列表)的容器,但是如果对波进行建模意味着2个波在拍子边界上合并,那不是很理想。

本质上,我的问题是(在没有我没有想到的更好解决方案的情况下),是否存在将对数据的引用存储在数组中的逻辑,以便在被调用时我总能找到说数组中的数据?

0 个答案:

没有答案