Глядя на пример кода для API визуализатора iTunes, есть данные struct
, которые содержат данные о форме волны и спектре:
struct RenderVisualData {
UInt8 numWaveformChannels;
UInt8 waveformData[kVisualMaxDataChannels][kVisualNumWaveformEntries];
UInt8 numSpectrumChannels;
UInt8 spectrumData[kVisualMaxDataChannels][kVisualNumSpectrumEntries];
};
typedef struct RenderVisualData RenderVisualData;
Есть 2 канала (kVisualMaxDataChannels
) и форма волны 512 иточки спектральных данных (kVisualNumWaveformEntries
и kVisualNumSpectrumEntries
), эквивалентные целым числам от 0 до 255.
Они полезны для визуального представления звука.Я хотел бы преобразовать эти данные (или аналогичные) в частоты, измеренные в Hz
, чтобы преобразовать их в музыкальную нотацию (примечания, по существу).
Какие ресурсы, алгоритмы и т. Д. Задействованы в этом процессе?Являются ли эти данные коэффициентами Фурье?Учитывая эти данные, как я могу вернуться к частоте в данный момент времени, которую я могу сопоставить с заметкой?