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