LinuxSampler

提供: ArchWiki
2021年10月7日 (木) 12:44時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎ヒントとテクニック: ==高度なトピック== に変更)
ナビゲーションに移動 検索に移動

Linuxsampler はソフトウェアオーディオサンプラーです。gigasampler 形式 (.gig) のサウンドライブラリをロードすることができます。Linuxsampler はハードディスクから直接サンプルをストリーミングできるため、膨大なライブラリを使用することが可能です。LS はスタンドアロンのアプリケーションとして実行したり、lv2 または dssi プラグインとして実行できます。

インストール

linuxsampler パッケージをインストールします。これはサンプラーの「エンジン」であり、MIDIイベントの処理、オーディオデータの計算および最終的なオーディオデータのサウンドカードへの送信という、重く時間のかかる計算タスクをすべて実行します。 LinuxSampler自体は、コンピュータのバックグラウンドで独自のプロセスとして動作し、画面には何も表示されません。またはコンソールウィンドウにステータス情報とデバッグメッセージを表示できます。また、それを制御するためのフロントエンドも必要になります。

グラフィカルフロントエンド =

  • qsampler - Qt インターフェイス。
  • jsampler - Java インターフェイス。
  • gigedit - gig ファイルエディタ。

qsampler を起動すると自動的に linuxsampler も起動します。jsampler を使用する場合、先に linuxsampler を起動してください。

Usage

The editor: Gigedit

Gigedit allows you to edit and create instruments for the Gigasampler format, which can be used with LinuxSampler as well as with Tascam's Gigastudio. You can use gigedit as stand-alone application without LinuxSampler running or in live-mode, started from any frontend ("edit" button).In this case, all your modifications are audible in realtime.

The frontend: Qsampler

This frontend provides the user a set of menus, buttons, sliders, dials, etc. to allow the user to control the sampler in a convenient way. It does not perform any signal processing tasks, so you can see it as a "face" of the sampler. From Qsampler you can load/unload .gig files into LinuxSampler and set their midi channel number, volume, jack output etc...and finally store all this setup in a file for a speedy re-opening of your "sampling orchestra".

Building a default template in qsampler

Here, I will use jack-keyboardAUR as a MIDI controller, but everything below applies as well with a master keyboard or MIDI interface providing midi output.

  • Start jack then jack-keyboard then qsampler
  • Let us define some audio outputs in qsampler :
Go to menu -> View -> Devices (or F11 shortcut or the green pci card icon in the toolbar).
On the left panel, click on "Audio Devices".Now we can see the audio drivers available in the right panel.
Choose "Jack" in the Driver menu.The default config should give you a pair of audio outputs at a sample rate of 44100.
Click on the Create button down the window.

Note : In some systems, qsampler crashes if this window is closed or even backgrounded while the Bottom-Right panel is still in view.Easy workaround : click on "Audio devices" or "Midi Devices" on the left panel before leaving or unfocusing the window.

  • If you want LS to auto-connect to jack system outputs when you launch your template :
On the left panel, click on "Audio Jack Device 0" , then on right panel select "Audio Jack 0" from the "Channel" drop-down list.
Choose an output for the JACK_BINDINGS parameter, like "system:playback 1".
Select "Audio Jack 1" from the "Channel" drop-down list and assign JACK_BINDINGS parameter value, like system:playback 2"
  • Now let us create a midi input also :
On the left panel, click on "Midi Devices".
On the right panel, choose "jack" (jack-midi) in the Driver menu.
Hit the create button.
  • If you want LS to auto-connect to jack-keyboard midi output when you launch your template :
Select the "Midi jack device" port 0" on the left panel.
On the right panel, for the "JACK_BINDINGS" parameter value, choose "jack-keyboard:midi out".

Note that if jack-midi is not enabled in Qjackctl, you will not find the midi client in the drop-down list.You can check in Qjackctl setup : "Midi driver" should be set to "seq".A restart of jack and qsampler is needed.

Also, if jack-keyboard or whatever midi controller you defined in here is not started before qsampler starts, you will likely receive an error from qsampler not finding the midi client.In that case, you can still start the midi device and connect it to LS through qjackctl.

  • Finally close the Devices Config window and save your template.
ヒント: You can define as much midi ports as midi controllers you use. The same applies to audio outputs, e.g for sending separated instrument outputs for recording in Ardour.

