Эквалайзер в реальном времени для всех аудио на компьютере - PullRequest
2 голосов
/ 11 июня 2010

Можно ли захватить весь звук с компьютера и пропустить его через эквалайзер, прежде чем дойти до динамиков?

Как на нем можно запрограммировать полосовой фильтр?

РЕДАКТИРОВАТЬ: Я пытаюсь получить это на Windows (с Python? Хе), но если есть общий, кросс-платформенный подход, который был бы замечательно.

Ответы [ 2 ]

1 голос
/ 11 июня 2010

Вы можете реализовать эквалайзер, используя дискретные полосовые фильтры, или вы можете сделать это в частотной области (FFT -> equalize -> IFFT).Для полосовых фильтров вы можете либо объединить фильтр нижних частот и фильтр верхних частот, либо использовать одну из самых распространенных конструкций, например демпфирующий резонатор.

То, как вы на самом деле реализуете это, будет зависеть от того, какая ОС, язык программирования,и т. д., вы используете.

1 голос
/ 11 июня 2010

На платформе GNU / Linux с ядром с включенной функцией преимущественного режима в реальном времени у вас есть JACK Audio Connection Kit.Проще говоря, JACK позволяет вам подключать аудио-программы, поддерживающие JACK, так, чтобы вы могли захватывать весь звук с вашего компьютера.

Затем вы передадите этот захваченный звук в другую аудиопрограмму JACK, в которой установлен ваш плагин эквалайзера.Плагин эквалайзера, по крайней мере в Linux, будет либо плагином LADSPA, либо последующим плагином LADSPA стандарта LV2.

Вы можете запрограммировать полосовой фильтр, если у вас очень и очень хорошее понимание очень высокого уровняматематика (ИМХО) и отличное знание цифровой обработки сигналов в целом.Если у вас нет этих навыков, я бы настоятельно не рекомендовал вам кодировать полосовой фильтр и просто использовать одну из многих свободно доступных реализаций.

http://jackaudio.org

http://ladspa.org

http://lv2plug.in

см. Также:

http://musicdsp.org

...