Ubuntu Weekly Recipe

第150回 MIDIとUbuntuの素敵な出会い(2)ソフトウェアシンセサイザで演奏してみる

この記事を読むのに必要な時間:およそ 5 分

レイテンシ対策をして演奏する

それではいよいよ,レイテンシ対策を実践してみましょう。以下のコマンドを実行してください。

$ timidity -iA -Os --buffer-fragments=3,7 --realtime-priority=50  --sequencer-ports=1;

先ほどと同じようにして,演奏してみましょう。おそらく,レイテンシが以前と比べて劇的に小さくなり,リアルタイム演奏に使えるようになるはずです。

図14 モジュレーションホイールやプログラムチェンジキーもちゃんと動く

図14 モジュレーションホイールやプログラムチェンジキーもちゃんと動く

なお,JACKサウンドサーバで使う場合は以下のように実行します。

$ timidity -iA -Oj --buffer-fragments=3,7 --realtime-priority=50  --sequencer-ports=1;
Opening sequencer port: 129:0
cannot complete execution of the processing graph (Resource temporarily unavailable)
zombified - calling shutdown handler

zombifiedやshutdownという怪しげな出力が表示されますが,これはtimidity++が,MIDI接続を検知しない限りはサウンドの出力ポートを開かないためです。そのため,qjackctlのconnectウィンドウでtimidity++のMIDI入力ポートに出力ポートを接続すると,サウンドの出力ポートが見えるようになります。

図15 Patchageの画面。PatchageはJACKサウンドサーバにおいて,音の入出力とMIDI入出力を自在に接続するためのユーティリティで,timidity++のMIDIポートに接続をすると,音の出力ポートが設けられるのがわかる

図15 Patchageの画面。PatchageはJACKサウンドサーバにおいて,音の入出力とMIDI入出力を自在に接続するためのユーティリティで,timidity++のMIDIポートに接続をすると,音の出力ポートが設けられるのがわかる

timidity++は残念ながらソフトウェアシンセサイザとしてのウィンドウを持たないため画面操作ができませんでしたが,これは稀なケースです。Ubuntuではtimidity++以外にも,ソフトウェアシンセサイザのパッケージが提供されており,画面操作できるものが大半です。こういったシンセサイザに関しては,また機会に紹介できればと思います。

さてこうやって見渡してみると,ソフトウェアからハードウェアまで,果てはバッファやLinuxのスケジューリングまで,話が広範囲に及んでしまいました。読者のみなさんも大変だったと思います。ですが,LinuxでMIDIやサウンドを扱うのに必要な知識はおおよそこのくらいです。機材を揃えるのは大変ですのでまずはソフトウェアから試してみて,Linuxのサウンド環境に慣れていっていただければ幸いです。

著者プロフィール

坂本貴史(さかもとたかし)

Ubuntuのマルチメディア編集環境であるUbuntu Studioのユーザ。主にUbuntu日本コミュニティとUbuntu Studioコミュニティで活動。いつかユーザ同士で合作するのが夢。