名前
timidity.cfg - TiMidity++
の設定ファイル
説明
timidity.cfg は,timidity(1)
の実行時の様々な設定を行うための設定
ファイルです。音色データの置き場所,音色自体の設定,その他諸々を設定す
ることができます。
TiMidity++
は,起動時にコマンドラインオプションを見る前に,
timidity.cfg
を探索します。このファイルにアクセスできない場合,ま
たライブラリパスがコマンドラインで
-L
オプションによって変更され
ている場合は,すべてのオプションを見た後に,新しいライブラリパスに従っ
てデフォルトファイルを(-c
オプションで別の設定ファイルが指定され
ていないならば)再探索します。
設定ファイルは,MIDI
プログラムのインスツルメントファイルへのマッピング
を定義します。もし,複数のファイルが指定された場合には,後に読み込まれ
た設定によって前の設定が上書きされます。
変数
ドル記号 `$'
に続けて英数字やアンダースコア
`_'
が続いている場合,その
文字列は変数と見なされ,設定ファイルを処理する際に別の文字列に置き換え
られます。この変数名は,後続の文字と区別するために,中括弧付きで表記す
ることもできます。
例:
$variable
${variable} # $variable と同義
変数を新たに定義する命令は,今のところ用意されていません。未定義の変数
は,空文字に置き換えられます。
規定の変数として定義されている変数は,次の
1 つだけです。
- $basedir
- 設定ファイルが存在するディレクトリを表します。主にパスを指定する命令で,
設定ファイルからの相対パスを指定する目的で使います。
$basedir
に空白が含まれるかも知れない場合は,""
で括る必要があります。
例:
/usr/local/share/timidity/timidity.cfg 内で
dir $basedir/inst # source /usr/local/share/timidity/inst
と解釈される
文法
設定ファイル中には以下の書式が指定可能です。
- dir directory
[...]
- directory
を探索パスに加えます。加え方は
-L オプションと同
様です。
TiMidity++
では,アーカイブファイルをパッチセットにすることができ
ます。
例:
dir /usr/local/share/timidity/inst/foo.zip#
bank 0
0 bar.pat
1 baz.pat
2 zoo.pat
まず,dir
で通常のディレクトリのようにアーカイブファイル(上の例で
は/usr/local/share/timidity/inst/foo.zip)を指定します。このとき,アーカ
イブファイル名の最後に
`#'
を付けてください。この
`#' があることで,ア
ーカイブファイルであることを
TiMidity++
は認識します。こうしてお
くと,dir
で指定されたアーカイブファイルの中のパッチファイルも読
み込み対象になります。上の例では,foo.zip
の中にある bar.pat,baz.pat,
zoo.pat
が読み込まれます。
- source file
[...]
- 他の設定ファイルをその場所に挿入し,続行します。source
のネストは 50
段まで可能です。
- progbase
number
- これ以降,プログラム番号を
number から number+128
で設定・
表示します。例えば,progbase
1
とした場合は,それ以降プログラム番
号は 1 から 128
で設定・表示されます。
- bank [MapID1]
number
- これ以降変更するトーンバンクを選択します。この文以後の
patch の対応付け
は,指定されたトーンバンクに対して行われます。MapID1
に
gm2,sc55,sc88,sc88pro,sc8850,
xg,xgsfx64
のいずれかを指定することで,特定のマップを対象
にできます。
- drumset
[MapID2] number
- 変更するドラムセットを選択します。この文以後の
patch
の対応付けは,指定
されたドラムセットに対して行われます。MapID2
に gm2drum,
sc55drum,sc88drum,sc88prodrum,sc8850drum,
xgdrum,xgsfx126
のいずれかを指定することで,特定のマップを
対象にできます。
- number file
[options]
-
- number %font
file bank prog [key] [options]
-
- number %sample
file [options]
- 現在のトーンバンクやドラムセットで,MIDI
プログラムナンバー
number で使用する patch
ファイルを指定します。file
が SoundFont の場合は,number
%font の書式で特定の
bank, prog,key
の音色データを取り出します。file
が無圧縮の WAV
形式または AIFF
形式のサンプルファイルの場合は,number
%sample
の書式で指定します。options
は,次のものが使用可能です。
- amp=amplification
- インスツルメントのボリュームを
amplification%
にします。もし値が
指定されていない場合,インスツルメントが読み込まれる時に自動的に設定さ
れます。
- note=note
- インスツルメントを演奏する時に決まった
MIDI
ノート(音階)を使用します。
note を 0
にすると,最初に Note On
イベントが発生した時点で
のノートを使用します。パーカッションインスツルメントに対しては,もし設
定ファイルで値が設定されていなければ,patch
ファイルに入っている値を使
用します。
- pan=panning
- インスツルメントのデフォルトのパンニングを設定します。panning
は
left,right,center,あるいは
-100 から 100
までの整数値を取ることができます。-100
が最も左, 100
が最も右になります。値が与えられていない場合には,patch
ファ
イルに入っている値を使用します。もちろん,MIDI
ファイル中のパンニングコ
ントロールの方が優先されます。
- tune=tuning[,...]
- インスツルメントのルート周波数を調整します。tune=1
とすれば 1
半音上がります。tuning
には小数が利用可能なので,
tune=-0.2
などの微調整も可能です。二つ目以降の引数は,音域別に複
数のサンプルデータが含まれている場合に,それぞれ別の値を指定できます。
- rate=attack:decay:sustain:release1:release2:release3[,...]
- インスツルメントの
ADSR
レートを設定するオプションです。0
から 255
までの値が指定できます。サステインレートだけを補正したい場合
など,
6 GUS/hrpschrd.pat rate=::60
のような狙い撃ち設定も可能です。また,アタックタイムを速くしたいだけで
あれば,
6 GUS/hrpschrd.pat rate=255
という書き方ができます。二つ目以降の引数は,音域別に複数のサンプルデー
タが含まれている場合に,それぞれ別の値を指定できます。
- offset=attack:decay:sustain:release1:release2:release3[,...]
- インスツルメントの
ADSR
オフセットを設定するオプションです。0
か ら 255
までの値が指定できます。
書式については,ほぼ
rate= と同様です。
- keep={loop|env}
- パーカッションインスツルメントでは,デフォルトでループ情報とエンベロー
プ情報が破棄されます。また,メロディーインスツルメントに異常なエンベロ
ープが存在した場合にも,エンベロープ情報は自動的に破棄されます。
keep=
を指定することで,ループ情報やエンベロープ情報が破棄される
のを防ぎます。例えば,Short,Long
Whistle
パーカッションインスツルメン
ト(General MIDI の 71,72
番)に対しては,設定ファイルで
keep=loop keep=env
としておく必要があります。
- strip={loop|env|tail}
- インスツルメントとして使用する
patch
のループ情報やエンベロープ情報やテ
ール(ループの後にあるデータ)をすべて強制的に破棄します。サードパーティ
ーのインスツルメントには,ループの後にゴミが付いているものがあり,イン
スツルメントを演奏する度にクリッキングノイズが入ってしまうことがありま
す。その場合,strip=tail
オプションを指定すれば音質が改善されます。
- tremolo=sweep_increment:control_ratio:depth[,...]
- トレモロを設定するオプションです。0
から 255
までの値が指定
できます。rate=
同様,狙い撃ち設定や不要部分の省略が可能です。
sweep_increment
は発音してからトレモロが掛かり始めるまでの時間,
control_ratio
は振幅が変化する速さ,depth
は振幅が変化する
深さです。rate=
同様,複数のサンプルに対する設定が可能です。
- vibrato=sweep_increment:phase_increment:depth[,...]
- ビブラートを設定するオプションです。0
から 255
までの値が指
定できます。rate=
同様,狙い撃ち設定や不要部分の省略が可能です。
sweep_increment
は発音してからビブラートが掛かり始めるまでの時間,
phase_increment
は周波数が変化する速さ,depth
は周波数が変
化する深さです。rate=
同様,複数のサンプルに対する設定が可能です。
- sclnote=note[,...]
- インスツルメントのスケールチューニングの基準とするノートを設定します。
例えば,sclnote=60
とすれば,真ん中のドを中心にスケールチューニン
グが行われます。二つ目以降の引数は,音域別に複数のサンプルデータが含ま
れている場合に,それぞれ別の値を指定できます。
- scltune=tune[,...]
- インスツルメントのスケールチューニングの度合いを
cent
単位で設定します。
例えば,scltune=50
とすれば,ノート間隔が
50 cent になりま
す。二つ目以降の引数は,音域別に複数のサンプルデータが含まれている場合
に,それぞれ別の値を指定できます。
- comm=comment
- comment
が指定できます。#extension
comm
と同じ効果です。
- modrate=attack:decay:sustain:release1:release2:release3[,...]
-
- modoffset=attack:decay:sustain:release1:release2:release3[,...]
- モジュレーション・エンベロープの変化の仕方を設定します。設定方法や値は,
基本的にボリューム・エンベロープと同じです。一部の
SoundFont を除けば,
このオプションだけを指定しても何も起こりません。
- envkeyf=attack:decay:sustain:release1:release2:release3[,...]
- ボリューム・エンベロープ・キーフォローを設定します。note=60
を基
準として,ノートに従いエンベロープ・タイムを変化させます。単位は
+-cent/key です。例えば
envkeyf=100
と指定すると,1
オクターブ上
がるたびにアタック・タイムが
2 倍になります。rate=
同様,複数のサ
ンプルに対する設定が可能です。一部の
SoundFont では,decayと sustain
のパラメータが予め設定されている場合があります。
- envvelf=attack:decay:sustain:release1:release2:release3[,...]
- ボリューム・エンベロープ・ベロシティフォローを設定します。
velocity=64
を基準として,ベロシティに従いエンベロープ・タイムを
変化させます。単位は
+-cent/velocity です。例えば
envvelf=100 と
指定すると,velocity=127
でアタック・タイムが約
38 倍になります。 rate=
同様,複数のサンプルに対する設定が可能です。このオプション
は,近い将来仕様変更される可能性があります。
- modkeyf=attack:decay:sustain:release1:release2:release3[,...]
- モジュレーション・エンベロープ・キーフォローを設定します。note=60
を基準として,ノートに従いエンベロープ・タイムを変化させます。単位は
+-cent/key です。例えば
modkeyf=100
と指定すると,1
オクターブ上
がるたびにアタック・タイムが
2 倍になります。rate=
同様,複数のサ
ンプルに対する設定が可能です。一部の
SoundFont では,decayと sustain
のパラメータが予め設定されている場合があります。
- modvelf=attack:decay:sustain:release1:release2:release3[,...]
- モジュレーション・エンベロープ・ベロシティフォローを設定します。
velocity=64
を基準として,ベロシティに従いエンベロープ・タイムを
変化させます。単位は
+-cent/velocity です。例えば
modvelf=100 と
指定すると,velocity=127
でアタック・タイムが約
38 倍になります。 rate=
同様,複数のサンプルに対する設定が可能です。このオプション
は,近い将来仕様変更される可能性があります。
- trempitch=num[,...]
- トレモロに従って,ピッチを変化させる深度を設定します。効果そのものはビ
ブラートと一緒ですが,別系統で動作させたいときに利用します。単位は
+-cent です。rate=
と同様,複数のサンプルに対する設定が可能です。
- tremfc=num[,...]
- トレモロに従って,フィルタ・カットオフ周波数を変化させる深度を設定しま
す。いわゆる「グロウル効果」を表現できます。単位その他は
trempitch= と同一です。
- modpitch=num[,...]
- モジュレーション・エンベロープに従って,ピッチを変化させる深度を設定し
ます。アタック時だけ一時的に音程が上がるなどの表現が可能です。単位その
他は trempitch=
と同一です。
- modfc=num[,...]
- モジュレーション・エンベロープに従って,フィルタ・カットオフ周波数を変
化させる深度を設定します。単位その他は
trempitch= と同一です。
- fc=num[,...]
- フィルタ・カットオフ周波数の基準値を設定します。単位は
Hz です。 rate=
と同様,複数のサンプルに対する設定が可能です。
- q=num[,...]
- フィルターの
Q(レゾナンス)を設定します。単位は
cB です。rate= と
同様,複数のサンプルに対する設定が可能です。
- fckeyf=num
- フィルタ・キーフォローを設定します。note=60
を基準として,ノート
に従いカットオフ周波数を変化させます。単位は
+-cent/key で,例えば 100
を指定すれば,音程と同じだけ変化します。
- fcvelf=num
- フィルタ・ベロシティフォローを設定します。velocity=127
を基準とし
て,ベロシティに従いカットオフ周波数を変化させます。単位は
+-cent で, SoundFont では -2400
が固有値として設定されています。
- qvelf=num
- レゾナンス・ベロシティフォローを設定します。velocity=0
を基準とし
て,ベロシティに従いレゾナンスを変化させます。単位は
+-cB です。
- default
file
- 他のどこにも設定がないような音に出合った場合,このファイルが代理として
発音されます。
- map MapID1 from-bank
from-prog to-bank to-prog
- GS/XG
各マップのトーン音色として既存のトーン音色を割り当てます。
MapID1 には,gm2,
sc55,sc88,sc88pro,
sc8850,xg,xgsfx64
が指定できます。
- map MapID2
from-drumset from-keynote to-drumset to-keynote
- GS/XG
各マップのドラム音色として既存のドラム音色を割り当てます。
MapID2 には,gm2drum,
sc55drum,sc88drum,
sc88prodrum,sc8850drum,xgdrum,xgsfx126
が指 定できます。
- soundfont
file [options]
- SoundFont
を最初から最後まで読み込みます(部分的に読み込むには,
number %font
を使います)。options
は,次のものが使用可能で
す。
- order=number
- 音色データを探す順番を設定します。order=0
のときは,まず SoundFont
を読み込んで,その後に足りないサンプルを
GUS/patch から探しま
す。order=1
のときは,GUS/patch
を読み込んだ後に SoundFont
を読み 込みます。
- amp=amplification
- SoundFont 全体の音量を
amplification%
にします。もし値が指定され
ていない場合,100%
に設定されます。
- cutoff=number
- SoundFont に設定された LPF
の有効(1)/無効(0)を指定します。
もし値が指定されていない場合,有効となります。
- reso=number
- SoundFont
に設定されたレゾナンスの有効(1)/無効(0)を指定しま
す。もし値が指定されていない場合,有効となります。
- remove
- 対象の SoundFont
を逆にメモリ上から廃棄します。
- font exclude bank
[prog [key]]
- SoundFont の検索を,bank
上の prog
で行わないように指定しま
す。ドラムの場合はバンクが
128
でドラムセットが
prog,キー 番号が key
になります。
- font order
number bank [prog [key]]
- SoundFont
の検索順序(上記参照)を,個別に指定するためのものです。引数の
意味は font exclude
と同じです。
TiMidity++
では,以下の拡張命令が追加されています。
- #extension altassign program1 program2 ...
- ドラムセットについて,オルタネートアサインを設定します。
drumset 0
altassign 42 44 46
と書くと,drumset 0
の 42,44,46
が排他的に鳴
ります。drumset 0
で定義されたオルタネートアサインはデフォルトで
使用されます。
- #extension comm program comment
- インスツルメント番号
program にコメント comment
を指定しま
す。ここで設定した
comment は,-int や -iTt
オプシ
ョンで起動した時に,インジケータラインに表示されます。
- #extension timeout program second
- インスツルメント番号
program で,second
秒以上サスペンド状
態が続いた場合,その音をオフにします。
- #extension copydrumset drumset
- drumset
番号の状態すべてを,現在の
drumset
にコピーします。
- #extension copybank bank
- bank
番号の状態すべてを,現在の
bank
にコピーします。
- #extension copymap to-MapID from-MapID
- マップ from-MapID
に定義されたバンクの状態すべてを,マップ
to-MapID
にコピーします。
- #extension HTTPproxy hostname:port
- HTTP
のプロキシを設定します。プロキシのホスト名を
hostname に,ポ
ート番号を port
に指定します。
- #extension FTPproxy hostname:port
- FTP
のプロキシを設定します。プロキシのホスト名を
hostname に,ポ
ート番号を port
に指定します。
- #extension mailaddr your-mail-address
- ユーザのメールアドレスを,your-mail-address
に指定します。この
メールアドレスは,FTP
接続をプロキシを介さずにダイレクトに繋ぐ場合に用
いられます。
- #extension opt option
- 起動時のオプションを指定します。
- #extension undef progno
- 現在のバンクのプログラム番号
progno
を未定義にします。
- #extension legato progno {0|1}
- progno
でレガートを掛ける(1),掛けない(0)を指定します。
- #extension level progno tva_level
- NRPN の Drum Instrument TVA Level
を処理する際,音量を変化させる基準と
なる値を設定します。曲中で
Drum Instrument TVA Level
が指定されない限り,
音量には一切影響しません。あくまで基準値です。progno
は `,' や ``[start]-[end]''
で一括指定できます。start,
end
は省略すると,それぞれ
0,127
と見なされます。
- #extension damper progno {0|1}
- progno
でリダンパー効果およびハーフダンパーを有効にする(1),
無効にする(0)を指定します。
- #extension playnote progno note
- ドラムセット音色の出音周波数を
note とします。GS SysEx Play Note
で出音周波数が指定された場合に,この設定値を元にピッチを適切に変化させ
ます。progno は `,' や
``[start]-[end]'' で一括指定
できます。start,end
は省略すると,それぞれ
0, 127
と見なされます。
例:
drumset 0
#extension playnote -37,39,44-46,55-60
- #extension delaysend progno level
-
- #extension chorussend progno level
-
- #extension reverbsend progno level
- ドラムパート・エフェクトがオンの場合のセンドレベルを設定します。初期値
はすべて 127
ですが,delay,chorus,reverb
のどれか一つでも設定さ
れていれば,その音色に設定されていないエフェクトは初期値
0 になり ます。progno
は `,' や ``[start]-[end]''
で一括指定
できます。start,end
は省略すると,それぞれ
0, 127
と見なされます。
- #extension rnddelay progno msec
- 最大 msec
以内のディレイを,発音毎にランダムで付加します。ランダ
ム値の分布はホワイトノイズというより,むしろピンクノイズ(1/f
ゆらぎ)で す。
これらの拡張命令は
`#'
から始まっており,古い
TiMidity では単なるコメン
トと扱われ無視されます。よって,古い
TiMidity
との互換性を保つことがで
きます。
なお,TiMidity++ では #extension
は空白として扱われるように
なっています。
TiMidity++
の設定ファイル(*.cfg)中の
source の引数に UNIX
のコマンドからの出力を利用できます(UNIX
のみ)。ファイル名の最後に
`|' (ASCII 0x7c)を記述すると UNIX
コマンドとみなされ,そのコマンドの出力が
source
の引数になります。
source command|
のようにすると,command
の出力が source
の引数になります。環境によって
TiMidity++ の設定を選
択したい場合などに便利です。なお,command
|
のように,途中にスペ
ースが入ると,設定ファイル読み込み時に区切られてしまい,コマンドと見な
されなくなってしまいます。この機能はファイル名を指定できるすべての場所
に適用できます。
timidity 'cat fild.mid|'
は,cat fild.mid
の出力結果から読み取ります。
関連項目
timidity(1), lsmidiprog(1), mididump(1), patinfo(1), sf2text(1),
wav2pat(1)
著作権
Copyright (C) 1999-2004 Masanao Izumo <iz@onicos.co.jp>
Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
The original version was developed by Tuukka Toivonen
<tt@cgs.fi> until the release of TiMidity-0.2i. His development was
discontinued because of his being busy with work.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
入手元
TiMidity++ は 改良版 TiMidity
のページ
URL http://www.timidity.jp/
で手に入ります。