Echoprint是一個開源的音頻檢索系統(tǒng),在這里首先介紹下怎么使用其音頻指紋提取。
在它的官網(wǎng)可以下載到最新的4.12版的codegen源碼。http://echoprint.me/
下載后解壓備用。
按照以下的步驟一步步來:
1、安裝CMake,網(wǎng)站:http://cmake.org/cmake/resources/software.html
CMake是一個跨平臺的安裝(編譯)工具,可以用簡單的語句來描述所有平臺的安裝(編譯)過程,它能夠輸出各種各樣的makefile或者project文件。
2、下載zlib,網(wǎng)站:http://www.zlib.net/
zlib是提供數(shù)據(jù)壓縮用的函式庫,由Jean-loup Gailly與MarkAdler所開發(fā)。zlib使用DEFLATE算法,最初是為libpng函式庫所寫的,后來普遍為許多軟件所使用,此函式庫為自由軟件,使用zlib授權(quán)。
3、下載taglib,網(wǎng)站:http://taglib.github.io/
用于從不同格式的音頻文件中讀取音頻數(shù)據(jù)。
4、下載Boost,網(wǎng)站:http://www.boost.org/
Boost庫是為C++語言標準庫提供擴展的一些C++程序庫的總稱。
下面開始使用這些東西啦:
5、解壓zlib,taglib和boost到任意目錄,分別對他們進行操作:
###zlib
1)打開CMake
2)點擊Browse Source...和Browse Build...選擇zlib目錄的解壓路徑
3)點擊configure
4)選擇Visual Studio 11作為generator,選擇use default nativecompilers
5)點擊generate,此時zlib目錄下會編譯出zlib.sln,過程中沒有錯誤就成功了
6)打開zlib.sln
7)選擇編譯方式為release
8)在解決方案資源管理器中右擊zlib工程并選擇生成
###taglib
1)打開CMake
2)點擊Browse Source...和Browse Build...選擇taglib目錄的解壓路徑
3)點擊configure
4)選擇Visual Studio 11作為generator,選擇use default nativecompilers
5)點擊generate,會出現(xiàn)錯誤“Could NOT findZLIB”,此時要勾選Advanced
6)在最下面將ZLIB_INCLUDE_DIR改為zlib的目錄,將ZLIB_LIBRARY的值改為zlib.lib,例如:F:/zlib-1.2.7/Release/zlib.lib
7)點擊Genarate,此時taglib目錄下會編譯出taglib.sln
8)打開taglib.sln
9)選擇release
10)在解決方案資源管理器中右擊tag工程并選擇生成
###FFmpeg
1)下載ffmpeg,網(wǎng)站:http://ffmpeg.zeranoe.com/builds/
2)解壓到任意目錄
3)將ffmpeg目錄下的bin目錄添加進系統(tǒng)的環(huán)境變量
4)這個時候要重啟電腦,讓環(huán)境變量生效,之前就是在這里忘了重啟,卡了很久。。。
###編譯codegen
1)重啟之后打開最先下載解壓備用的codegen.sln
2)右擊codegen選擇屬性,選擇配置屬性-C/C++-常規(guī),在附加包含目錄中將自動添加的zlib和taglib、boost目錄的路徑都刪掉,自己重新添加正確的目錄,另外要將taglib目錄下的各種格式路徑都添加進去,比較多,如圖:
3)接著在屬性頁面中,配置屬性-鏈接器-常規(guī),在附加庫目錄中將zlib和taglib的Release路徑添加進去,如圖:
4)最后在配置屬性-鏈接器-輸入中,將附加依賴項的名稱改正確,就是tag.lib和zlib.lib,對的話就不要改了,如圖:
5)注意這些設(shè)置都是選擇release后的,如果選了debug也要重新設(shè)置,編譯成功后,在echoprint-codegen-release-4.12\windows\Release目錄下就會有codegen.exe了,把zlib.dll和taglib.dll復制過來之后可以用命令行運行一下試試看。