python - 一种在连续数组上维护索引指针的方法
问题描述
在 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 个波在节拍边界上合并,这并不是很理想。
从本质上讲,我的问题是(在没有我没有想到的更好解决方案的情况下),是否有逻辑来存储对数组中的一段数据的引用,这样当被调用时,我总能在其中找到所述数据的索引阵列?
解决方案
推荐阅读
- sql - SQL连接表的最佳实践
- c - 如何从c中的文件文本中仅获取数字?
- react-native - 在刷新之前,Mobx 状态不会在 App.js 中更新
- r - 循环创建新的数据框
- python - 如何在 Ploty 动画滑块中设置小数位数 - Python
- swift - 如何在 SwiftUI 中创建 2 行标题?
- reactjs - 在 React 中由 CSS-In-JS 设置的类的存在的酶测试
- botframework - 如何获取从 Bot Framework Composer 发送的消息的 ResourceResponse.Id
- postgresql - modifySql 附加标签不起作用 liquibase
- vba - 在 Word 标题中插入文本而不是图片