-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME.jp
361 lines (311 loc) · 14.1 KB
/
README.jp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
==============================================================================
TiMidity++ -- MIDI to WAVE converter and player
出雲正尚
1999年4月28日
バージョン 2.0.0
==============================================================================
本ドキュメントは TiMidity++ 2.0.0 以降の説明を記述しています。
本プログラムは全く無保証のフリーです。GPL に従い、自由に再配布/修正
することができます。ただし再配布する場合は、付属の COPYING、あるいは
GPL のファイル (バージョン 2 以降) を取り寄せ、本プログラムと一緒に配
布してください。
本プログラムのオリジナルは Tuukka Toivonen <[email protected]> さんによって
作られた TiMidity です。その後、出雲氏、あるいは他の様々な人達の協力に
よって、TiMidity の改良版である TiMidity++ がリリースされました。
TiMidity はもともと MIDI ファイルをソフトウェアのみで WAVE ファイル
に変換するツールとして開発されました。今ではただ単なる変換ではなく、リ
アルタイムに MIDI を演奏するプレイヤーとして利用されています。外部音源
なしにソフトウェアのみで MIDI を演奏するソフトウェアシーケンサとして動
作します。
音源には、GUS/patch (Gravis Ultrasound) が用いられます。また SoundFont
と呼ばれる音源も利用できます。
* TiMidity++ の主な特徴
- 外部 MIDI 音源なしで MIDI ファイルを演奏できる
- MIDI ファイルを様々な PCM 形式のファイル (wav や au など) に変換できる
- 音源には GUS/patch と呼ばれるファイルを用いる
- SoundFont と呼ばれる音源も利用できる
- リアルタイムに演奏中の状態が表示できる
- ncurses, motif, xaw など、様々なユーザインターフェースがある
- 日本語が表示できる (日本語をサポートしていないインターフェースは除く)
- ネットワークを介して MIDI ファイルを演奏できる
- アーカイブ/圧縮 ファイルを演奏できる
- MIMPI の WRD ファイルの表示をサポート
- SMF の他に、RCP/R36/G18/G36, MOD ファイルも演奏できる
- 32 チャネル対応。
- ユーザインターフェースをダイナミックリンク可能
- サウンドスペクトログラムを表示できる
- GM/GS/XG モードの認識
- GS/XG のドラムパート自動判別
- 音と表示の同期 (trace plaing)
- 低負荷 (trace plaing でない時)
- メモリを喰う (最低 20M bytes の空き容量は欲しい)
- オルタネートアサインをサポート
- リアルタイムに演奏することが困難になると、音数を自動的に減らし、
処理の軽減を図る
- ストリーム形式の MIDI を演奏できる。
- 以下の MIDI イベントをサポート:
NoteOn/Off, KeyPressure, Program, ChannelPressure, Pitchwheel,
ToneBank, ModulationWheel, MainVolume, Panning, Expression,
Sustain, Portamento, DataEntry, ReverbEffect, ChorusEffect,
RPN+/-, NRPN, RPN, AllSoundsOff, ResetControllers, AllNotesOff,
Mono/Poly Part, RandomPan, KeyShift,
TempoChange, Lyric, InsertText, KARAOKE-Part(@KMIDI),
MasterVolume, MIDI-Reset, SystemExclusiveMessages
* 起動
- 形式: timidity [options] midi-filename
- オプション:
-A n 音量を指定します.デフォルトでは n=70 です. 大き
な値を指定するほど大きな音になります.1~800 の値
が有効です.
-a アンチエイリアシングを有効にします.
低いレートで再生したときに,折り返し雑音と呼ばれる
不自然な成分が含まれることがあります.-a オプショ
ンで起動することでこの 不自然な成分を取り除くこと
ができます.
-B n 音源にデータを書き込む時の分割数を指定します. 0~
1000 の値が有効です.このオプションは Linux,
FreeBSD, Windows のみで有効です.
-b mode ヘッドホンやイヤホンで聞いた時の音の臨場感を 出す
ようにします. mode には以下のモードが有効です.
-bl 主に左から音が聞こえてきます.
-br 主に右から音が聞こえてきます.
-bb ときどき,左右の音場が変化します.
-bc この機能は無効になります.
-C n 制御レートを指定します.TiMidity++ では, エンベロー
プやトレモロなどの音量計算を 1 サンプル毎行うので
はなく, 複数のサンプルをまとめて計算することで高
速化をはかっています. n サンプル毎に,エンベロー
プやトレモロの音量が再計算されます. n の値を小さ
くすればするほど音質が良くなりますが,その分 CPU
パワー を必要とします.n は 1~255 までの値を指定
することができます. デフォルトでは 1 ミリ秒に相当
するサンプル数となっており、再生サンプルレート に
よって変わってきます。
-c file TiMidity++ の設定ファイル file を読み込みます.
TiMidity++ のデフォルトの設定ファルを読み込んだ後,
file が読み込まれます.
-D n n チャネル目をドラムチャネルにします. -nとすると
n チャネル目がドラムではなくメロディーチャネルに
することできます.
-d dir ダイナミックリンクインターフェース モジュールがイ
ンストールされているディレクトリを指定します.
-e TiMidity++ のプライオリティをあげます.Windows のみ
で有効です. このオプションを有効にすると,
TiMidity++ 以外のプログラムがほとんど動作 しなくなり
ます.
-E mode TiMidity++ の拡張モードを指定します(複数指定可).
主に演奏時の機能に影響を与えます. 以下の mode が
指定できます.
w モジュレーションコントロールを有効にします.
W モジュレーションコントロールを無効にします.
p ポルタメントコントロールを有効にします.
P ポルタメントコントロールを無効にします.
v NRPN ビブラートを有効にします.
V NRPN ビブラートを無効にします.
r リバーブエフェクトコントロールを有効にします.
R リバーブエフェクトコントロールを無効にします.
c コーラスエフェクトコントロールを有効にします.
cn 全てのチャネルのコーラスエフェクトを n で演奏
します.
C コーラスフェクトコントロールを無効にします.
s チャンネルプレッシャーを有効にします.
S チャンネルプレッシャーを無効にします.
t 全てのテキストメタイベントをトレースします.
T 特定のテキストメタイベントをトレースします.
o 同一音の重複を許します.
O 同一音の重複は許しません.前の音は消音されま
す.
mHH デフォルトのマニュファクチュア ID を 2 桁の16
数 HH で指定します.
mgm デフォルトのマニュファクチュア ID を 0x7f
(GM) にします.
mgs デフォルトのマニュファクチュア ID を 0x41
(GS) にします.
mxg デフォルトのマニュファクチュア ID を 0x43
(XG) にします.
Bn 全てのチャネルをバンク n で演奏します. n を省
略するとデフォルトの動作に戻ります.
bn 全てのチャネルのデフォルトバンクを n に 設定し
ます.Bn と異なり,演奏中のバンクセレクト命令
を受け付けます.n を省略するとデフォルトの動作
に戻ります.
-F このオプションを指定すると,Note ON のままの状態で
Midi control change 10: Panning が有効になります.
デフォルトではすぐには変化しないで,音量の再計算が
必要になったときに 変化します.改良版ではトグルオ
プションになっています.
-f このオプションを有効にすると, エンベロープの変化
時間が半分になり高速に動作します.ただし, 音の立
ち上がりとリリース時間が短くなってしまいます.
-g sec Sound-Spectrogram を表示する Window を開きます.
このオプションは X Window がサポートされている環境
のみで動作します. Sound-Spectrogram は声紋のよう
なもので,スペクトラムの時間変化を 表現したもので
す.
-h オプションの説明を表示します.
-I n デフォルトの楽器番号を指定します. デフォルトでは
-I n/ n=0 (通常はピアノ) となっています.改良版では, チ
ャネル毎にデフォルトの楽器番号を指定でき,チャネル
番号 cを nに続けて「n/c」と記述します.「/c」が 省
略されると,全チャネルのデフォルトの楽器番号が設定
されます.
-i mode ユーザインターフェースを指定します. 環境によって
利用可能なインターフェースが異なります. 以下の
mode が存在します.
-id dumb interface
-in ncurses interface
-iN NEW ncurses interface (拡張版のみ)
-is slang interface
-ia X Athena Widget interface (拡張版のみ)
-ik Tcl/Tk interface
-im motif interface
-iT vt100 interface (拡張版のみ)
-ie Emacs interface (拡張版のみ、Emacs 上から M-x
timidity により起動されます)
上記オプションに続けて(スペースを空けずに), 以下
の文字列を追加することができます(複数指定化).
v 冗長表示のレベルを上げます.
q 冗長表示のレベルを下げます.
t トレース表示の on/off (トグル).
-j このオプションを有効にすると, 演奏しながらパッチ
ファイルを読み込みます.
-L dir TiMidity++ のサーチパス dir を追加します.
-n mode Noise Shaping Filter
8 bit linear 出力時の量子化誤差による歪みを改善し
ます.ただし, ノイズが増えます.
mode には 0~4 の値が有効で, noise shaping filter
の次数を表します.0 の時はフィルタ無しです.
-O mode 出力モードやフォーマットを指定します. 以下の mode
が有効です.
-Od オーディオデバイスに出力します(デフォルト).
-Ow Windows WAV ファイルを出力します.
-Or ヘッダのないオーディオのデータ部分のみを出力
します.
-Ou Sun Audio (au) ファイルを出力します(拡張版の
み).
-Oa AIFF ファイルを出力します(拡張版のみ).
上記オプションに続けて(スペースを空けずに),
以下の文字を追加することで出力フォーマットを
指定できます(複数可).
8 8-bit サンプル精度
1 16-bit サンプル精度 (数字のいち)
U U-Law 符合化方式
A A-Law 符合化方式 (拡張版のみ)
l linear PCM 符合化方式 (英小文字のエル)
M モノラル
S ステレオ
s 符合付き整数
u 符合無し整数
x バイト反転
-o file 出力ファイル名を指定します.出力先が ファイルでな
い場合はこのオプションは無視されます.
-P file 全ての楽器を file を用いて演奏します.file には
GUS のパッチファイルを指定します。
-p n 最大同時発音数を指定します.
-Q n n チャネル目を演奏しないようにします.
-R n エンベロープリリース を修正して音響効果を得ます.
0~2 の値が指定可能で,nの値によってその効果が異な
ります.
-r このオプションを有効にすると, リバーブ効果を得ま
す.
-S size リサンプリングキャッシュの大きさを バイト数で指定
します. 頻繁に用いられるサンプルは予めリサンプリ
ングしておくことで 高速化しています.ただし,ビブ
ラートやピッチベンドなどによってピッチが 変化する
サンプルはキャッシュされません.0 を指定すると全く
キャッシュ しません.デフォルトでは n=2097152 (2M)
となっています.
-s freq 再生サンプルレート (Hz または kHz) を指定します.4
~65 の場合は kHz、4000~65000 の場合は Hz として
解釈されます。それ以外のレートはエラーとなります。
-t code テキストの出力文字コードを指定します. 以下の code
が指定可能です(大文字小文字は区別されません).
auto LANG 環境変数によって,コードが決まります.
ascii 非可読 ASCII を ピリオド(0x2e) に変換して出
力します.
nocnv 出力文字コードを変換しません.
euc EUC コード(japan) で出力します.
jis JIS コードで出力します.
sjis SJIS コードで出力します.
-U このオプションを有効にすると,毎曲, パッチに割り
当てられていたメモリを解放します.
-W mode MIMPI の WRD ファイルのトレース表示する インターフ
ェースを指定します。以下の mode が有効です.
-W- WRD ファイルを無視します(デフォルト).W と
'-' にスペースを 入れないことに注意すること
-Wd WRD コマンドを表示します. -Wt vt100 や
kterm に基づいた制御コードを用いて、WRD のテキスト
表示の部分を表示します。 -Ww Windows のコンソール
に基づいた制御コードを用いて、 WRD のテキスト表示
の部分を表示します。
-W Ropts1,opts2,...MIMPI の WRD ファイルに関するオプションです。以下
の opts が指定可能です。
-WRd=level MIMPI のバグエミュレーションレベル
を指定します。以下の値を取ります。
0 MIMPI のバグをエミュレーションしないで
規格通りに忠実に WRD をトレースします。
@WAIT 命令によって時間をさかのぼるような
WRD も、指定した時刻通りにタイミングを
合わせます。
1 既知のバグのみをエミュレーションします。
2 バグらしい部分までもエミュレーションしますが
今までタイミングのあっていたものが
ずれてしまうことがあります。
3 以上
開発用に設けたレベルで、一部の特定の WRD
のみに対象を絞ってタイミングを合わせます。
-WRf=filename WRD ファイルが見つからない場合の
み、 指定した filename が WRD ファイルとして用いら
れます。
-WRF=filename 常に指定した WRD ファイル filename
が用いられます。
-WRp=path @MAG, @PLOAD のデフォルトパス path を指
定します。
-w mode Windows 用の拡張モードのオプションです. 以下の
mode が有効です.
-w r rcpcv.dll を使用します.
-w R rcpcv.dll を使用しません(デフォルト).
-x str 指定した文字列 str で設定を行います. 例えば
-x'bank 0\n0 violin.pat'
とすると 0 番をバイオリンにすることができます.
* アーカイブファイルの演奏
TiMidity++ では、アーカイブファイルをそのまま読み込んで演奏
することができます。以下のアーカイブ形式をサポートしています。
- tar ファイル (*.tar)
- tar + gzip'ed ファイル (*.tar.gz, *.tgz)
- zip ファイル (*.zip)
- lzh ファイル (*.lzh)
(lh0, lh1, lh2, lh3, lh4, lh5, lh6, lzs, lz5, lz4 対応)
アーカイブファイル中の個々のファイルを指定するには,アーカイブファイル名の
後に続けて # を記述し,その後に続けて アーカイブ中のファイル名を指定します.
# の後は UNIX shell の正規表現のパターンになっていますが、大文字/小文字は
区別されません。以下に例をいくつかあげます。
timidity 'file.zip#file.mid'
file.zip 中の file.mid ファイルを演奏します.
timidity 'file.lzh#*.mid'
file.lzh 中の *.mid にマッチするファイルを演奏します.
timidity 'file.tgz#*'
これは timidity 'file.tgz' と等価です.
* MIDI ファイルのネットワークアクセス。
TiMidity++ では、MIDI ファイルをネットワークを介してアクセスする
ことができます。現在サポートしているプロトコルは HTTP, FTP, NNTP(NetNews)
で、それぞれ、http://~, ftp://~, news://~ のように指定します。
ネットワーク上にアーカイブされた MIDI ファイルも同様な方法で指定すると
演奏することができます。なお、NetNews によるアクセスにおいて、
MessageID 部に NewsGroup 名を記述すると、その Group 中に投稿されている
全ての MIDI ファイルを演奏します。また、投稿された MIDI ファイルは、
uuencode されているか、あるいは Multipart 形式の uuencode/base64/hexbin
でなければなりません。
* 入手元
以下の場所から最新の TiMidity++ が入手できます。
・http://www.goice.co.jp/member/mo/timidity/
(主に UNIX 用)
・http://www.asahi-net.or.jp/~gb7t-ngm/timidity/
(Macintosh 版)
・http://www2.off.ne.jp/~dai/timidity/timidity-izumo.html
(Windows 版)
なお、オリジナル版である Tuukka Toivonen さんの TiMidity の公式な
配付サイトは閉じてしまいました。もし、オリジナル版を入手したいならば、
http://www.goice.co.jp/member/mo/timidity/dist/timidity-0.2i.tar.gz
から得ることが出来ます。