Ubuntu下安装Yaafe

来源:互联网 发布:家族企业 知乎 编辑:程序博客网 时间:2024/05/13 21:28

安装Yaafe

官方安装文档:http://yaafe.sourceforge.net/manual/install.html 
还是推荐大家去看一看的

(1)获取Yaafe

yaafe源码可以从以下方式获得: 
官网下载: http://yaafe.sourceforge.net (不推荐) 
git: https://github.com/Yaafe/Yaafe/ (推荐)

官网上的版本比较老,对gcc4.6编译会出问题,我就是卡在这卡了好久,最后才发现是这个坑,顿时内牛满面…所以一定要用git上的,而且必需是这个网址的https://github.com/Yaafe/Yaafe/


  • 步骤:
mkdir Yaafe  cd Yaafe
  • 1
  • 2
  • 3
  • 1
  • 2

下载Yaafe-master.zip,至Yaafe文件夹下,解压。

      下载Yaafe-master.zip(2)下载Yaafe依赖

Yaafe部署在Linux和Max Os X平台上,需要CMake作为编译工具。

Yaafe需要第三方的lib包才能够使用特定的特征。你的电脑需要安装可用的lib包。

argtable是一定需要的。

你可能会用到一些可选的特征,其他的lib包你可能需要用到:

libsndfile

libmpg

HDF5>=1.8

liblapack

FFTW3

为了使用yaafe.py你需要Python>=2.5,还有numpy包。

为了获取这些依赖包 我们使用以下命令安装所有依赖包:

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
  • 1
  • 1

(3)编译安装Yaafe

在yaafe-master文件夹下:

mkdir buildcd build
  • 1
  • 2
  • 1
  • 2

接着调用cmake-gui调出cmake的图形界面选择好两个文件夹

这里写图片描述

接着点击configure ,之后按照下面图片打勾,如果要用到matlab 那么就全部打勾

这里写图片描述

点击generate后关闭图形化界面,在build文件夹里输入命令:

makemake install
  • 1
  • 2
  • 1
  • 2

如果不报错 那么算是装完了

我自己在装的时候报了找不到 #include<eigen/balabala>找不到的错

解决方案如下:

1安装:sudo apt-get install libeigen3-dev

2 调整,默认安装路径是:/usr/include/eigen3 

cd /usr/include/eigen3

Series:/usr/include/eigen3$      ls
Eigen  signature_of_eigen3_matrix_library  unsupported  

需要执行复制命令,将Eigen文件夹放在/usr/include 下面

sudo cp Eigen/ .. -R


(4)配置环境

在你安装的路径下(默认路径是/usr/local/lib)你可以找到一下目录(我装完后是没找到这些文件夹,所以只介绍下):

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才能找到可用的特征:

你必须把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_PATHexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INSTALL_DIR/libexport PYTHONPATH=$PYTHONPATH:$INSTALL_DIR/python_packages

如果要用Matlab,你可以设置MATLABPATH变量:

export MATLABPATH=$MATLABPATH:$INSTALL_DIR/matlab

三、测试

测试一下你的yaafe是否安装成功了

新建一个test.py,代码如下:

from yaafelib import *  import sys  # -*- coding:utf-8 -*-  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)  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

最后的path换成自己歌曲的路径,如果运行正常则表示成功安装.如果出现问题,可以看看自己的动态路径是否已经设置完毕:

如果没有配置好动态路径:

luther@gliethttp:~$ sudo vim /etc/ld.so.conf
比如将当前路径作为lib链接默认搜索路径,
include /etc/ld.so.conf.d/*.conf
include /usr/local/lib
include .
luther@gliethttp:~$ sudo ldconfig

能输出结果接表示yaafe安装好了。

0 0
原创粉丝点击