Linuxで使える作曲ソフトRosegardenをPipeWire環境下で動かしてみた
2024-07-05
今回やろうとしたこと
Linuxで作曲に使えるDTMソフトRosegardenについて調べるとオーディオサーバであるJackを用いる例が多く出てきます。今回は最近筆者がオーディオサーバーとして導入したPipeWire環境下でRosegardenを使ってみようという試みです。PipeWireをVoid Linuxに導入した例はVoid LinuxのオーディオサーバーをPulseAudioからPireWireに切り替えてみたに記事化しました。Jackを使っているけど他のオーディオシステムとの共存が面倒だなと思っている方の参考になれば幸いです。尚、今回はRosegardenの詳細な使い方は省略します。(筆者の作曲スキルが拙すぎて難しかったです)
Rosegardenとは
Rosegardenは楽譜ベースでの作曲を好む人向けのDTMソフトでありMIDIシーケンサーです。DAWソフトではあるのですが、録音ベースで音楽制作するよりもMIDIの打ち込みで音楽を制作する人向けのソフトウェアです。
Rosegarden自体にはMIDI音源がなくMIDI信号の発生しかできませんので音を出すにはMIDI音源にRosegardenを接続する必要があります。RosegardenはAlsaシーケンサー機能を用いて出力をしますので、Alsaシーケンサーに対応したMIDI音源(ソフト/ハード)が必要です。今回はソフトウェアMIDI音源としてfluidsynthを利用して音を出してみます。
また、オーディオサポートのためにはJackをしますので、オーディオを取り込みたいなどの理由でオーディオを使用したい場合はJackが必要になります。もしオーディオを扱わずMIDIだけで作曲が完結する場合はJackは必ずしも必要ではありません。
PipeWireを導入する
PipeWireの導入と設定に関してはVoid LinuxのオーディオサーバーをPulseAudioからPireWireに切り替えてみたに詳細を書きました。Void Linux向けの記事ですが、Ubuntu, Arch Linuxでもほとんど変わらないと思います。参考にしてみてください。
Qsynthの導入と設定
まずは音源であるQsynthを導入しましょう。QsynthはfluidsynthのQtフロントエンドです。Void Linuxの場合は以下のコマンドでインストールします。Ubuntuの場合はAPT
, Arch Linuxの場合はpacmanでインストール可能です。サウンドフォントであるsoundfont-fluid
もインストールしておきましょう。Voidのコマンドを例として示しますが、Ubuntu/Debian、Arch系でもリポジトリからインストールしてください。
sudo xbps-install qsynth
Qsynthを起動したら、setup
ボタンで設定画面を出します。MIDIタブを選択し「MIDI Driver」をalsa_seq
に設定します。
Audioタブを選択し、「Audio Driver」をpipewire
に設定します。これでPipeWireから音を出せます。
Rosegardenの起動
まだRosegardenをお持ち出ない場合は各ディストリビューションの公式リポジトリから入れてしまいましょう。
Arch Linuxの場合は
# pacman -S rosegarden
Void Linuxの場合は
# xbps-install rosegarden
UbuntuやDebianの場合は
# apt install rosegarden
で問題なくインストールできると思います。ではRosegardenを起動しましょう。ここで注意があります。Rosegardenでオーディオを扱うためには以下のコマンドで起動します。
pw-jack rosegarden &
このコマンドで起動することでPipeWireがJackの代わりをし、録音などのオーディオ機能を扱うことができるようになります。
Qsynthとの接続
まずはMIDIの音を出せるようにRosegardenから音源であるQsynthに接続しましょう。「スタジオ」タブから「MIDIデバイスの管理」を選択し、接続したい機器を選択します。
これでRosegardenからQsynthを経て音が出力されるようになりました。この接続はAlsaでの接続です。念の為qpwgraphで確認してみます。Rosegardenとfluidsynthが接続されているのが分かりますね。またfluidsynthからPipeWire出力で音声出力している様子も分かると思います。
オーディオを扱う
pw-jack
コマンドでRosegardenを起動していればJackを使っているかのようにオーディオインターフェースや他の音楽ソフトと接続して音源を取り込むことができるようになります。今回はオーディオインターフェースからギターの音を録音してみます。
まずはPipeWireのGUIツールであるqpwgraph
を用いて機器とRosegardenの接続を確認します。
トラックパラメータを「オーディオ」に設定して音声がRosegardenに入っていることを確認し録音します。
まとめ
PipeWireを用いてJackなしでRosegardenを使用する方法を模索するという内容でした。Jackを用いるよりも煩わしくなく、Jack使用中にOSのオーディオが使えなくなる不便さもありません。LinuxでDTMを調べると必ず出てくるJackオーディオサーバーですが、PipeWireで代替することでJackなしでもDTMソフトを使えそうだと思いました。筆者はオーディオ関連はあまり詳しくないので、記事の内容に誤りがありましたらそっと教えていただけると幸いです。