Qtractorの導入方法
Domino風なQtractor
QtractorはDomino風なピアノロール編集を主体にしたLinux系・Unix系OS向けのFLOSS(自由ソフトウェアかつオープンソース)なDigital Audio Workstation(DAW)。我がantiX 19 i386(Debian 10 BusterベースのLinuxディストリビューション)では、よりDomino風でFLOSSなRosegardenを愛用しているが、サブにQtractorを導入してみた。その特徴は以下のとおり。
- Dominoと同じくそもそもMIDIシーケンサーである。私みたいなDominoをずっと使ってきた人間にはとっつきやすい。
- Rosegardenより多機能である。特に、LADSPA・DSSI・LV2・VSTプラグインに対応している点が素晴らしい。
- Rosegardenほどではないが軽量である。多機能な割には古いPCや非力なPCでもそこそこキビキビ動作する。
- Rosegardenとは異なり、純粋なJACKクライアントである。JACK環境が整備されていることが前提となる。
ただ、私はトラック内へ個々に独立したクリップを作成していく等の操作感にどうにも馴染めない。だからどうしてもLV2・VSTプラグインを使いたいときだけ、Qtractorで作曲している。なお、主な操作方法は『第234回 マルチトラックシーケンサーQtractorで打ち込みしてみる | gihyo.jp』に詳しい。
Qtractorのビルドとインストール
DAWはどんどんと進化する傾向にあるが、Debian公式パッケージのQtractorは最新バージョンではないため、Qtractorの最新安定版をビルドした。まず、以下のとおりQtractorとプラグインのインストール先を作成する。
mkdir -p ~/.local/bin ln -s ~/.local ~/local ln -s ~/.local/bin ~/bin mkdir -p ~/.local/lib/lv2 ln -s ~/.local/lib/lv2 ~/.lv2 ln -s ~/.local/lib/lv2 ~/lv2 mkdir -p ~/.local/lib/vst ln -s ~/.local/lib/vst ~/.vst ln -s ~/.local/lib/vst ~/vst
ではビルド。
sudo apt update sudo apt build-dep qtractor sudo apt install build-essential git cmake extra-cmake-modules doxygen libaubio-dev libz-dev libunique-dev git clone --recursive -b qtractor_0_9_12 https://git.code.sf.net/p/qtractor/code qtractor mkdir qtractor/build cd qtractor/build cmake -DCMAKE_INSTALL_PREFIX=$HOME/.local -DCMAKE_BUILD_TYPE=Release -DCONFIG_VESTIGE=OFF -DCONFIG_VST2SDK='$HOME/VST_SDK/VST2_SDK/public.sdk/source/vst2.x' -DCMAKE_C_FLAGS='-O2 -msse2 -mfpmath=sse -mfxsr' -DCMAKE_CXX_FLAGS='-O2 -msse2 -mfpmath=sse -mfxsr' .. cmake --build . --config Release cmake --install . --prefix $HOME/.local
以上のうちVST SDKについては、私は事前にvst-sdk_3.6.14_build-24_2019-11-29.zipをダウンロードして~/上に展開している。
wget https://download.steinberg.net/sdk_downloads/vst-sdk_3.6.14_build-24_2019-11-29.zip unzip vst-sdk_3.6.14_build-24_2019-11-29.zip
LV2プラグインのインストール
Debian公式パッケージにある有名どころ、あるいは便利そうでFLOSSなLV2プラグインをインストールしていく。
sudo apt update sudo apt install calf-plugins invada-studio-plugins-lv2 mda-lv2 swh-lv2 zam-plugins x42-plugins padthv1-lv2 samplv1-lv2 synthv1-lv2 drumkv1-lv2 hydrogen-drumkits hydrogen-drumkits-effects foo-yc20 setbfree so-synth-lv2 zynadd zynaddsubfx-data yoshimi yoshimi-data drumgizmo ir.lv2 lv2vocoder guitarix-lv2 vocproc abgate
これらのうち一部のインストゥルメントのパッチはLinuxSynths.comからダウンロードできる。次に、Debian公式パッケージにないが有名どころのFLOSSなLV2プラグインをインストールしていく。インストールしたプラグインは以下のとおりで、基本的には公式又は非公式のバイナリが配布されているものばかりだが、私はDAWと同様の理由で可能な限りソースからビルドした。
- AVL Drumkits LV2: AVL DrumkitsのSF2形式サウンドフォントを基にしたドラムロンプラー集
- DPF-Plugins: Roland TB-303をシミュレートしたNekobeeからフォークしたNekobi、物理モデリング・ストリングシンセのKars等をバンドル
- DISTRHO Ports: Yamaha DX7をシミュレートしたFMシンセのDexed、Yamaha YM3812(OPL2)FM音源チップをエミュレートしたFMシンセのJuceOPL、Oberheim OB-Xをシミュレートした減算方式シンセのOB-Xd、バーチャルアナログシンセのTAL-NoiseMaker、3オシレーターのサンプル波形による減算合成シンセであるVex、アンチエイリアスされた減算方式シンセのWolpertinger等をバンドル
- Dragonfly Reverb: 4種類のリバーブをバンドル
- FluidPlug: FluidSynthライブラリーによるロンプラー集
- Linux Studio Plugins(LSP): 凝ったGUIを備えた大量のエフェクトをバンドルしているが、実は私はGUIに便利さしか求めていない
- ll-plugins: FLOSSの小さなLV2プラグイン集
- Nick Bailey氏(ThunderOx Software)の各種プラグイン
- ADLplug: Yamaha OPL3 FM音源チップをエミュレートしたADLplugと、Yamaha OPN2 FM音源チップをエミュレートしたOPNplugの2種類のFMシンセ
- DrMr: Hydrogen形式のサウンドフォントを読み込めるドラムマシン
- Surge: とてもよくできたセミモジュラーシンセで、LV2プラグインの中では一番のお気に入り
- Monique: やたら凝った減算方式シンセで、LV2プラグインの中では二番目にお気に入り
- Odin 2: とてもよくできたセミモジュラーシンセだが、パッチの読み込みにやや時間がかかる
- Tunefish 3, 4: 珍しい加算方式シンセで素晴らしくよくできているが、プラグインの読み込みにやや時間がかかる
- Helm: 素晴らしくよくできた減算方式シンセだが、CPUへの負荷が比較的高めで、私の環境ではソロ以外で使ったり重めのエフェクトと併用したりするとたまにプチプチとクリックノイズが入る
- K-Meter, traKmeter: ラウドネスメーター
これらはダウンロードしたバイナリを~/.lv2ディレクトリに放り込めばだいたい動作する。動作しないときは、例えば以下のようにlddコマンドで依存パッケージを探す。依存パッケージに問題がないときは、自分でプラグインをビルドする。ビルドできなかったときは、諦める。
ldd ~/.lv2/ADLplug.lv2/ADLplug.so
VSTプラグインのインストール
Debian公式パッケージにはあまりLinuxネイティブなVSTプラグイン(LXVST)がない。
sudo apt update sudo apt install iem-plugin-suite-vst
次に、Debian公式パッケージにない有名どころのLXVSTプラグインをインストールしていく。インストールしたプラグインは以下のとおりで、基本的には公式又は非公式のバイナリが配布されているものばかりだが、私は可能な限りソースからビルドした。
- Airwindows: 弄っているだけで楽しい大量のイカれたエフェクト群
- GVST: 非FLOSSだが、大量のエフェクト・インストゥルメントをバンドル
- SAFE Plugins: 典型的なエフェクトをバンドル
- Digits: Casio CZシリーズをシミュレートしたPDシンセで、Linux版にはGUIがないが、VSTプラグインの中では一番のお気に入り
- Nils’ K1v: Kawai K1をシミュレートした加算方式シンセ(ノンフリー)
- Oxe FM Synth: ツマミだらけのFMシンセ
- Rave Generator 2: Roland TB-303にインスパイアされたロンプラーなのかな、消えゆくQT4ベースなのが残念ながらVSTプラグインの中では二番目にお気に入り(ノンフリー)
- VST Speek: 入力してある文字を読み上げるテキストスピーチシンセ(ノンフリー)
- Xhip: ハイブリッドシンセとエフェクト群(ノンフリー)
これらはダウンロードしたバイナリを~/.vstディレクトリに放り込めばだいたい動作する。動作しないときはlddコマンドで依存パッケージを探す。前述のRave Generator 2を例にすると、私の環境では以下の方法で不足していた依存パッケージを公式パッケージからインストールする必要があった。
ldd ~/.vst/RaveGenerator2/RaveGenerator2VST-x86.so sudo apt update sudo apt install libqtcore4 libqtgui4
依存パッケージに問題がないときは、自分でプラグインをビルドする。ビルドできなかったときは、諦める。だからLinux系・Unix系ではFLOSSなプラグインが重宝される。なお、Wineを介してWindowsのVSTプラグインを使おうなどと不埒なことは考えないほうが精神的に良い。
その他のDebian公式パッケージ
JACKサーバーの管理のためにgladishやQjackCtlを、ループ素材等の音声ファイルの編集やミックスダウンのためにAudacityをインストールしておいたほうが良い。加えて、仮想キーボードを導入すると、Qtractorがよりとっつきやすくなる。ちなみに私は、以下のとおりvkeybdというALSA・MIDIキーボードを導入している。いずれもFLOSS。
sudo apt update sudo apt install vkeybd vkeybd --octave 7
~/.vkeybdmapでキーマップをカスタマイズすると、vkeybdはより使いやすくなる。以下、日本語キーボードでの一例。
global keymap set keymap { {a 8} {z 9} {s 10} {x 11} {c 12} {f 13} {v 14} {g 15} {b 16} {n 17} {j 18} {m 19} {k 20} {comma 21} {l 22} {period 23} {slash 24} {colon 25} {backslash 26} {bracketright 27} {q 24} {2 25} {w 26} {3 27} {e 28} {r 29} {5 30} {t 31} {6 32} {y 33} {7 34} {u 35} {i 36} {9 37} {o 38} {0 39} {p 40} {at 41} {asciicircum 42} {bracketleft 43} }
FLOSSなgladishの主な操作方法は『第202回 ladishでJACKサウンドサーバー環境のセッションを管理する | gihyo.jp』に詳しい。