Ubuntu 18.04.1 LTSでDTM - Carlaのインストール

今回はCarlaのインストールです。

Carla is a fully-featured audio plugin host, with support for many audio drivers and plugin formats.

CarlaはLV2やVST, LADSPA, DSSIプラグインのホストアプリです。 あと、SF2やSFZ, GIGといったサウンドフォント/サンプラーデータのファイルが扱えます。

個人的にはSF2やGIGは自分で作ることはありませんが、SFZは自分で編集したりします。 特にドラム音源についてはDrumGizmoやHydrogen、DrMrといった専用のものはあまり使わずにSFZ化して使うようになりました。

GUIの見た目はこんな感じです。(CLIもありますが。)

f:id:ohac:20180728133536p:plain

と、スクリーンショットを取ってみて気付きましたが、SF2やSFZが扱えない...。 これについては後述します。

LV2などのプラグインは普通に使えます。Add Pluginを押して、上部から検索して追加します。 以下はeqを検索した結果です。

f:id:ohac:20180728133813p:plain

さて、ビルドについてですが、まず以下のリポジトリをgit cloneします。

github.com

あとはmakeしてsudo make installするだけなのですが、/usr/localに自分でビルドしたffmpegがインストールされているため、うまくビルドできませんでした。

以下のようにパッチをあててビルドが通るようになりましたが、あとでffmpeg側のビルド方法を変更して対処できることが分かりました。 一応メモしておきます。

Carla$ git diff
diff --git a/source/Makefile.mk b/source/Makefile.mk
index d24e8c13..c6ec9e12 100644
--- a/source/Makefile.mk
+++ b/source/Makefile.mk
@@ -209,7 +209,7 @@ HAVE_PULSEAUDIO   = $(shell pkg-config --exists libpulse-simple && echo true)
 endif
 endif
 
-HAVE_FFMPEG       = $(shell pkg-config --exists libavcodec libavformat libavutil && echo true)
+#HAVE_FFMPEG       = $(shell pkg-config --exists libavcodec libavformat libavutil && echo true)
 HAVE_FLUIDSYNTH   = $(shell pkg-config --exists fluidsynth && echo true)
 HAVE_LIBLO        = $(shell pkg-config --exists liblo && echo true)
 HAVE_LINUXSAMPLER = $(shell pkg-config --atleast-version=1.0.0.svn41 linuxsampler && echo true)

ffmpeg側は以下のようにビルドすることで上記パッチは不要となります。

ffmpeg$ ./configure --enable-libjack --enable-shared --enable-pic --enable-libx264 --enable-gpl

make, sudo make install後、Carla側をmake cleanしてやりなおせばOKです。

で動かしてみたところ、VSTやLV2などはちゃんと動くのですが、先程も書いたようにSF2/SFZ/GIGが動きません。

調べてみたところ、外部ライブラリが必要だということが分かりました。

まずSF2についてはfluidsynthが必要となります。 以下のようにインストール。

sudo apt install libfluidsynth-dev fluidsynth

make featuresを実行すればどれが有効になっているか分かります。

make features

ビルドしなおして、CarlaのGUICLIでFluidR3_GM.sf2を読み込んでみます。

carla-single sf2 /usr/share/sounds/sf2/FluidR3_GM.sf2 

問題なければJACK側に表示されます。

次にSFZ/GIGですが、linuxsamplerをインストールする必要があります。

The Linux Sampler Project

linuxsamplerのライセンスはちょっと変わっているので、aptではインストールできません。 ここでは時前でビルドしてみました。

ビルドするにはbisonが必要なので以下のようにしてインストールします。

sudo apt install bison

サイトから以下の3つのtarボールをダウンロードします。

  • libgig-4.1.0.tar.bz2
  • liblscp-0.5.8.tar.gz
  • linuxsampler-2.1.0.tar.bz2

libgig, liblscp, linuxsamplerの順に以下を実行しインストールする。

./configure
make -j8
sudo make install

Carlaをビルドしなおして、CarlaのGUICLIで何かSFZやGIGを読み込んでみます。

SFZのサンプルとして自作音源を紹介しておきます。

https://sound.sighash.info/

SFZでインターネットを検索すると他にもたくさん音源がヒットすると思います。 多すぎるため、品質のよいものを探すのに苦労しますが。

SFZはどこかのKONTAKなんちゃらと違ってオープンなフォーマットなので、生データがあれば自作することが可能です。 個人的にはDrumDropsのデータを購入してSFZ化してドラム音源として使っています。

www.drumdrops.com

あとSF2はaptからいくつかインストールできるようです。 どんな音源なのか聴いていませんが、ためしにインストールしておくとよいかもしれません。

sudo apt install timgm6mb-soundfont opl3-soundfont fluid-soundfont-gs musescore-general-soundfont