Как получить Acoustid (Chromaprint) из Java для идентификации mp3/m4a/etc
Кому-нибудь удалось использовать acoustid (http://acoustid.org/chromaprint) в приложении Java? Доступ к клипа chromaprint должен быть легким, но я не могу просто передать аудиофайл. Мне требуются необработанные несжатые аудиоданные.
Я пытался использовать xuggler, чтобы получить несжатый звук, но ничего не получилось. По сути, я понятия не имею, как получить сырой звук из закодированных файлов, таких как mp3/m4a/etc
Кому-нибудь удалось сделать эту работу? Кто-нибудь может поделиться своим кодом?
1 ответ
Я предлагаю вам использовать fpcalc
инструмент командной строки (входит в Chromaprint, двоичные файлы для Windows/Mac/Linux включены на веб-сайте), запустите его в подпроцесс из вашего Java-приложения. Вы получите вывод, подобный этому, который должен быть легко проанализирован:
FILE=/path/to/file.mp3
DURATION=398
FINGERPRINT=AQADtEqkRIkkrQ...
Именно так большинство программ интегрируют AcoustID, и я считаю, что это самый простой способ.