Ubuntu Weekly Recipe

第149回 MIDIとUbuntuの素敵な出会い(1) MIDIファイルを演奏してみる

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

今回から2回にわたり,電子音楽フォーマットであるMIDIをUbuntuで扱うレシピを,MIDI音源ソフトウェアであるtimidity++と共にお届けします。今回はMIDIファイルの再生とMIDIの概要を,次回でUbuntuを楽器にしてリアルタイム演奏してみたいと思います。

timidity++とは

timidityは1995年に,Tuukka Toivonen氏がリリースしました。その後,日本の開発者がソースコードを引き継いで開発を継続し,timidity++として再リリースしました。2004年のリリースを最後に新機能の追加は止め,田向正一氏と卜部昌平氏がメンテナンスのみ継続しています。

Windows,MacOS X,Unix,Linuxなど,様々なプラットフォームに対応しており,Ubuntuにおいてはパッケージの形で提供されています。パッケージ名「timidity」です。また,入力ウィンドウを追加するためのパッケージ「timidity-interfaces-extra」をインストールすることで,さまざまな入力画面で利用することができます注1)⁠今回はGTK+(Ubuntu標準のデスクトップ環境であるGNOMEが利用しているGUIツールキット)のウィンドウを使っていきたいと思います。

まずは,timidity++をインストールしてみましょう。Synapticパッケージマネジャーでパッケージ名「timidity」および「timidity-interfaces-extra」をインストールしてください。端末での操作が好きな方は,以下のコマンドを実行しても構いません。

$ sudo apt-get install timidity timidity-interfaces-extra;

timidity++単体では音が出せませんので,音源パッケージもインストールします。Ubuntu 10.10時点で,利用できるサンプリング音源のパッケージは3種類提供されています。パッケージ名「freepats」⁠fluid-soundfont-gm」⁠fluid-soundfont-gs」です。これらも同様に,Synapticパッケージマネジャーでインストールしてください。端末操作であれば以下を実行します。

$ sudo apt-get install freepats fluid-soundfont-gm fluid-soundfont-gs;

なお,Ubuntu Studio環境では上記パッケージはすべてインストールされていますが,これに加えて「timidity-daemon」も標準状態でインストールされています。このパッケージをインストールすると,timidity++をシステム起動時に常駐ソフトウェア(デーモン)として実行するようになりますが,この場合,細かなオプション指定をして起動できないため,筆者はいつもアンインストールしてしまいます注2)⁠

注1
Emacs好きな方々のために,パッケージ「timidity-el」というものも提供されていたりします。
注2
起動オプションに関しては後述しますが,⁠timidity -iAD -Os --buffer-fragments=2,8;」に相当しています。

MIDIファイルを再生してみる

MIDIの詳細は後述することにして,まずはMIDIファイル注3から音を出してみましょう。端末(gnome-terminal)を起動し,以下を実行してください注4)⁠

$ timidity -ig -Oe;

すると,ウィンドウ「timidity MIDI Player」が開きます。ツールバーの項目「File」をクリックして表示される項目「Open」を選択し,表示されるダイアログでMIDIファイルを選択してください。選択すると,メインウィンドウ「timidity MIDI Player」下部のリストに追加されます。ファイル名をクリックすると演奏を開始します。

図1 timidityのGTK+インターフェイス

図1 timidityのGTK+インターフェイス

timidity++は標準状態では,パッケージ「freepats」で提供される音源ファイルを使います。パッケージ「fluid-soundfont-gm」「fluid-soundfont-gs」で提供される音源ファイルを使いたい場合は,以下のように「-x」オプション付きで実行します。

パッケージ名「fluid-soundfont-gm」で提供される音源を使う場合

$ timidity -ig -Oe -x 'source /etc/timidity/fluidr3_gm.cfg';

パッケージ名「fluid-soundfont-gm」で提供される音源を使う場合

$ timidity -ig -Oe -x 'source /etc/timidity/fluidr3_gs.cfg';

Freepatsを使う場合(標準)

$ timidity -ig -Oe -x 'source /etc/timidity/freepats.cfg';

freepatsの方は素直な感じの音を,fluid-soundfont-gmの方は迫力がある感じの音を出してくれます。⁠-x」オプションは,標準の設定ファイルであるファイル「/etc/timidity/timidity.cfg」に記述されている設定を上書きするのに用います。標準の音源ファイルを変更したい場合は,このファイルを直接編集するのがよいでしょう。

timidity++は日本の開発者が中心ということもあり,timidity++本体の説明や設定ファイルの解説などすべて日本語版が提供されています。マニュアルを参照するには,以下のコマンドを実行します。

timidity++本体のマニュアル

$ man timidity;

timidity++の設定ファイルに関するマニュアル

$ man timidity.cfg;
注3
MIDIファイルは,.midや.smfの拡張子が付くファイル名となっていることが多いです。SMFはStandard MIDI Formatのことです。
注4
メニューの「Timidity++ MIDIシーケンサ」から起動することもできますが,こちらはX Athena Widget インタフェースとなります。コマンドだと「timidity -ia -Os」相等です。

著者プロフィール

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

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

コメント

  • Re: パッケージ名

    ご指摘いただきまして,ありがとうございます。
    修正させていただきました。

    Commented : #2  gihyo.jp編集部 (2010/12/04, 10:12)

  • パッケージ名

    「timidity-interface-extra」ではなく、「timidity-interfaces-extra」ですね。sが入ります。

    Commented : #1  vbk (2010/12/01, 18:13)

コメントの記入