yaafe源碼能夠從一下得到: python
http://yaafe.sourceforge.net 或者 https://github.com/Yaafe/Yaafelinux
Yaafe部署在linux和Max Os X平臺上,須要CMake做爲編譯工具。
git
Yaafe須要第三方的lib包纔可以使用特定的特徵。你的電腦須要安裝可用的lib包。
github
argtable是必定須要的。
shell
你可能會用到一些可選的特徵,其餘的lib包你可能須要用到:
ubuntu
libsndfile api
libmpg工具
HDF5>=1.8測試
爲了使用yaafe.py你須要Python>=2.5,還有numpy包。
須要一下的debian/ubuntu包:
cmake: cmake cmake-curses-gui
argtable2: libargtable2-0 libargtable2-dev
libsndfile: libsndfile1 libsndfile1-dev
libmpg123: libmpg123-0 libmpg123-dev
lapack: liblapack-dev
hdf5: libhdf5-serial-dev libhdf5-serial-1.8.4
fftw3: libfftw3-3 libfftw3-dev
能夠用一下的命令來得到:
> sudo apt-get install cmake cmake-curses-gui libargtable2-0 libargtable2-dev libsndfile1 libsndfile1-dev libmpg123-0 libmpg123-dev libfftw3-3 libfftw3-dev liblapack-dev libhdf5-serial-dev libhdf5-serial-1.8.4
最後的 libhdf5-serial-1.8.4被libhdf5-7:i386 和 libhdf5-7 取代,因此能夠用一下代碼:
> sudo apt-get install cmake cmake-curses-gui libargtable2-0 libargtable2-dev libsndfile1 libsndfile1-dev libmpg123-0 libmpg123-dev libfftw3-3 libfftw3-dev liblapack-dev libhdf5-serial-dev libhdf5-7:i386 libhdf5-7
在yaafe文件夾下,新建build文件夾,可用命令:
> mkdir build > cd build
開啓CMake設置
> ccmake -DCMAKE_PREFIX_PATH=<lib-path> -DCMAKE_INSTALL_PREFIX=<install-path> ..
也能夠直接使用一下代碼:
> ccmake ..
或者調用cmake的圖形界面,調用命令
> cmake-gui
以後設置選擇yaafe文件位置
選擇yaafe裏面的build文件夾
以後點擊configure按鈕
以後按照下面圖片打勾,若是要用到matlab 那麼就所有打勾
最後在點擊generate按鈕
在build文件夾裏執行:
> make > make install
若是權限不夠,自行添加sudo
在你安裝的路徑下你能夠找到一下目錄:
INSTALL_DIR/bin/
INSTALL_DIR/include/
INSTALL_DIR/lib/
INSTALL_DIR/matlab/
INSTALL_DIR/python_packages/
INSTALL_DIR/yaafe_extensions/
你必須把yaafe_extensions目錄設置到YAAFE_PATH環境裏,這樣yaafe才能找到可用的特徵:
export YAAFE_PATH=$INSTALL_DIR/yaafe_extensions
爲了更方便的使用Yaafe,你可能要設置環境變量:
export PATH=$PATH:$INSTALL_DIR/bin # on MacOsX replace LD_LIBRARY_PATH => DYLD_LIBRARY_PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INSTALL_DIR/lib export PYTHONPATH=$PYTHONPATH:$INSTALL_DIR/python_packages
若是要用Matlab,你能夠設置MATLABPATH變量:
export MATLABPATH=$MATLABPATH:$INSTALL_DIR/matlab
測試一下你的yaafe是否安裝成功了
新建一個test.py,代碼以下:
from yaafelib import * import sys def getFeature(path): fp = FeaturePlan(sample_rate=44100, resample=True, time_start=20,time_limit=40) # 20s fp.addFeature("energy: Energy")#能量 df = fp.getDataFlow() engine = Engine() engine.load(df) afp = AudioFileProcessor() afp.processFile(engine, path) features = engine.readAllOutputs() energy = features.get('energy') energyMean=energy.mean(axis=0) #均值 energyVar =energy.var(axis=0) #方差 print energyMean[0] print energyVar[0] return if __name__ == '__main__': #print sys.path path='/home/jason/gra/music/test/rock/nono.mp3' getFeature(path)
最後的path換成本身歌曲的路徑,若是運行正常則表示成功安裝.若是出現問題,能夠看看本身的動態路徑是否已經設置完畢,
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INSTALL_DIR/lib
等號後面的路徑通常是/usr/local/lib.
這樣yaafe就算是安裝成功了
總結:對於yaafe的安裝過程,出現不少問題,本人在這裏也是新手。在最後一步是官方文檔中的描述,我只是進行了翻譯,由於本人也沒有找到這幾個文件夾,若是有人能給予回答那麼是再好不過了。作到第五步的時候,用python從yaafelib導入已經不會報錯了
若是還有問題能夠一塊兒討論,謝謝。