AcoustID音频指纹环境配置--Chromaprint

    AcoustID是一个开源的音频识别项目。官网链接:https://acoustid.org/   bitbucket链接:https://bitbucket.org/account/user/acoustid/projects/AC

    该项目的组件包括:

    1. Server: 一个Python编写的Web应用。配置完成后,可以通过Url访问Web服务,并根据api参数从后台PostgreSQL数据库中查询或提交音频指纹。

    2. Chromaprint:可提供一个客户端的公共库,能够通过特定算法计算音频文件的指纹,是AcoustID项目的核心。

    3. Fingerprinter:一个跨平台的Gui应用,用户在使用时可选取本地音频文件,并添加meta信息,Fingerprinter可以将该音频文件的指纹提交到AcoustID的后台数据库。

 

     以上三个组件中,Chromaprint和Server是本地测试应用时必须配置的,源码也具有很大的参考价值。Fingerprinter相对来说用处不大,更多的是用户对AcoustID数据库的一种反馈。

     本篇文章将记录AcoustID-Chromaprint的环境配置过程。参考:https://bitbucket.org/acoustid/chromaprint

    ###获取源代码###

git clone https://bitbucket.org/acoustid/chromaprint.git
wget http://ffmpeg.org/releases/ffmpeg-3.1.1.tar.bz2

  ###安装FFmpeg###

tar jxvf ffmpeg-3.1.1.tar.bz2
cd ffmpeg-3.1.1
sudo apt-get install pkg-config
./configure --enable-shared
make && make install

  #这里需要注意,一定要设置--enable-shared选项,否则安装Chromaprint时会报错:/usr/local/lib/libavcodec.a:could not read symbols:Bad value

     #也可以根据需要使用./configure --help设置其他选项

   ###安装Chromaprint###

cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=ON .
make
sudo make install

 ###测试用例fpcalc###

cd examples
./fpcalc test.mp3 -length 301

  安装成功后,可以用fpcalc计算音频文件的指纹。length参数为歌曲时间(秒数)。

posted @ 2016-07-30 19:10  马路上的南瓜  阅读(1804)  评论(0)    收藏  举报