Rosegardenの導入方法
Domino風なRosegarden
RosegardenはDomino風なピアノロール編集を主体にしたLinux系・Unix系OS向けのFLOSS(自由ソフトウェアかつオープンソース)なDigital Audio Workstation(DAW)。我がantiX 19 i386(Debian 10 BusterベースのLinuxディストリビューション)で愛用中。その特徴は以下のとおり。
- Dominoと同じくそもそもMIDIシーケンサーである。私みたいなDominoをずっと使ってきた人間にはとっつきやすい。ただ、WAV形式ファイル等へのエクスポート機能がないため、代わりに例えばAudacityで録音する。
- 比較的軽量。古いPCや非力なPCでもそこそこキビキビ動作するし、滅多にクリックノイズでプチプチしない。ただ、そのぶん機能は驚くほど少ない。
- LADSPAやDSSIプラグインを扱える。Linux系・Unix系によくあるALSAやJACKでの外部MIDIとの連携(ルーティング)はややこしいので助かる。
- FluidSynth-DSSIというSF2形式に対応したサウンドフォントシンセがある。Debian公式パッケージから導入し、FreePatsあたりからオープンなSF2形式のサウンドフォントをダウンロードすれば、音源はだいたい何とかなる。
- dssi-vstというブリッジを導入すれば、WindowsのVSTプラグインも扱える。ただし、Debian 10 Busterには公式パッケージがないため、私はUbuntuの古い公式パッケージに加え、WineHQをインストールして導入しているが、動けばラッキー程度の動作確率なのでアテにならない。
- トラックでWAV形式ファイルなどの音声ファイルを直接扱える。ただ、当該ファイルの編集機能がないため、代わりに例えばAudacityで事前に当該ファイルを編集しておく。
- JACKクライアントとのルーティングは苦手。ALSA MIDIなら問題ない。
DAWはどんどんと進化する傾向にあるが、Debian公式パッケージのRosegardenは最新バージョンではないため、以下のとおりRosegardenの最新安定版をビルドし、Debian公式パッケージからアップグレードした。
Rosegardenのビルドとインストール
まず、Rosegardenとプラグインのインストール先を作成しておく。
mkdir -p ~/.local/bin ln -s ~/.local ~/local ln -s ~/.local/bin ~/bin mkdir -p ~/.local/lib/dssi ln -s ~/.local/lib/dssi ~/.dssi ln -s ~/.local/lib/dssi ~/dssi mkdir -p ~/.local/lib/ladspa ln -s ~/.local/lib/ladspa ~/.ladspa ln -s ~/.local/lib/ladspa ~/ladspa
では、ビルドしてみる。
sudo apt update sudo apt build-dep rosegarden sudo apt install build-essential git cmake doxygen git clone --recursive -b 19.12 https://git.code.sf.net/p/rosegarden/git rosegarden mkdir rosegarden/build cd rosegarden/build cmake -DCMAKE_INSTALL_PREFIX=$HOME/.local -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS='-msse2 -mfpmath=sse -mfxsr -DSTABLE' -DCMAKE_CXX_FLAGS='-msse2 -mfpmath=sse -mfxsr -DSTABLE' .. cmake --build . --config Release cmake --install . --prefix $HOME/.local
これでJACKサーバー起動後にターミナルからrosegardenと入力、エンターで起動する。主な操作方法は『第176回 Rosegardenで作曲する | gihyo.jp』に詳しい。
DSSIプラグインのインストール
インストゥルメント系のFLOSSなDSSIプラグインの有名どころは以下のとおり。なお、一部は音がやや弱っちいため、後述のLADSPAプラグインのフィルター、イコライザー、コンプレッサー、マキシマイザー等を駆使して底上げする。
- amSynth: 減算方式シンセで、そこそこ使える
- FluidSynth-DSSI: 前述のSF2形式に対応したサウンドフォントシンセ(ご覧のとおりドラム系がないため、ドラムはAVL DrumkitsのSF2ファイルで)
- Hexter: YAMAHA DX7をシミュレートしたシンセで、DX7のSYX形式のパッチをそのまま使える
- Nekobee: nekosynthによるRoland TB-303をシミュレートしたベースシンセだが、音だけ(パターンはない)
- Xsynth: Ensoniq ESQ-1やOBERHEIM Matrix-6にインスパイアされたシンセ
- Wsynth: nekosynthによりXsynthをハックしたウェーブテーブルシンセ
- WhySynth: そこそこ使える多用途シンセ
- Zynaddsubfx: かなり使える加算合成シンセだが、パッチの選択に骨が折れる
これらを以下のとおり導入してみる。ちなみに以下のうちmusescore-general-soundfont-losslessとは、Debian公式パッケージの中でおそらく最も高品質なSF2形式のサウンドフォント。
sudo apt update sudo apt install amsynth fluidsynth-dssi hexter musescore-general-soundfont-lossless nekobee wsynth-dssi whysynth zynaddsubfx-dssi zynaddsubfx-data ln -s /usr/lib/i386-linux-gnu/dssi/amsynth_dssi.so ~/.dssi/amsynth_dssi.so ln -s /usr/lib/i386-linux-gnu/dssi/amsynth_dssi ~/.dssi/amsynth_dssi sudo apt install libcairo2 libglib2.0-0 libgtk2.0-0 liblo7 wget http://ja.archive.ubuntu.com/ubuntu/pool/universe/x/xsynth-dssi/xsynth-dssi_0.9.4-3_i386.deb sudo dpkg -i xsynth-dssi_0.9.4-3_i386.deb
これらのパッチはLinuxSynths.comからダウンロードできる。また、これらに加え、DISTRHO DPF PluginsからKarsというボタン1つのストリングシンセを導入しておく(ダウンロードして展開して出てきたdssiディレクトリ内のすべてを~/.dssiディレクトリにぶっ込むだけ)。ただし、Debian公式パッケージ以外のプラグインをインストールするときは、以下のとおり依存しそうなパッケージを事前にインストールしておいたほうが良い。
sudo apt update sudo apt install libasound2 libjack-jackd2-0 libpulse0 libsndfile1 libgl1 libxcursor1 libxext6 libxrandr2 libcairo2 libsdl2-2.0-0
それでも動作しないときは、例えば以下のようにlddコマンドで依存パッケージを探す。依存パッケージに問題がないときは、自分でプラグインをビルドする。ビルドできなかったときは、諦める。
ldd ~/.dssi/Kars-dssi.so
LADSPAプラグインのインストール
エフェクト系のFLOSSなLADSPAプラグインはDebian公式パッケージにそこそこ存在する。とりあえず有名どころや便利そうなものをインストールしておく。
sudo apt update sudo apt install bs2b-ladspa calf-ladspa caps cmt guitarix-ladspa fil-plugins invada-studio-plugins-ladspa rev-plugins rubberband-ladspa ste-plugins swh-plugins tap-plugins wah-plugins zam-plugins
これらに加えLoudMaxと、前述のDISTRHO DPF PluginsからMax-Gen examples、Mini-Series、ndc-Plugs、MVerbを導入しておく(ダウンロードして展開して出てきたladspaディレクトリ内のすべてを~/.ladspaディレクトリにぶっ込むだけ)。あとは、マシンパワーに余裕があれば、Linux Studio Plugins(LSP)を導入するのもアリ。
その他のDebian公式パッケージ
JACKサーバーの管理のためにQjackCtlを、音声キャプチャー、ループ素材等の音声ファイルの編集、ミックスダウンのためにAudacityをインストールしておいたほうが良い。加えて、仮想キーボードを導入すると、Rosegardenがよりとっつきやすくなる。ちなみに私は、以下のとおり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} }
Rosegarden以外のDomino風DAW
Debian公式パッケージにはRosegarden以外にも以下のとおりDomino風のピアノロール編集を主体にした、MIDIシーケンサー上がりのFLOSSなDAWがある。DAWはどんどんと進化する傾向にあるが、どれも最新バージョンではないため、自分で最新安定版をビルドしたほうが良い。
- GSequencer(AGS): 珍しいGTKベースのDAWで、LV2プラグインも扱えるが、私の環境ではしばしば落ちるので今後に期待
- MusE: LV2やVSTプラグインも扱えるが、プラグインの非ネイティブGUI時のパッチの読み込みが苦手で今後に期待(主な操作方法は『第237回 MIDI/オーディオシーケンサーソフトMusE2.0を使ってみる | gihyo.jp』に詳しい)
- Qtractor: 前述のQjackCtlの作者が関係していて、LV2やVSTプラグインも扱えるしで、Rosegardenくらいのユーザー数を誇るが、私はトラック内へ個々に独立したクリップを作成していく等の操作感にどうにも馴染めない(主な操作方法は『第234回 マルチトラックシーケンサーQtractorで打ち込みしてみる | gihyo.jp』に詳しい)