English

Анализатор живого звукового спектра

Анализатор живого звукового спектра - это небольшая (всего один файл) программа, написанная в Си для линукса, которая отображает частотный спектр живого звукового сигнала в виде плавно опускающейся вниз анимации. Внизу приведены скриншоты.



Для использования этой программы необходимо вначале запустить 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.


Скачать программу
Можете также посмотреть другой мой проект - Секвенсер аккордов.