Как построить спектрограмму из массива или (вектор, список и т. Д. c), содержащих необработанные данные? - PullRequest
0 голосов
/ 13 апреля 2020

Я работал над поиском временного смещения между аудиосигналами, используя спектрограмму. У меня есть короткий массив, содержащий данные звуковой волны (импульсы на указанных частотах c). Теперь я хочу построить спектрограмму из этого массива. Я выполнил следующие действия ( Библиотека спектрограммы C ++ ):

Было бы довольно легко собрать собственную спектрограмму. Шаги:

  1. оконная функция (довольно тривиально, например, Ханнинг)
  2. FFT (FFTW будет хорошим выбором, но если лицензирование является проблемой, тогда go для Kiss БПФ или аналогичный)
  3. рассчитать логарифм компонент частотной области (тривиально: log (sqrt (re * re + im * im)))

Теперь после выполнения этих 3 шаги, я застрял в том, как построить спектрограмму из этих доступных данных? Будучи наивным в этой области, мне нужны некоторые четкие шаги вперед для построения спектрограммы.

Я знаю, что простая спектрограмма имеет частоту на оси Y время на оси X и величина в качестве интенсивности цвета.

Но как мне получить эти три вещи для построения спектрограммы? (Я хочу наблюдать и анализировать данные за спектральными пиками (какое значение по оси Y и X), основное назначение построения спектрограммы).

С уважением, Хубаиб

...