Marsyas (Music Analysis, Retrieval and Synthesis for Audio Signals)
Ubuntu Linux 9.04 でコンパイルしてみる。ついでに deb パッケージも作る。
marsyas-0.3.1.tar.gz をダウンロードする。
cmake が必要。
$ sudo apt-get install cmake
alsa のライブラリが必要。
On most distributions, this is a package called alsa-devel or libalsa-devel. とのことだが、Ubuntu では下記の名前らしい。
$ apt-cache search libasound2-dev libasound2-dev - shared library for ALSA applications. Development files $ sudo apt-get install libasound2-dev
に従って作業。
$ tar xvfz marsyas-0.3.1.tar.gz $ cd marsyas-0.3.1 $ mkdir build $ cd build $ ccmake ../src/
c を押す。 とりあえずデフォルトのオプション設定でよしとする。 g を押す。
には make install せよと書いてあるが、
$ make
コンパイルが始まり、下記で終了。
... [ 99%] Built target tempo Scanning dependencies of target virtualsensor [100%] Building CXX object apps/virtualsensor/CMakeFiles/virtualsensor.dir/virtualsensor.cpp.o Linking CXX executable ../../bin/virtualsensor [100%] Built target virtualsensor
せっかくなので(自分用の)deb パッケージを作りたい。
$ sudo checkinstall make install
パッケージ名やバージョン番号など直しておく。
======================== インストールに成功しました ========================== grep: /var/tmp/tmp.BeBxWTFigc/newfile: No such file or directory Some of the files created by the installation are inside the build directory: /home/nishi/src/marsyas-0.3.1/build You probably don't want them to be included in the package, especially if they are inside your home directory. Do you want me to list them? [n]: それらをパッケージから除外しますか?(yesと答えることをおすすめします) [y]:
デフォルトのまま Enter を2回押す
tempディレクトリにファイルをコピー..OK Stripping ELF binaries and libraries...OK manページを圧縮..OK ファイルリストを作成..OK Debianパッケージを作成.. ... ********************************************************************** Done. The new package has been installed and saved to /home/nishi/src/marsyas-0.3.1/build/marsyas_0.3.1-1_i386.deb You can remove it from your system anytime using: dpkg -r marsyas **********************************************************************
完成した。
$ ls -l *.deb -rw-r--r-- 1 root root 35134740 2009-08-05 13:29 marsyas_0.3.1-1_i386.deb
$ sfplay Usage : sfplay [-g gain] [-s start(seconds)] [-l length(seconds)] [-f outputfile] [-p pluginName] [-r repetitions] [-ws windowsize(samples)] file1 file2 file3 where file1, ..., fileN are sound files in a MARSYAS supported format or collections $ bextract Usage : bextract [-e extractor] [-h help] [-s start(seconds)] [-l length(seconds)] [-m memory] [-u usage] collection1 collection2 ... collectionN $ MarPlayer bash: MarPlayer: command not found