如何从Java获取Acoustid(Chromaprint)来识别mp3 / m4a / etc

时间:2013-01-10 07:00:59

标签: java ffmpeg transcoding xuggler audio-fingerprinting

有没有人设法在Java应用程序中使用acoustid(http://acoustid.org/chromaprint)?访问chromaprint clib应该很容易,但我不能只传入音频文件。我需要原始的未压缩音频数据。

我尝试使用xuggler来获取未压缩的音频,但却无法获得任何效果。基本上我不知道如何从编码文件中获取原始音频,如mp3 / m4a / etc

有人设法让这项工作成功吗?有人介意分享他们的代码吗?

1 个答案:

答案 0 :(得分:3)

我建议您使用fpcalc命令行工具(包含在Chromaprint中,Windows / Mac / Linux的二进制文件包含在网站上),在Java应用程序的子进程中运行它。你得到这样的输出,这应该很容易解析:

FILE=/path/to/file.mp3
DURATION=398
FINGERPRINT=AQADtEqkRIkkrQ...

这就是大多数程序集成AcoustID的方式,我相信这是最简单的方法。