音を鳴らす(その2)

(2007/03/29)

 LinuxSampler 0.4.0 が何とか動くようになったので、これを鳴らしてみる。

1. LinuxSampler 0.4.0 のインストール

 まず JackOSX をインストールする。配布元ページからインストーラパッケージを入手できる。

 次に LinuxSampler をインストールする。下のディスクイメージをダウンロードしてマウントし、LinuxSampler というファイル(実行ファイル、一応 Universal Binary)を /Applications など適当な位置にコピーする。

LinuxSampler 0.4.0 実行ファイル (Mac OS 10.4 用、Universal Binary, 5.8 MB, dmg) ←古くなったので削除しました

2. LinuxSampler の起動

 JackPilot を立ち上げる。JackOSX をインストールした時に /Applications の中に Jack というフォルダができて、その中にあるはず。ダブルクリックして立ち上げると、JackPilot という名前の小さいウィンドウが出るので、"Start" ボタンを押して Jack Server をスタートさせる。

 次に、LinuxSampler 実行ファイルをダブルクリックする。Terminal が立ち上がり、その中で起動メッセージが表示される。次のように出れば成功。

Creating Sampler...OK
Registered sampler engines: 'GIG'
Registered MIDI input drivers: COREMIDI
Registered audio output drivers: JACK
Starting LSCP network server (0.0.0.0:8888)...OK
LinuxSampler initialization completed. :-)

3. LinuxSampler の設定

 LinuxSampler は実行時の設定を TCP ネットワーク経由で行うようになっている。1台のコンピュータでスタンドアロンで使う場合は localhost (自分自身)に対してコマンドを送ることになる。これと同等の操作を GUI で行うアプリケーションもあるが、今回はとりあえず telnet を使ってコマンドで操作することにする。

 Terminal で1つ新しいウィンドウを開き、telnet localhost 8888 とタイプする。8888 は LinuxSampler が通信に使う TCP のポート番号。

Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

 そこで、この同じウィンドウの中で、次のようにタイプする。

CREATE AUDIO_OUTPUT_DEVICE JACK
CREATE MIDI_INPUT_DEVICE COREMIDI
ADD CHANNEL
LOAD ENGINE gig 0
SET CHANNEL AUDIO_OUTPUT_DEVICE 0 0
SET CHANNEL MIDI_INPUT_DEVICE 0 0
LOAD INSTRUMENT 'GigaSamples/NemeSys_1GB_Grand.gig' 0 0
QUIT

 1行ごとに OK または OK[0] という表示が出るはず。LOAD INSTRUMENT は少し時間がかかる。なお、ここではホームディレクトリの GigaSamples というフォルダ中に Giga フォーマットの音色ファイル(NemeSys_1GB_Grand.gig)を置いている。フォルダ名、ファイル名は適当に置き換えてください。最後の QUIT を実行すると、Bye! というメッセージとともに、接続が切断されてシェルの入力待ちに戻る。

 このとき、LinuxSampler の方のウィンドウでは、次のような表示が出ているはず。

LSCPServer: Client connection established on socket:4.
Starting disk thread...OK
Loading gig file 'GigaSamples/NemeSys_1GB_Grand.gig'...OK
Loading gig instrument...OK
Caching initial samples...OK
LSCPServer: Client connection terminated on socket:4.

4. 音を鳴らす

 JackPilot の Routing ボタンを押すと、Connection Manager ウィンドウが開く。Send Ports の列に LinuxSampler が見えているはず。この LinuxSampler の行をダブルクリックすると、表示が赤く変わり、Built-in Audio と接続される。これで、LinuxSampler からのオーディオ出力が内蔵オーディオ出力に送られるようになった。

 Alchemusica を立ち上げ、適当な MIDI ファイルを用意する。出力 MIDI デバイスとして、LinuxSampler-in を選択する。もしこれが見えなければ、一度 Remap Devices... ダイアログを開けば見えるようになるはず。Alchemusica は 0.4d5(本日公開)を使ってください。0.4d4 だと出力デバイスの設定がうまくいきません。

 さて、MIDI ファイルを演奏してみてください。内蔵オーディオから音がでるはずです。なお、上の設定では、MIDI チャンネル1のプログラム番号0に音色がセットされているので、MIDI ファイルの出力チャンネル、プログラムチェンジがこれに合っていることを確かめること。

5. 性能など

 あまり定量的な評価ではないが、PowerBook G4 1.5 GHz (1.25 GB RAM, 80 GB HDD) 上で、上記の GigaPiano を使い、ピアノソロ曲(シマノフスキ「12の練習曲」)を再生してみた。負荷はだいたい 20% 前後で、ダンパーペダルで同時発音数が増えると 40% ぐらいまで上がる。12分程度の再生中 "Disk stream not available in time!" というメッセージが4回出た。ピアノソロ曲の再生に関しては、CPU 性能にはまだ余裕があるが、ディスク性能が追いつかないことがある、という印象だった。

6. ソースからのコンパイル

 Official 0.4.0 をコンパイルするには、下の README ファイルに書いてある手順に従ってパッチを当ててください。(同じ内容のファイルは上の実行ファイル dmg にも含まれています)

README_mac040←古くなったので削除しました

0.4.0 用パッチ←同上