TiMidity++でMIDIを鳴らす

timidity++(MIDIプレイヤ)でMIDIファイルを演奏するメモ。

インストール

Linuxではtimidity++のパッケージを入れるだけ。
FreeBSDではPortsでaudio/timidity++を入れる。audio/timidityではない。

サウンドフォントを入れる

パッケージがデフォルトで用意してる音源がショボいので自分でサウンドフォントを入れる。
ここではSGM-180 v1.5と言うのを使う。
下記コマンドでダウンロード出来る。(時間はかなりかかる)

$ wget ftp://sf2midi.com/sgm128/SGM180v1.5.zip


ダウンロードしたら展開して適当なディレクトリに入れる。


あと、サウンドフォントを配ってる所は結構あるので探せばいろいろ見付かる。

設定ファイルを書く

★cfgforsf.exeを入手

サウンドフォントから設定ファイルを作るツール(windows用)だが、作者のサイトが閉鎖してる。
一応Googleで探せばcfgforsf.exe自体は見付かる。


cfgforsf.exeを入手できればwineで動かせるので、下記コマンドでSGM-180用の設定ファイルが出来る。

$ wine cfgforsf.exe SGM-180v1.5.sf2 SGM-180v1.5.cfg
★timidity.cfgを書く

とりあえず例として、ディレクトリ構成は下記の用にする。

~/.timidity/
      |
      +---/sf2/
      |     |
      |     +---SGM-180v1.5.sf2
      |     +---SGM-180v1.5.cfg
      |
      +---timidity.cfg


この場合、${HOME}/.timidity/timidity.cfgはこの様になる。

#
# Timidity++ 設定
#

dir /home/ユーザ名/.timidity/
dir /home/ユーザ名/.timidity/sf2

source SGM-180v1.5.cfg


${HOME}/.timidity/timidity.cfgを読み込むようにエイリアスを設定しておく。

alias timidity='timidity -c ~/.timidity/timidity.cfg'


とりあえず端末から「-int」オプションを付けて起動する。

$ timidity -int MIDIファイル


すると下図の用な画面が出でMIDIファイルが演奏される。