Способ поддерживать указатели указателя на непрерывный массив - PullRequest
0 голосов
/ 20 декабря 2018

В 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 волны сливаются по границам биенийДа, это не совсем идеально.

По сути, мой вопрос (в отсутствие лучшего решения, о котором я не задумывался), есть ли логика для хранения ссылки на часть данных в массиве?такой, что при вызове я всегда могу найти индекс указанных данных в массиве?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...