Building a performance template in qsampler

  • Open qsampler and load your configuration template.
  • Press the "Add channel" button in the toolbar (Ctrl-A).A "channel" in the LS terminology is an object (visually a strip) which stores the settings for a given instrument : Name and location of the gig file, inputs & outputs used, midi channel, volume, solo/mute status, midi cc applied etc..much like a track in a sequencer.
  • The i/o settings of the channel pops up.
    • Choose a gig file
    • Choose an "instrument".A gig file can contain different "instruments".Basically a gig file is composed of a pool of sounds and some configuration possibilities of theses samples named "instruments". For example one instrument can load only the forte samples and apply some adsr on it, while another one can load every samples in the pool, and organize them as layers that will be triggered by the velocity applied on the controller. This way, very different types of of sound can be obtained from the same pool of samples, which is more efficient in terms of sound-design and disk space...
    • Set the midi and audio i/o for the channel from the different drop-down lists. All the options you will find here were created earlier in the device configuration setup stored in your config template. If you would like to change some of it, you can also do it from here with the "midi input setup" and "audio output setup" buttons.
    • Press ok.
  • The channel is added to the main window and the gig file is loaded into RAM. Well, only the start of the sounds used in the instrument are cached in memory, the main task of LS will be to stream the biggest part of them directly from disk. That is how it is possible to load 30 GBs of samples with only 1 GB of ram.
  • You should now be able to play your instrument from jack-keyboard or whatever controller is tied to LS.

If you get no sound, check the volume sliders both on the channel strip and on the main toolbar.

  • Repeat these steps as many times as you wish to complete your "sampling orchestra".
  • Save your template under a new name so you keep your default template clean if you want to start another orchestra from ground.

高度なトピック

LS に到達する前に midi メッセージをフィルタリング

サンプルライブラリによっては MIDI ソフトウェアによって奏でられる音が作曲・編曲者が思っているものと異なることがあります。例えば、楽譜エディタを LS に接続して、C3 から C4 オクターブのピアノパートを再生したのに実際に聞こえるのは1オクターブ高いなどの (C4 から C5) という場合があります。その場合おそらく gig ファイルのサンプルのレイヤーが1オクターブ分ずれています。マッピングが確実に間違っている場合 (ライブモードで qsampler から gig ファイルを開くことで確認できます)、以下の解決方法があります:

  • MIDI パートを1オクターブ低く移調する。オーケストラ用の楽譜では、五線譜の音符が1オクターブ低い間違った場所に表示されるようになります。印刷する前に移調しなおさなければなりません。
  • gig ファイルのマッピングを直す。問題の根本的な解決になるため一番望ましい方法です。ただしファイルの中に複数の楽器が入っている場合、困難な作業になるでしょう。また、cc (キースイッチ) 用の音が予約されていることがあり、そのような場合、1オクターブ低くマッピングすることは更に複雑あるいは不可能になります。
  • 簡単な修正方法は楽譜エディタと LS の間に MIDI フィルタを配置して、ピアノチャンネルだけ音を1オクターブ低くすることができます。フィルタを作成するには qmidiroute を使ってください。全ての midi メッセージをモニタリングすることもできます。例えば楽譜から送信された cc が実際には何なのか確認できます (右の midi チャンネル, パン, ベロシティカーブなど)。

楽譜エディタのピアノの MIDI 出力を LS から qmidiroute に変更して、LS のピアノチャンネルは楽譜エディタではなく qmidiroute の出力を使用するように設定する必要があります。楽譜の全ての楽器を監視したい場合や楽器エディタで複数の midi 出力を使えない場合、オーケストラレベルで行うこともできます。

トラブルシューティング

以下のメッセージが表示されてクラッシュする場合:

Engine: WARNING, CONFIG_EG_MIN_RELEASE_TIME too big for current audio fragment size & sampling rate!

サウンドカードのレイテンシを再設定してみてください。qjackctl で samples/period の設定を上げてみてください。

BitTorrent Sync とポートが衝突する

BitTorrent Sync と linuxsampler はデフォルトではどちらも同じポート (8888) を使用します。BitTorrent Sync と同時に linuxsampler を起動しようとすると以下のようなメッセージが表示されます:

Starting LSCP network server (0.0.0.0:8888)...LSCPServer: Could not bind server socket

linuxsampler --lscp-port 8889 などとポート番号を指定して linuxsampler を起動するか GUI フロントエンドでサーバーのポートを変更することで問題は解決します。

参照