Анализатор живого звукового спектра
Анализатор живого звукового спектра - это небольшая (всего один файл)
программа, написанная в Си для линукса, которая отображает частотный спектр
живого звукового сигнала в виде плавно опускающейся вниз анимации.
Внизу приведены скриншоты.
Для использования этой программы необходимо вначале запустить Jack (QjackCtl).
Также необходимо знать, к какому звуковому порту ее подсоединить.
Чтобы скомпилировать программу, откройте терминал в папке, в которой
находится файл jack_spectrum.c и запустите команду
gcc jack_spectrum.c -o jack_spectrum `pkg-config --cflags gtk+-3.0 --libs portaudio-2.0 fftw3f jack gtk+-3.0` -lpthread -lm
После успешного компилирования, программа может быть запущена посредством
следующей комманды:
./jack_spectrum [ -a api (1 для jack, 2 для portaudio) ] [ -t transform (1 для FFT, 2 для CQT) ] порт
Заметьте, что можно использовать только один звуковой порт.
Чтобы анализировать звук, производимый программами как audacious или
zynaddsubfx, используйте опцию -а 1 , например:
./jack_spectrum -t 1 -a 1 audacious:out_1
Чтобы отображать звук из микрофона, используйте опцию -а 2
Когда вы используете Jack API опцию (-а 1), подключение к порту производится
посредством указания его имени, которое можно увидеть в окне
connections программы QjackCtl.
Если вы изпользуете Portaudio API опцию (-а 2), порт указывать не нужно,
используется стандартный порт микрофона.
Высота окна может быть изменена посредством изменения значения переменных
ROWS или CQT_ROWS в коде программы.
Информация для программистов:
Jack Live Spectrum использует два алгоритма чтобы рассчитать частотный
спектр: преобразование Фурье (FFT transform) и преобразование CQT, которое
тоже основано на формуле Фурье, но намного сложнее. Выбрать нужный алгоритм
можно посредством коммандной опции -t .
Эта программа использует libfftw3f-dev, libportaudio2, ljack, gtk+-3.0 и lpthread.