2012-07-18 95 views
3

我正在开发一个简单的java音频播放器。我需要的唯一高级功能是频率滤波器。它不一定是一个全功能的均衡器功能,在特定频率范围内具有不同的增益:一个低通滤波器可以将频率高于指定值的频率就足够了。java音频滤波器

我研究了jlGui它有一个均衡器,但它只适用于MP3数据,而我将播放的文件是OGG。

浏览各种答案我发现像XugglerJave ffmpeg包装可能是一个解决方案。但我没有找到任何教程,甚至没有找到如何使用ffmpeg来处理频率过滤的起点。

另外JMF被描述为实现这样一个函数的有效选择,但是我没有发现任何具体的东西。

+0

如果你有PCM音频数据,你可以实现你自己的过滤器。虽然这是通常由工程师执行的任务,但您可以使用“食谱”资源,例如http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt或此http://www.amazon .com/Digital-Audio-Java-Craig-Lindley/dp/0130876763 – 2012-07-18 21:08:47

回答

1

http://www.cs.ubc.ca/~kvdoel/jass/doc/index.html

这是由UBC温哥华JASS项目的Javadoc。它是免费的非商业用途。你应该能够用它来实现大多数类型的过滤器。检查实际源代码下载的URL级别。

+0

谢谢。我已经花了几个小时来分析这个有趣的项目,但是,就我所能理解的而言,它只提供对它所产生的声音的频率成分进行滤波。我无法将相同的滤镜应用于加载的音频文件。我很乐意被证明是错误的,但看起来JASS不是我所需要的。 – Giuseppe 2012-07-23 14:57:37

+0

我已经在实践中对PCM数据执行过滤的项目中使用了这个功能。它工作得非常好......特别是BiQuad滤波器,无论如何都非常简单。这里有一些更多的链接可以帮助你:http://www.arachnoid.com/BiQuadDesigner/index.html ---这个网站对你的BiQuad系数非常有用。 ...还有:http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt ...因为你想制作一个EQ。我有时在代码中使用过这两个站点的内容,并且它在实践中也运行得很好。 – ManabuKun 2012-07-27 02:47:12

0

我发现了一个叫JEQ
老项目正是基于javax.sound并使用IIR创建一个10/15/25/31段均衡器。它适用于PCM数据(不像其他的MP3),所以我希望我可以使它与OGG协同工作。我唯一关心的是输出质量,这在我的一些测试中不是很好。我得调查

1

我结束了使用此解决方案(Windows应用程序):Equalizer APO

它利用Windows Vista和更高版本中提供音频处理对象的技术。我的应用程序只需要编辑配置文本文件,其余部分由APO完成。

很明显,它是平台依赖的,我必须安装一个外部应用程序来使我的过滤器工作,但在我的情况下它是可以接受的,并且它很容易实现。