В Python я в настоящее время пытаюсь создать визуализацию частоты для каждой ноты определенного гитарного рифа, который мне нравится
Чтобы сделать это и получить точки, нанесенные matplotlib.pyplot, я делаю что-то вродеэто для каждой ноты, но в конечном итоге будет суммировать значения y в определенных точках для 2 определенных частот
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-мерный список), но если моделирование волн означает, что 2 волны сливаются по границам биенийДа, это не совсем идеально.
По сути, мой вопрос (в отсутствие лучшего решения, о котором я не задумывался), есть ли логика для хранения ссылки на часть данных в массиве?такой, что при вызове я всегда могу найти индекс указанных данных в массиве?