Muse は Microsoft Windows 用のソフトウェアですが、wine というソフトウェアを使用することで、[[Linux:http://ja.wikipedia.org/wiki/Linux]] 上でも実行することができます。
Muse は Microsoft Windows 用のソフトウェアですが、[[Wine:http://ja.wikipedia.org/wiki/Wine]] というソフトウェアを使用することで、[[Linux:http://ja.wikipedia.org/wiki/Linux]] 上でも実行することができます。

#contents

*Wine とは [#c4e6d1fb]

[[Wine:http://ja.wikipedia.org/wiki/Wine]] は、[[80x86:http://ja.wikipedia.org/wiki/80x86]]([[IA-32:http://ja.wikipedia.org/wiki/IA-32]]) CPU で動作する[[広義の UNIX:http://ja.wikipedia.org/wiki/UNIX#UNIX.E3.81.AE.E5.AE.9A.E7.BE.A9]] 上で Windows API を実行するプロジェクトです。

具体的には、[[Linux:http://ja.wikipedia.org/wiki/Linux]]、[[FreeBSD:http://ja.wikipedia.org/wiki/FreeBSD]]、[[Mac OS X:http://ja.wikipedia.org/wiki/Mac_OS_X]]、[[Solaris:http://ja.wikipedia.org/wiki/Solaris]] などをターゲットとしているので、これらの全ての OS 上で Muse が動作する可能性があります。

*Wine のインストール [#ie3dd41c]

[[Wine HQ:http://www.winehq.com/]] → [[Get Wine Now:http://www.winehq.com/site/download]] と辿って、お使いの Linux ディストリビューション用のバイナリパッケージがあれば、それをインストールします。

なければ、更に [[SourceForge.net:http://sourceforge.net/project/showfiles.php?group_id=6241]] を辿ってソース(Source Packages)を入手します。~
ソースからのインストールの場合、

 tar jxf wine-0.9.23.tar.bz2
 cd wine-0.9.23
 ./configure --with-x
 make depend
 make
 su
 make install
 exit

という手順でいけると思います。~
もちろん、事前に README と ./configure --help を良く読んで下さい。
もちろん、事前に README と ./configure --help をよく読んで下さい。

インストールが終了したら、

 winemine

を実行してみましょう(マインスイーパです)。

実行してみると、延々と、

 Font metrics: xx.x% done

というメッセージが出て、何回か 100% に達してからやっとマインスイーパが実行されます。~
何度やっても、毎回この作業が繰り返されます。~
私は、

 cd ~/.wine/drive_c/windows/fonts/
 cp /usr/X11R6/lib/X11/fonts/TrueType/ipa*.ttf .

で幸せになれました。

*Muse のインストール [#c7d2c96f]

[[MUSE WORLD:http://homepage3.nifty.com/~atomic/muse/muse.htm]] → ダウンロード と辿って、Muse Ver '''X.X''' をダウンロードします。

muse'''XXX'''.exe を適当なディレクトリで展開します。

私は、~/lib/muse/ にインストールしました。

 mkdir -p ~/lib/muse
 cd ~/lib/muse
 lha e ~/muse491.exe
 rm ! $

早速、Muse を起動してみましょう。

 wine muse.exe

ハードウェア音源があって適切に設定されていれば、Windows 環境と同様に音がなるはずです。

音源がなくて音がならない場合、一旦 Muse を終了して、

 timidity -iA &

として、TiMidity++ を ALSA シーケンサ クライアントモードで起動してから上記を実行します。

timidity -iA でエラーが出る、つまり、TiMidity++ のコンパイル時に ALSA シーケンサ クライアントモードインタフェイスを組み込んでいない、または、そもそも TiMidity++ がインストールされていない場合には、適切なパッケージを拾ってきてインストールするか、[[TiMidity++:http://timidity.sourceforge.net/]] からソースをダウンロードしてきて、./configure に --enable-audio=alsa --enable-alsaseq のオプションをつけてコンパイル・インストールして下さい。

 cd ~/lib/muse
 wine muse.exe sample1.mus

で、最後の拍手(applause.wav)が再生されない場合、

 winecfg

で、オーディオ タブを選択して、ALSA Driver にチェックを入れてみましょう。

ただし、Wine + Muse + TiMidity++ では、かなりのマシンパワーがないと、演奏・表示にもたれが出ます。

*muse コマンドの作製 [#of3d3407]

毎回々々、wine ~/lib/muse/muse.exe hogehoge.mus などと打ち込むのは面倒だし、Muse のコマンドオプションは *a などの形式で、UNIX と相性が悪いので、~/bin/muse という下記のコマンドを作ってみました。~
chmod u+x ~/bin/muse で実行属性をつけます。
毎回々々 wine ~/lib/muse/muse.exe hogehoge.mus などと打ち込むのは面倒だし、Muse のコマンドオプションは *a などの形式で、UNIX のシェルと相性が悪いので、~/bin/muse という下記のコマンドを作ってみました。~
chmod u+x ~/bin/muse で実行属性をつけます。~
muse.exe *a *e *p *s sample3.mus なら muse -aeps sample3.mus とまとめて指定できます。

 #! /usr/local/bin/ruby
 WINE = 'wine'
 MUSE = '~/lib/muse/muse.exe'
 DEVNULLOPTION = '> /dev/null 2>&1'
 REDIRECTION = '> /dev/null 2>&1'
 def usage()
   print <<EOF
   print <<EOM
 Usage:
   muse [options] [filename]
 Options:
   -a    Flip score automatically
   -e    Exit Muse just after the performance
   -f    Show finger meter dialog
   -h    Show this help
   -i    Run Muse with minimized window
   -m    Show member color dialog
   -o    Compile muse data file into MIDI
   -p    Start performance after activation
   -s    Show score monitor window
   -x    Inhibit multi-activation
 EOF
 EOM
 end
 require 'getopts'
 command = "#{WINE} #{File.expand_path(MUSE)} "
 unless getopts('aefhimopsx', 'help')
   abort("Invalid option(s).\nTry muse --help for more information.\n")
 end
 if $OPT_h or $OPT_help
   usage()
   exit(0)
 end
 if $OPT_a then command += "'*a' " end
 if $OPT_e then command += "'*e' " end
 if $OPT_f then command += "'*f' " end
 if $OPT_i then command += "'*i' " end
 if $OPT_m then command += "'*m' " end
 if $OPT_o then command += "'*o' " end
 if $OPT_p then command += "'*p' " end
 if $OPT_s then command += "'*s' " end
 if $OPT_x then command += "'*x' " end
 command += "#{ARGV.join(' ')} #{DEVNULLOPTION}"
 command += "#{ARGV.join(' ')} #{REDIRECTION}"
 system(command)

実行には [[Ruby:http://www.ruby-lang.org/]] が必要です。

最初の 4行をそれぞれの環境に合わせて修正すれば、大抵動作すると思います。

Let's happy musing !


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Google