计算机上所有音频的实时均衡器
是否可以捕获计算机中的所有声音并使其在到达扬声器之前通过均衡器?
如何在其上编程带通滤波器?
编辑:我正在尝试在 Windows 上实现此功能(使用 Python?呵呵),但如果有一种通用的跨平台方法那就太好了。
Is it possible to capture all the sound from a computer and have it pass through a equalizer before reaching the speakers?
How can you program a band pass filter on it?
EDIT: I'm trying to get this on Windows (with Python? heh) but if there is a generic, cross-platform approach that would be great.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在具有实时抢占功能的内核的 GNU/Linux 平台上,您可以使用 JACK 音频连接套件。简而言之,JACK 允许您连接支持 JACK 的音频程序,以便您可以捕获计算机中的所有声音。
然后,您可以将捕获的声音传递到另一个托管均衡器插件的 JACK 音频程序中。至少在 Linux 中,均衡器插件要么是 LADSPA 插件,要么是 LADSPA 的后继插件标准 LV2。
如果您对非常高水平的数学(恕我直言)有非常非常好的掌握并且对数字信号处理有很好的了解,那么您可以对带通滤波器进行编程。如果您不具备这些技能,我强烈建议您不要编写带通滤波器,而只使用许多免费实现中的一种。
http://jackaudio.org
http://ladspa.org
http://lv2plug.in
另请参阅:
http://musicdsp.org
On the GNU/Linux platform with a real time pre-emption enabled Kernel, you have the JACK Audio Connection Kit. Put simply, JACK allows you to connect JACK-aware audio programs such that you could capture all the sound from your computer.
You would then pass this captured sound into another JACK audio program which hosts your equalizer plugin. The equalizer plugin, in Linux at least, will be either a LADSPA plugin, or, LADSPA's successor plugin standard LV2.
You can program a band pass filter if you have a very very very good grasp of very high level mathematics (IMHO) and excellent knowledge of Digital Signal Processing in general. If you don't have these skills I would strongly discourage you against coding a band pass filter, and to just use one of the many freely available implementations.
http://jackaudio.org
http://ladspa.org
http://lv2plug.in
see also:
http://musicdsp.org
您可以使用离散带通滤波器来实现均衡器,也可以在频域中实现均衡器(FFT -> 均衡 -> IFFT)。对于带通滤波器,您可以组合低通和高通滤波器,也可以使用各种常见设计之一,例如阻尼谐振器。
您实际如何实现上述内容将取决于您使用的操作系统、编程语言等。
You can implement an equalizer either using discrete bandpass filters or you can do it in the frequency domain (FFT -> equalize -> IFFT). For bandpass filters you can either combine a lowpass and a highpass filter or you can use one of various common designs, such as a damped resonator.
How you actually implement the above will depend on what OS, programming language, etc, you are using.