1,下载源码
wget http://juicer.amiproject.org/tracter/sources/tracter-1.0.tar.gz
解压 tar xvf tracter-1.0.tar.gz
2,编译tracter
进入build目录,如果没有,就新建一个目录,名为build。下面是编译过程中依赖的包
2.1 安装 cmake
yum install cmake
2.2 安装Boost库,
错误提示:
Unable to find the requested Boost libraries. Unable to find the Boost header files. Please set BOOST_ROOT to the root directory containing Boost or BOOST_INCLUDEDIR to the directory containing Boost's headers.
下载地址:http://sourceforge.net/projects/boost/files/boost/1.53.0.beta.1/
下载后解压,直接执行 ./bootstrap.sh 脚本文件。然后会提示如何编译和安装boost libraries。
2.3 安装Kiss_FFT
源码文件:kiss_fft130.tar.gz
编译tracter时,错误提示
CMake Error at cmake/FindKissFFT.cmake:13 (message): Kiss FFT not found Call Stack (most recent call first): CMakeLists.txt:32 (find_package)运行 make testall编译,需要安装numpy(注:安装numpy时,需要python-devel,这个用yum install python-devel就可以了,然后python setup.py install 对numpy进行安装)
编译kiss_fft之后,我懒得设环境变量,直接修改FindKissFFT.cmake中的路径,如下:
set(KISSFFT_DIR $ENV{KISSFFT_DIR} CACHE FILEPATH "Path to Kiss FFT directory" ) set(KISSFFT_DIR "/juicer/dep/kiss_fft130/")本来上面是根据环境变量来设置KISSFFT_DIR的值的,我就直接写固定路径给这个值。
再编译tracter,就是cmake ../,此时出现错误如下:
-- Boost lib is /usr/local/lib/libboost_system.so;/usr/local/lib/libboost_filesystem.so -- Using Kiss FFT dir: /juicer/dep/kiss_fft130/ -- checking for module 'torch' -- package 'torch' not foundtorch找不到,这个是有的,安装torch见博文: http://blog.csdn.net/lv_xinmy/article/details/8561761。但是要修改路径,还和前面一样,修改FindTorch3.cmake中的路径。
set(TORCH3_DIR $ENV{TORCH3_DIR} CACHE FILEPATH "Path to Torch3 directory" ) set(TORCH3_DIR "/juicer/dep/Torch3/")2 .4 安装HTK.
源文件:HTK-3.4.1.tar.gz(下载页面:http://htk.eng.cam.ac.uk/download.shtml)。解压
HTK的安装很重要,默认它会以32位来安装,这里我指定以64位来安装。编译选项
./configure CFLAGS=-m64 CPPFLAGS=-m64 --prefix=/usr/local/htkHTK依赖X11,yum install libX11-devel.
这样安装之后,在/usr/local/htk/bin下面有很多命令文件,如果用HTK的话,都需要用到
[root@localhost htk]# /usr/local/htk/bin/ Cluster HERest HLMCopy HQuant HSmooth LGCopy LNewMap HBuild HHEd HLRescore HRest HVite LGList LNorm HCompV HInit HLStats HResults LAdapt LGPrep LPlex HCopy HLEd HMMIRest HSGen LBuild LLink LSubset HDMan HList HParse HSLab LFoF LMerge [root@localhost htk]# /usr/local/htk/bin/设置tracter的查找路径(和前面一样):set(HTK_DIR "/juicer/dep/htk/")
2.5 安装ALSA
源码:alsa-lib-1.0.26.tar.bz2。
这个安装过程比较简单,标准安装就可以了。如果不安装的话,tracter在cmake时会出现如下错误:
-- checking for module 'alsa' -- package 'alsa' not found安装完后,也要配置路径,我将ALSA安装在/usr下面,此时它的库PKG文件在路径/usr/lib/pkgconfig目录下,需要将这个目录加到PKG_CONFIG_PATH中
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig/
2.6 安装sndfile
源码:libsndfile-1.0.25.tar.gz
标准安装就可以了。(./configure --prefix=/usr. make make install ),我安装在usr下面,省得又要设置路径。
2.7 安装libpulse-simple
源码:pulseaudio-3.0.tar.xz
这个安装过程有一些问题,如下:
安装SPTK要注意版本,高版本没有向低版本的使用接口进行兼容,有些接口在低版本中是11个参数,而在高版本中就是12个参数了。所以我开始装的时候用3.6不行,后来改为3.4.
源码文件:SPTK-3.4.1.tar.gz
这个标准安装就可以了。
现在对tracter进行cmake ../。执行结果如下:
[root@localhost build]# cmake ../ -- Boost lib is /usr/local/lib/libboost_system.so;/usr/local/lib/libboost_filesystem.so -- Using Kiss FFT dir: /juicer/dep/kiss_fft130/ -- checking for module 'torch' -- package 'torch' not found -- Using torch3 dir: /juicer/dep/Torch3/ -- Using HTK dir: /juicer/dep/htk/ -- BSAPI not found -- Using libresample dir: /usr -- Using RtAudio dir: /juicer/dep/rtaudio-4.0.11/ -- Found SPTK: /usr/lib/libSPTK.a -- fpu_control.h found -- Configuring done -- Generating done -- Build files have been written to: /juicer/dep/tracter-1.0/build [root@localhost build]#这表示依赖的包已经全部安装了。执行cmake
cmake -D CMAKE_INSTALL_PREFIX=/usr/local/tracter .. make make install这里一个问题,我把tarcter安装到/usr/local/tracter下面,会导致tracter.pc文件位于 /usr/local/tracter/lib/pkgconfig/目录下,在编译juicer时需要把这个路径加入到PKG_CONFIG_PATH中。不过现在问题就容易了。