夏休み特別企画、それは「不真面目な内容を真面目にやる」系のネタ記事(のよう)です。今年の夏休み特別企画[1]は3本立て。その最後を飾る筆者は、企画の意図に沿うような内容をなかなか思いつくことができず、プレッシャーを感じていました。
そんな中、今年の夏休み特集第一弾である第238回を読み、「夏休みデビュー」と「DJコントローラー」の言葉が目に付きました。デビューと言えばチャレンジです。そしてPCにつないで使う最近のDJコントローラーはMIDI信号を扱うハードウェアコントローラーとなっています。GIMPとMIDIでお絵描きにチャレンジしてみようと思いつきました。
ということで今回は、MIDIコントローラーでGIMPのお絵描きを快適にするというレシピをお届けします。
GIMPとは
本連載において、GIMPが初めて取り上げられたのは第186回です。GIMPは画像処理を目的としたソフトウェアで、画像の「レタッチ」やいわゆる「お絵描き」に最適のソフトウェアのひとつです。
GIMPのツールの設定パラメーターは画面で操作可能ですが、そのたびにキャンバスからカーソルを外してツールボックスに持っていく必要があります。筆者は以前からこれに不満を感じていました。カーソルはキャンバスに残し、別な方法でパラメーターを調整できれば快適に描けるのにという不満です。
そこで思いついたのが、MIDIコントローラーとの併用です。GIMPはALSAシーケンサー機能からMIDIの信号を受け取る機能を持っているため、MIDIコントローラーからGIMPの特定のパラメーターをコントロールすることができます。
ALSAシーケンサーとは
ALSAはLinuxのサウンドシステムですが、音声だけではなくMIDI信号も扱います。本連載の第150回でも紹介したとおり、ALSAシーケンサーと呼ばれています。
MIDIに関係するハードウェアはUSB接続にしろ、シリアル接続にしろ、ALSAがドライバーとなりALSAシーケンサーにポートを開きます。同じくALSAシーケンサーにポートを開くことができるソフトウェアであれば、ポート間を接続することで経路を確保し、信号の送受信を行うことができます。
ALSAシーケンサーのポートを一覧するには、aconnectguiやpatchageを使います。
GIMPのMIDIポートをALSAシーケンサーに開く
それでは設定してみましょう。ハードウェアMIDIコントローラーをシステムに接続し、GIMPを起動してください。今回は入手の容易なMIDIコントローラーである、KORG社のnanoKontrol2を使いました。
まず、「設定」メニューの「モジュール」を選択してモジュールマネージャを開き、リストの中の「MIDI event controller」が有効となっているかどうか確認してください。有効になっていない場合は名前が「/usr/lib/gimp/2.0/modules/libcontroller-midi.so」となっているので、有効にしてGIMPを再起動します。
モジュールが有効になっているのを確認したら次に、「設定」メニューの「環境設定」を選択してください。開いたウィンドウの左ペインから「入力デバイス」の「入力コントローラー」を選択します。
ウィンドウの右ペインの「利用可能なコントローラ」に項目「MIDI」があります。選択して右矢印をクリックし、「アクティブなコントローラ」に追加します。追加すると新たに、「入力コントローラーの設定」というウィンドウが開きます。
このウィンドウで、GIMPの特定の機能に対し、MIDI信号のノートやコントロールチェンジを割り振ります。まずは項目「デバイス」に「alsa」を入力してください。これにより、GIMPがALSAシーケンサーにポートを開きます。その後、aconnectguiやpatchageを使い、GIMPのポートとMIDIコントローラーのポートを接続してください。
これで、MIDIコントローラーからの入力がGIMPに届くようになります。
MIDI信号をGIMPの機能に割り当てる
次に、MIDI信号をGIMPの機能に割り当てていきます。任意のノートあるいはコントロールチェンジ(画面ではコントローラー)をダブルクリックします。すると「コントローラーのアクションイベントを選択」というウィンドウが開きます。ウィンドウ内のリストから任意の機能を選択すると、割り当てが完了します。
割り当てが完了すると、MIDOコントローラーからGIMPを操作できます。
なお、GIMPの「入力コントローラーの設定」ウィンドウでボタン「イベントを横取り(G)」をクリックしてからMIDIコントローラーを操作すると、ハードウェアから入力したノートあるいはコントロールチェンジが自動で選択状態となるので、併用するのが便利です。
設定の実例
色のコントロールをするため、スライダーやノブでコントロールできるコントロールチェンジをforegroundとbackgroundのRGBの3つのチャンネルに割り当てました[2]。
残りのスライダーやノブを、ツールのValue1(不透明度)とValue2(拡大縮小)、キャンバスの表示縮尺に割り当てました[3]。
それ以外はボタンを、undoとredo、保存操作、ひとつ前の(後ろの)ツール選択に割り当てました[4]。
描いてみよう
せっかくここまで設定してみたので、ちょっとお絵描きしてみました。ホヤという海の生物です。東北地方の太平洋側で夏に食べる習慣があります。
暑い昼下がり、消化管を傷つけないようそっと殻から外された身をサッと体液で洗い、シャキッとした刻みきゅうりを添えて食べると、海の風味が口の中に広がりそれはもう夏バテも一瞬で吹き飛ぶというもの。みなさま、残暑見舞い申し上げます。