计算机上所有音频的实时均衡器
Posted
技术标签:
【中文标题】计算机上所有音频的实时均衡器【英文标题】:Real-time equalizer for all audio on computer 【发布时间】:2010-06-11 16:38:12 【问题描述】:是否有可能从计算机捕获所有声音并让它在到达扬声器之前通过均衡器?
如何在其上编写带通滤波器?
编辑:我正在尝试在 Windows 上实现此功能(使用 Python?呵呵),但如果有通用的跨平台方法会很棒。
【问题讨论】:
您需要指定您所谈论的操作系统,因为任何解决方案都将是高度特定于操作系统的。 【参考方案1】:您可以使用离散带通滤波器实现均衡器,也可以在频域中实现(FFT -> 均衡 -> IFFT)。对于带通滤波器,您可以组合使用低通和高通滤波器,也可以使用各种常见设计中的一种,例如阻尼谐振器。
您如何实际实现上述内容将取决于您使用的操作系统、编程语言等。
【讨论】:
【参考方案2】:在启用了实时抢占内核的 GNU/Linux 平台上,您拥有 JACK 音频连接套件。简而言之,JACK 允许您连接支持 JACK 的音频程序,这样您就可以捕获计算机中的所有声音。
然后,您可以将此捕获的声音传递到另一个托管您的均衡器插件的 JACK 音频程序中。均衡器插件,至少在 Linux 中,要么是 LADSPA 插件,要么是 LADSPA 的后继插件标准 LV2。
如果您对高级数学 (恕我直言) 和一般数字信号处理有很好的了解,则可以对带通滤波器进行编程。如果您不具备这些技能,我强烈建议您不要编写带通滤波器,并且只使用众多免费提供的实现之一。
http://jackaudio.org
http://ladspa.org
http://lv2plug.in
另见:
http://musicdsp.org
【讨论】:
以上是关于计算机上所有音频的实时均衡器的主要内容,如果未能解决你的问题,请参考以下文章
基于MATLAB的高阶(两个二阶级联构成的四阶以及更高阶)数字图形音频均衡器系数计算(可直接用于DSP实现)