Библиотека спектрограмм C++

для моего текущего проекта в C++ / Qt мне нужна библиотека (предпочтительнее LGPL), которая может вычислить спектрограмму из сигнала ( в основном массив двойников ). Я уже использую Qwt для части GUI.

какие предложения? Спасибо.

4 ответов


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

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

" Как создать график частоты и времени?" перечисляет несколько библиотек, каждая из которых может вычислить спектрограмму из сигнала.

скопировано и вставлено из моего собственного ответа:

некоторый исходный код для генерации спектрограмм / водопад участков аудио данные:

изображение на спектрограмму идет в обратном направлении от вышеуказанных предприятий.


вы можете использовать fftw (fftw.org) чтобы вычислить спектрограмму, вам все равно нужно будет построить данные, но это не должно быть проблемой


вы можете использовать код FFT из здесь. Он использует метапрограммирование шаблонов C++ для эффективности. Полный источник предоставлен автором здесь.

Он был предложил включить этот код в Eigen для его использования шаблонного (дружественного к типу) кода.