Muse は Microsoft Windows 用のソフトウェアですが、Wine というソフトウェアを使用することで、Linux 上でも実行することができます。

Wine とは

Wine は、80x86IA-32) CPU で動作する広義の UNIX 上で Windows API を実行するプロジェクトです。

具体的には、LinuxFreeBSDMac OS XSolaris などをターゲットとしているので、これらの全ての OS 上で Muse が動作する可能性があります。

Wine のインストール

Wine HQGet Wine Now と辿って、お使いの Linux ディストリビューション用のバイナリパッケージがあれば、それをインストールします。

なければ、更に SourceForge.net を辿ってソース(Source Packages)を入手します。
ソースからのインストールの場合、

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

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

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

winemine

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

Muse のインストール

MUSE WORLD → ダウンロード と辿って、MUSE.ZIP をダウンロードします。

MUSE.ZIP を適当なディレクトリで展開します。

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

mkdir -p ~/lib/muse
cd ~/lib/muse
unzip ~/MUSE.ZIP

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

wine muse.exe

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

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

timidity -iA &

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

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

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

Muse にオプションを渡す場合、オプションをクォーテーションで括ってやらないとおかしなことになります
これは、例えば *e というオプションはシェルによって末尾が e の全てのファイルに展開されるからです
これを防ぐために、ダブルクォーテーションかシングルクォーテーションで括ります

wine muse.exe "*f" "*m" "*p" "*q" "*s" sample1.mus

ダブルクォーテーションとシングルクォーテーションの働きの違いは、この場合には問題になりませんので、どちらを使ってもかまいません
2つの働きの違いについては、シェルについての参考書やサイトを参照して下さい。
なお、Museはオプションの列挙記述が可能なので、上記は以下のようにも書けます。

wine muse.exe "*fmpqs" sample1.mus

muse コマンドの作製

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

#! /usr/bin/ruby
WINE = 'wine'
MUSE = '~/lib/muse/muse.exe'
REDIRECTION = '> /dev/null 2>&1'
VERSION = "2.0"
def usage()
  print <<EOM
Usage:
  muse [options] [filename]
Options:
 -b    Compile muse data file into MP3 (with VSTi/SoundFont)
 -c    Compile muse data file into PDF (music score)
 -e    Compile muse data file into MIDI
 -f    Show finger meter dialog
 -h    Show this help
 -i    Run Muse with minimized window
 -l    Compile muse data file into LilyPond data
 -m    Show member color dialog
 -n    Ignore last sound source choice
 -p    Start performance after activation
 -q    Exit Muse just after the performance
 -r    Inhibit dialogs while batch execution (output muse.rep)
 -s    Show score monitor window
 -t    Omit text data into MIDI
 -u    Output Unicode text data into MIDI
 -v    Inhibit reallocation on start-up
 -w    Compile muse data file into WAVE (with VSTi/SoundFont)
 -x    Inhibit multi-activation
 -y    Output landscape music score
 -0    Output A0 size music score
 -1    Output A1 size music score
 -2    Output A2 size music score
 -3    Output A3 size music score
 -4    Output A4 size music score
EOM
end
require 'optparse'
opts = ""
begin
  params = ARGV.getopts('bcefhimpqstuvwxy01234', 'help', 'version')
  if params['h'] or params['help']
    usage()
    exit(0)
  end
  if params['version']
    print "muse.rb version #{VERSION}\n"
    exit (0)
  end
  params.each {|opt|
    opts += opt[0] if opt[1]
  }
rescue OptionParser::InvalidOption => ex
  abort <<EOM
Invalid option [#{ex.args[0]}].
Try muse --help for more information.
EOM
end
musepath = File.expand_path(MUSE)
opts = '*' + opts if '' != opts
args = ARGV.join(' ')
command = "#{WINE} #{musepath} #{opts} #{args} #{REDIRECTION}"
system(command)

実行には Ruby が必要です。

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

Let's happy musing !


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-09-11 (日) 17:32:53