音を鳴らす

(2016/05/08)

 テスト用の音源として、Sonatina Symphonic Orchestra を使った。これはフリーのオーケストラ音源で、sfz 形式で供給されている。(sfz 形式ならもっと他に使いやすいサンプラーがあるでしょ、というツッコミは、とりあえず保留。今回は LinuxSampler を使ってみることが目的なので。)

1. AU プラグイン対応のシーケンサを起動

 何でもいいのですが、ここでは(もちろん) Alchemusica を使います。Revision 63 以降が必要なので、ダウンロードページの "latest" のところから持って行ってください。

2. LinuxSampler プラグインをロードする

 Play メニューから Audio Device Settings... コマンドを選ぶ。"Bus 3" (どの bus でも良い)のポップアップメニューから、"LinuxSampler: LinuxSampler Unit" を選択。

 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 用パッチ←同上