LINUX.ORG.RU

FFT


0

0

Здравствуй, дорогой ЛОР. Есть одна программа, суть такова: пользователь может подавать сигнал на линейный вход звуковой карты, программа раскладывает сигнал на гармоники, выбирает одну (на данный момент) гармонику с максимальной амплитудой и синтезирует её через midi либо записывает в midi-файл.
Очень хотелось бы чтобы всё это происходило практически в реалтайме. Но так как с программирование у меня не шибко хорошо, то для преобразования Фурье я использовал либу RealFFT из gtune, ибо нашёл понятный пример использования только для неё. Но тормозит, надо сказать, дико =(
Вопрос мой в том, даст ли сильный прирост производительности использование какой-нибудь другой, более быстрой либы, и есть ли ещё какие-нибудь способы добиться приемлемой скорости?

★★★★★

apt-cache search fast fourier transform

fftw-dev - library for computing Fast Fourier Transforms
fftw-docs - documentation for fftw
fftw2 - library for computing Fast Fourier Transforms
libfftw3-3 - library for computing Fast Fourier Transforms
libfftw3-dev - library for computing Fast Fourier Transforms
libfftw3-doc - documentation for fftw version 3
...
python-numpy - Numerical Python adds a fast array facility to the Python language
...
sfftw-dev - library for computing Fast Fourier Transforms
sfftw2 - library for computing Fast Fourier Transforms
...
yorick-yeti-fftw - FFT plugin for the Yorick language

Я бы лично начал с Numpy (я только им и пользовался :)) - это на самом деле binding к Сишным либам.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Да я понимаю, что либ для фурье дофига, вопрос в том, будет ли профит от смены либы, и от какой из них профита будет больше. А вот использовать пидон что-то совсем уж не хочется в таком деле.

kranky ★★★★★
() автор топика
Ответ на: комментарий от kranky

> Да я понимаю, что либ для фурье дофига, вопрос в том, будет ли профит от смены либы, и от какой из них профита будет больше.

М.б. ты ее неправильно применяешь?

Твоя задача вполне решалась еще на 133 пне в риалтайме. Так что дерзай :-)

www_linux_org_ru ★★★★★
()

на твой вопрос, где у тебя узкое место, должен отвечать profiler.

imp ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.