今回は、Rosegardenを使って作曲する方法を紹介します。Rosegardenは本連載の第169回 と第170回 で扱ったArdourと同じDAWソフトウェアですが、MIDIシーケンス機能に焦点をあてて開発されている点が異なります。
なお、今回の内容を執筆するにあたって作ってみた曲をニコニコ動画にアップロードしておきました。
ニコニコ動画:https://www.nicovideo.jp/watch/sm14745401 JavaScriptを有効にしてください。
MIDIシーケンス機能とは
MIDIシーケンス機能とは、演奏情報であるMIDI信号の記録と再生を行う機能のことです。この機能を備えたソフトウェアは、MIDIシーケンサーと呼ばれます。いわゆる「打ち込み」というのは、MIDIシーケンサーでさまざまなMIDI信号を記録・再生し、MIDI音源を鳴らして音声データ
を作成することを指します。
Rosegardenとは
Rosegarden はLinuxで動作するMIDIシーケンサーです。開発プロジェクトは1993年にスタートし、GPLライセンスでリリースされています。「 バラ園」の名の通り各リリースにはバラの名前が付けられ、その名に見合った美しい操作画面を持っています。
図1 起動時のスプラッシュスクリーン
Rosegardenは本連載の第150回 で紹介したwww.alsa-project.org/~frank/alsa-sequencer/">ALSAシーケンサー機能 を用いてMIDIの入出力を行います。そのため、ALSAシーケンサー機能にMIDI入出力ポートを開くソフトウェア/ハードウェアMIDI音源であればどんなものでも使うことができます。
単体ではMIDI信号の記録と送信を行いますが、JACKサウンドサーバを併用することで音声の入出力も可能となります。この際、Linuxのプラグイン規格であるLADSPA/LV2/DSSIのホストプログラムにもなるため、プラグイン音源やプラグインエフェクトを利用することが可能となります。
また設定することで、本連載の第170回 でご紹介したMTC(MIDI Time Code)による同期やMMC(MIDI Machine Control)による連携も可能で、それぞれのマスター/スレーブとしての役割を持つことができます。もちろんJACKトランスポートによる演奏同期もサポートしています。
インストールと起動
Rosegardenを使うには、パッケージ「rosegarden」をインストールします。その際、依存関係でいくつもパッケージがインストールされます。起動するには、メインメニューから項目「サウンドとビデオ」とたどっていき、項目「Rosegarden」をクリックします。
今回はサウンドプラグインを利用するためにJACKサウンドサーバーと併用していきます。あらかじめJACKサウンドサーバを起動しておいてから、Rosegardenを起動してください。JACKサウンドサーバについては、本連載の第161回 [1] を参照してください。
発音の編集
Rosegardenを起動すると横長のレイヤーがたくさん目にはいりますが、これをトラックと呼びます。トラックにセグメントを配置し、そのセグメントに対して発音(ノート)を記述することで演奏情報を作成します。まず、キーボードでF3を押して描画ツールとしてください。トラック上をクリックすると、セグメントが配置されます。
図2 トラックとセグメントの実例。Rosegardenには豊富なサンプルデータが含まれており、初心者は参照することで使い方を学習することもできる
セグメント上で右クリックし、メニューを表示してください。ノートを編集するためのエディターを4種類の中から選ぶことが出来ます。
図3 マトリクスエディターはノートの継続時間(デュレーション)を直接描いていく
図4 譜面エディターは音符を描いていく。そのまま印刷することも可能
図5 パーカッションエディターはドラム音源を扱うのに利用する
図6 イベントリストは生のMIDI信号を表示/編集する
イベントリスト以外のエディターでは、メニュー「表示」から項目「ルーラー」とたどり、ベロシティやコントロールを表示/編集することができます。ルーラーに対して行う操作は、メニュー「ツール」から選択します。ベロシティは発音(ノート)の強さを表すもので、どのノートも同じベロシティだと平坦な曲調になります。コントローラーはまた後ほど説明します。
ひととおり入力を終えたら、エディターの上部にあるトランスポート操作部分で再生をクリックし、演奏を開始します。
図7 キーボードの「コントロール」キーと「T」キーを同時押しして表示できる「Rosegardenトランスポート」も便利
しかし、演奏を開始しても音が出なかったと思います。これは、トラックはそれ単体ではMIDI信号しか発生しないからです。トラックの発生するMIDI信号を受け取り、音声に変換する機能を設定する必要があります。この機能を担うのがMIDI音源ということになります。
Rosegardenではハードウェア/ソフトウェアMIDI音源の他に、DSSIのプラグイン音源を利用することができます。前者の利用はやや込み入った設定が必須ですので、先に、比較的簡単に設定可能なDSSIプラグイン音源を利用してみます。
プラグイン音源の利用
DSSI(Disposable Soft Synth Interface)は、LADSPAを利用して作られたプラグイン音源です。このLADSPA(Linux Audio Developers Simple Plugin API)はLinuxにおけるサウンド合成のためのフレームワークであり、LADSPAとDSSIの関係は、Steinberg社のVSTとVSTインストルメントの関係に似ています。
UbuntuではDSSIのパッケージがいくつか提供されています。今回はサウンドフォントを利用するfluidsynth-dssiを利用します。いったんRosegardenを終了し、パッケージ「fluidsynth-dssi」をインストールしたのち、再度Rosegardenを起動してください。
DSSIによるプラグイン音源をトラックに適用するには、トラックを選択状態にした後、メイン画面左の「特別パラメータ」の中段にある「トラックパラメータ」の部分で、「 再生パラメータ」の中にある項目「デバイス」を「シンセサイザープラグイン」にします。その下にある項目「楽器」では1番から16番のチャンネルからひとつを指定します。
図8 トラックパラメータとインストゥルメントパラメータ。図ではもうチャンネル1にDSSIプラグイン音源の設定が済んでいる
プラグイン音源の割り当ては「特別パラメータ」下段の「インストゥルメントパラメータ」で行います。「 シンセサイザー無し」と表示されているボタンをクリックすると、プラグインを指定するためのウィンドウが開きます。プルダウンリスト「プラグイン」から任意のプラグインを選択してください。今回は「FluidSynth DSSI plugin」を指定します。
図9 プラグイン指定ウィンドウ
FluidSynthはサウンドフォントを利用するタイプのシンセサイザーなので、サウンドフォントファイルをインストールする必要があります。今回は本連載の第149回 で利用したパッケージ「fluid-soundfont-gm」に含まれるサウンドフォントを利用してみます。
サウンドフォントを読み込むには、「 インストゥルメントパラメータ」の部分からボタン「エディタ」をクリックして開くウィンドウで、ボタン「Load SoundFont...」をクリックしてファイル「/usr/share/sounds/sf2/FluidR3_GM.sf2」を指定してください。サウンドフォントがロードされるとウィンドウにサンプリングされたインストルメントの一覧が表示されます。
図10 サウンドフォントをロードしたプラグイン。音色リストが表示されている
「Send Test Note」ボタンをクリックして音が出たら設定完了です。プラグイン音源との結びつけもすでに終えてありますので、メイン画面上部のトランスポート操作部分で再生をしてみてください。きっと音が出るようになっているはずです。
なお、ひとつのプラグインチャンネルにはひとつのプラグイン音源を割り当てることができるため、全部で16のプラグインを同時に使うことができます。Ubuntuで使うことのできるDSSIプラグインはこの他にも、Hexter(Yamaha DX7のエミュレーター)といったアナログシンセサイザー風ソフトウェアやサンプラー、モデリング音源などのパッケージがあります。
MIDI音源の利用
ソフトウェア/ハードウェアMIDI音源はDSSIとは異なり、独立して起動するソフトウェアや、ケーブルでシステムに接続したハードウェアの形となります。
こういったMIDI音源を使うには、まずメイン画面のメニュー「スタジオ」から「MIDIデバイスの管理」をクリックして開くウィンドウで、MIDIポートを設定する必要があります。
図11 MIDIデバイスの操作
ウィンドウの上部でMIDI出力ポートを設定します。Rosegarden上ではMIDI出力ポートを「再生デバイス」と呼んでいます。再生デバイスの出力先は、右のリストから選択できます。このリストは、MIDI音源がALSAシーケンサー機能に開いている入力ポートの一覧でもあります。
再生デバイスにはそれぞれ「バンク」を設定できます。バンクとはMIDI音源の音色を選択するための仕組みで、MIDI仕様に定義されています。再生デバイスのバンクの設定を見るには、再生デバイスを選択した後、ボタン「バンク...」をクリックします。バンクを適切に定義すると、再生デバイスを増やすことなく複数の音色を利用できるようになります。バンクの設定に慣れるまでは、ボタン「インポート」からGeneral MIDI System Level 1のプリセットであるファイル「GM.rgd」を利用するとよいでしょう。
図12 MIDIバンクとプログラムの管理
さらに、再生デバイスには「コントローラー」を設定できます。ボタン「コントローラー」をクリックすると現在設定されているコントローラーが表示されます。「 Volume」や「Pan」 、「 Sustain」などがすでに定義されていますが、この他に任意のパラメータを設定することもできます。ここで設けたコントローラーは、前述のマトリクスエディターなどで表示/編集することができます。
図13 コントローラーの管理
ここまでで再生デバイスのひととおりの設定を終えましたので、トラックに適用してみます。設定した再生デバイスは、メイン画面左の「再生パラメータ」内のプルダウンリスト「デバイス」で選択できるようになっています。選択するとプルダウンリスト「楽器」で16のチャンネルから選択でき、個々のチャンネルには「インストゥルメントパラメータ」で先ほど設定したバンクから任意のものを割り当てることとなります。そのため、ひとつの再生デバイスからは計16音色を利用できるということになります。
なお、筆者は今回、アナログシンセサイザーと同じ操作感覚を持つソフトウェアMIDI音源であるamSynthを利用しています。
図14 トラックにソフトウェア/ハードウェアMIDI音源を設定した状態
MIDIコントローラーの利用
ウィンドウ「MIDIバンクとプログラムの管理」の下部ではMIDI入力ポート/録音デバイスの設定をすることができます。こちらは、ハードウェアMIDIコントローラーからの入力や、他のMIDIシーケンサーからのMIDI出力を記録する場合に用います。筆者は今回、入力するためのツールとしてRoland/Edirol PCR-M30 を接続しているため、「 PCR-1」を指定しています。
各エディター上でメニュー「ツール」から「ステップ録音」を有効にすることで、こういったソフトウェア/ハードウェアMIDIコントローラーから受け取ったMIDI信号を記録することができます。
オーディオトラック
トラックに「シンセサイザープラグイン」や「再生デバイス」ではなく「オーディオ」を指定することで、通常の音声データを扱うことができます。この場合、RosegardenとJACKサウンドサーバーを併用していることが必須条件です。
トラックを選択した上でメイン画面左の「再生パラメータ」のプルダウンリスト「デバイス」で、「 オーディオ」を選択します。その下の「楽器」で16のチャンネルからひとつを指定します。このチャンネルは後述のミックスに関係します。
「インストゥルメントパラメータ」の項目「In」で、どの音声ポートから入力するかを選択できます。音声入力はJACKサウンドサーバーのポート管理で設定します。今回はpatchageというソフトウェアでポートを見てみましょう。
図15 patchageでポートを表示。緑はMIDI信号の経路を、紺は音声の経路を示す
record in 1と2で左右別のポートが設けられていることがわかります。patchageの機能を利用するなどして出力ポートとつないであげると、録音ができます。録音の品質は、メイン画面のメニュー「編集」から選択できる項目「設定」で、「 オーディオ」カテゴリーの項目「録音オーディオファイル」の設定に従います。
音声データをインポートし、トラックにセグメントとして配置することもできます。メイン画面のメニュー「ファイル」から項目「オーディオファイルの操作」と進み、ウィンドウ「オーディオファイルマネージャ」を開きます。このウィンドウから、メニュー「ファイル」から項目「オーディオファイルの追加」を開き、音声データをインポートします。
図16 オーディオファイルマネジャー
録音された音声データもこのオーディオマネジャーで管理することになります。ウィンドウからクリックアンドドラックすることでトラックに配置することができます。配置されたオーディオ・セグメントは自由にクリッピングをすることができるほか、システムにAudacityがインストールされていれば、ダブルクリックで波形編集をすることが可能となります。
拍子とテンポの編集
各エディターではさらに、拍子とテンポの編集を行うことができます。エディターの上部にある「テンポルーラー」を右クリックしてメニューを表示してください。
図17 テンポルーラーの右クリックメニュー
任意の位置にテンポや拍子の変化を設けることができます。「 テンポを編集」あるいは「拍子の編集」をクリックするとウィンドウ「テンポ・拍子エディター」が開き、現在設定されている一覧をみることができます。
図18 テンポ・拍子エディター
一度テンポルーラーに表示された変換点は、マウスのクリックアンドドラッグで左右に移動することができます。
サウンドのミックスとプラグインエフェクトの利用
ここまでで各トラックに音の元情報が配置できましたので、次は音のミックスをしてみましょう。メイン画面のメニュー「スタジオ」から項目「オーディオミキサー」を選択してください。
図19 オーディオミキサー
トラックにシンセサイザープラグインやオーディオを利用していると、その音声出力のミックスを調整することができます。あらかじめLADSPA/LV2のパッケージをインストールしておけば、画面下部でLADSPA/LV2のプラグインエフェクトを適用することができます。今回はRosegardenをインストールすると自動でインストールされるパッケージ「swh-plugins」に含まれる、「 C* Plate2x2」というプレートリバーブをピアノ音源に適用しています。
図20 プラグインエフェクト
標準ではマスターへの出力だけですが、メニュー「設定」の項目「サブマスターの数」からサブマスターを作成できます。複数の出力をまとめ、それにプラグインエフェクトを適用したい場合に使えます。設けたサブマスターへ入力するにはミキサー上で、各シンセサイザー/オーディオチャンネルの上部の出力先を変更します。サブマスターは何も設定せずともマスターへ入力されます。
図21 サブマスターを2つ追加した状態。シンセサイザー2と3の音声が「副1」で表されるサブマスターに流れているのがわかる
メインウィンドウの設定メニューの「オーディオ」カテゴリーの項目「JACK出力の生成」で「サブマスター用」を有効にすると、このサブマスターのJACK出力ポートを設けることができます。
図22 サブマスターが設けたJACK出力ポート。submasterで表示されている
また、チェックボックス「個々のオーディオインスゥトルメント」を有効にした場合は、個々のシンセサイザー/オーディオの音声出力を他のDAWに出力することができます。Ardourのプラグインオートメーションと連携するといった活用を考えることができます。
図23 シンセサイザー/オーディオが個々に設けたJACK出力ポート。設定可能なチャンネルがすべて表示されているため、画面に収まりきらない
ミックスが終わったらレコーディングとなります。PatchageなどでRosegardenの出力を入力に回し、Rosegarden自体でレコーディングすることも可能ですが、余計なトラックを設ける必要があるため、Audacityなどのソフトウェアを別途利用したほうがよいでしょう。