ルギア君の戯言

雑多な記事。

Linux + VSTi

f:id:lugia:20080419163529p:image:w600
(クリックで拡大)


Linux はデフォルトで MIDI 音源を装備していない*1ので、MIDI 関係のソフトを使う時はどこからかシンセサイザソフトをとってこないといけないのだが、dssi-vst を使うことで Windows 用の VSTLinux 用の MIDI 音源になっちゃうのだ*2


まずは、wine をインストール。
レポジトリのものでも、ソースをビルドしても OK。


次に wine-tool をインストール。
これもレポジトリのもので OK。
Momonga ではレポジトリにないのでビルドしてください。

$ wt


wt は自分の権限で実行する。(ホームディレクトリに書き込むため)
[OK]を3回押す。
その後 [Basic Setup]→[Create a Fake Windows Drive]→[CD ドライブへのパス*3]を入力し、[OK]→[wine 上の Windwos ユーザーネーム*4]を入力し、[OK]→[会社名*5]を入力し、[OK]→[OK]→[Cancel]→[Exit]


jack, dssi, dssi-vst の順でインストール
Momonga のように jack をレポジトリからダウンロードし、dssi をビルドする場合は、jack-devel をインストールするのを忘れずに。


LilyPond をインストール。
Rosegarden が依存している。


Rosegarden をインストール。
レポジトリからインストールする場合は、依存関係解決で、jack, lilypond はともにインストールされるので、それに任せても問題なし。
なので、ビルドする場合は注意。


Audacity をインストール。
依存はしていないが、あると便利。
(Rosegarden には 波形編集機能 が ない)


Rosegarden の起動方法
(jackd は自動で起動させる方法もある)

$ jackd -d oss &
$ vsthost /path/to/VST/dll/file1.dll &
$ vsthost /path/to/VST/dll/file2.dll &
$ ...
$ rosegarden &

メッセージがずらずらと出てくるので、落ち着いたら、[Enter]を一度押してプロンプトを表示させる。
どれも最後の & を忘れずに。


jackd の -d オプションの後の奴はベースとなるサウンドドライバ。
上の指定では、OSS が使われる。
他にも、alsa, coreaudio, dummy*6, freebob, portaudio などが指定できる。
残念ながら、coreaudio は Momonga には入っていなかった。
freebob は入っていたが、raw1394 および ieee1394 付きでビルドされていないため、エラーになった。


使用するドライバによってかなり聞き劣りするので、amarok (xine)などを使って試し聞きすると良い。


僕は portaudio を使用した。


VST のロードは 1個目は プライマリ に、2個目以降は、ソフトウェアデバイスとして Rosegarden にロードされる。
GUI 付きの VST (ほとんどが該当する)の場合、そのダイアログを閉じると vsthost が終了してしまうので注意。
(操作できなくなるが、VST はロードされたままなので、音は鳴る。)


おまけ : Rosegarden で録音する場合(オーディオの録音もほとんどのプログラムが jack に対応していないため Rosegarden を使用するしかない)、自動的にプライマリデバイスの CH10 からテンポ打ちが出てくるので、消したい場合は、あらかじめプライマリには、ダミー VST*7を読み込ませておけば鳴らない(この方法はレスポンスを消費するので、できればオフにしたいが、僕はその方法がわからない)。
CH10 をミュートにすることもできるが、そのデバイスでは CH10 が使えなくなってしまう。


Rosegarden のスコアロール(UI上では「楽譜エディタ」と出ている)は、本当に楽譜チックなのね。
すごいな。lilypond のおかげなのかな・・・?
ピアノロール(UI上では「マトリクスエディタ」と出ている)もあるよ。

ソフト名 Jack対応状況 備考
Rosegarden
Amarok xine エンジンが jack 対応
KRec ×
Audacity × 編集は可能
Helix Player ×
Juk ×
MPlayer
KMid dssi-vst で確認
XMMS ×
Last Exit 不明
Timidity++ おそらく×
wine × Mid Radio Player で確認
aRts ? エラーメッセージは吐かないが、KRec が使えないように、機能していない可能性がある
esd esd を起動すると、jack を占有するので、esd 対応ソフトしか使用できなくなる

*1:ディストリビューションによってはインストールされているものもあるかも。ただし、上の操作をしないと鳴ってくれないはず。

*2:別途 wine が必要。Synth1 は 0.9.59 で動作を確認した。

*3:/mnt/cdrom など。KDE 下では、CD をマウントしていない場合 fstab に cdrom がないので、表示を鵜呑みにしないよう注意する。この場合、/media/{ディスクのラベル} にマウントされる。CD のアイコンを右クリック→[プロパティ]でマウントポイントを変更すれば、そこにマウントされる。

*4:実際の Windows では漢字ユーザーネームも使えるが使わない方がいいと思われる。文字コードの問題もあるので。

*5:空欄のままでよい

*6:ダミーなので、音は鳴らない。

*7:Vocaloid VST などのように特殊なもの、エフェクター VST などなど。