ie.htm
27.9 KB
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
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
<HTML>
<HEAD>
<TITLE>無題</TITLE>
<META NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.0j">
</HEAD>
<BODY>
<P>
<B><FONT SIZE=5>ie(1P)<BR>
</FONT></B>
<P>
<B>関数名<B> <BR>
</B></B>
<P>
<B> <B>ie</B></B>
<P>
→Nintendo 64 オーディオ・インスツルメントエディタ
<BR>
<P>
<B>構文<BR>
</B>
<P>
<B> <B>ie [ -b <.inst file> ] [ -c <.cnfg
file> ] [ -v ] <BR>
</B></B>
<P>
<B>説明<BR>
</B>
<P>
ここには、このツールの初期リリースバージョンについて記述します。初期リリースには、このバージョンにまつわるバグや問題がありますので、注意して使ってください。バグリストを参照して、作業に支障がないように使用してください。
<BR>
<P>
ie ツールは、主要な使い方が3つあります。
<PRE>
<B>・第1に .instファイルに含まれるバンク構成要素のリアルタイム編集と試聴ができます。
・第2に、エフェクトのリアルタイム編集と試聴ができます。
・第3に、 外部MIDI機器からNintendo 64上での MIDI再生を行います。そして使われていたシステム
とAudio Library リソースのプロファイル測定を行います。
</B>
</PRE>
<P>
コマンドライン選択は、以下の通りです。<BR>
<P>
<B>-b <.inst file> </B>
<P>
編集する.inst ファイル指定します。もしこのオプションが指定されなければ、新たに
.instファイルを開きます。 <BR>
<P>
<B>-c <.cnfg file> </B>
<P>
ある.cnfg ファイルを指定します。.cnfg ファイルは、Nintendo
64用の Audio Library リソース(例:output rate, virtual voices等)の各種設定情報を含んでいます。また、このエディター内で編集したエフェクトの記述や、Nintendo
64で試聴するための記述も含まれています。 <BR>
<P>
<B>-v </B>
<P>
冗長なモードを指定します。主にデバッグ用です。<BR>
<P>
<B>エディタ<BR>
</B>
<P>
ie ツールのエディタ部分は、効果だけでなく .instファイルを編集可能な簡易アプリケーションでもあります。
<P>
NITENDO64開発ボードはファイルの読み込みや編集することを提供していません。しかし、NINTENDO
64がなければ特定のパラメータや効果パラメータのようなものが編集による変化を聞くことも出来ず、開発が難しくなるでしょう。
<BR>
<P>
<B>バンク編集<BR>
</B>
<P>
ieツールは.instファイルの読み込みや、書き出し、編集することが出来ます。.instファイルは、icツール(インスツルメントコンパイラ)を使って実際のNINTENDO
64バンクファイルにコンパイル可能なNINTENDO 64バンクの記述を含んだものです。
<P>
.instバンクの記述は、インスツルメント、サウンド、エンベロープなどのいくつかのコンポーネントにより構成されています。これらバンクのコンポーネントまたはアセット(資産)はそれぞれ、それに関するインスツルメントを1つ以上持っています。例えば、ボリューム、パン、ベンドレンジのパラメータのようなインスツルメントアセットはインスツルメントと関連しています。アセットはまた、一種の親子の関係で互いに参照し合っています。例えば、インスツルメントアセットはバンクアセットの子供ですから、バンクは1つ以上のインスツルメントを参照するという関係となります。同様に、サウンドアセットはインスツルメントアセットの子供ですので、インスツルメントは1つ以上のサウンドを参照します。さらに、もしも子供アセットが他のアセットにより決して参照されないのであれば(例えば親を全く持たないアセットの場合)、それはオーファン(孤児)とも呼ばれます。もし、あるエンベロープアセットがサウンドアセットによって決して使われることがないならば、そのエンベロープはオーファンですので、バンクに影響を与えることはなく、.instファイルから削除されます。
<BR>
<P>
<B>アセットの表示<BR>
</B>
<P>
エディタはこれら全てのバンクを表示し、バンク内の親子関係を表示/編集する助けをします。エディタのビュー画面は、それぞれのタイプのバンクアセットのためのいくつかのフォルダを含んでいます。それぞれのフォルダは、与えられたタイプのすべてのアセットのリストを含んでいます。例えば、バンクのアセットを見るためには、インスツルメントフォルダタブを選ぶだけですみます。
<P>
このフォルダはボリューム、パン、プライオリティ、ベンドレンジなどの、インスツルメントパラメータだけでなく、インスツルメントの全ての名前リストも含んでいます。それぞれのアセットは、アセットのタイプを識別するのに役立つアイコンカラムも含んでいます。
<BR>
<P>
<B>アセットの編集<BR>
</B>
<P>
アセットのパラメータ編集をするためには、単純にそれに相当するカラムをクリックして編集可能モードにしてください。名前の編集は、常にテキスト編集となります。数値はそれらの値を増減させるために上下方向へスクロールすることができます。子供アセットへの参照はポップアップメニューを仕様して編集します。しかし、全てのアセットは、Altキーをおしながらクリックすることによって、テキスト編集を行うことができます。このようにすると、矢印キーとAltキーを使ってフィールドからフィールドへと移動出来きる、テキスト編集フィールドが現れます。(Altキーなしでは、矢印キーはテキストフィールド内でカーソルを動かします。)もし値が範囲外や不適当なものであれば値は受け付けられません。どのテキスト編集でも、キャンセルするにはESCキーを使用します。また、いくつかのフィールドは編集不能であり、情報を表示するだけのところもありますので注意してください。(例:ウェーブテーブルのサンプルレート)アイコンフィールドは、アセットを選択したり、アセットを聞いたり、その他各種の目的のために使われます。整数フィールドでは、値をダブルクリックすることにより、直ちに値をプリセットデフォルト値に設定することができます。
<BR>
<P>
<B>Children<B>の編集や表示<BR>
</B></B>
<P>
いくつかのアセットは”#”カラムを含んでいます。このカラムは、アセットが持っている子供の数を表示します。もし、アセットが1つ以上の子供をもっているのならば、#カラムをダブルクリックすることにより、親をオープンしてその子供を表示します。
<P>
親に比べて子供の方がより複雑なパラメータをもっているので、名前フィールドなどの共通なフィールドだけが、子供に関して表示されます。再び#カラムをダブルクリックすることによって、アセットをクローズすることができます。#フィールドは、フィールドをクリックすることによって編集できます。これは、現在選択されているアセットの子供ではなく、アセットのリストを表示するためのポップアップメニューが現れます。これらのアセットの内の1つを選択することににより、子供達の親子リストに加えられます。子供アイコンをダブルクリックする事によって、それらのパラメータを編集するための子供が自動的にオープンします。例えば、インスツルメントのサウンドをダブルクリックすることにより編集するためのサウンドフォルダがオープンされます。同様に、サウンドのエンベロープをダブルクリックすることにより編集するためのエンベロープフォルダがオープンされます。
<BR>
<P>
<B>アセットの試聴<BR>
</B>
<P>
アセットを試聴するために、現在編集中のバンクが”有効”であり、NINTENDO
64と”オンライン”状態である必要があります。バンクを有効にしてオンライン状態にするために必要な情報は、プログラミングマニュアル18章5.2.2「MIDIの再生」の項目をご参照ください。バンクがオンライン状態であるときには、バンクアセットはそれらのアイコンをクリックすることによって聞くことが出来ます。ボタンをおすことでMIDIのノートオンイベントが送られ、ボタンをリリースすることでMIDIノートオフイベントが送られます。これは音のサスティーンを聞くことを容易にします。インスツルメントアセットを聞くときには常にC4音が演奏されます。サウンド、キーマップ、エンベロープ、ウェーブテーブルを聞くときには、サウンドのキーベースでアセットの親子インスツルメントが演奏されます。もし、インスツルメントのサウンドのためのキーマップが適切に指定されていなかったり、適切に並べられていなかったりした場合、聞かれたアセットがおかしい場合の潜在的な原因です。聞く前に、サウンドのキーマップが正しく完全であるかを確認してください。
<BR>
<P>
<B>ファイルメニュー<BR>
</B>
<P>
ファイルメニューは、.instファイルをオープン/クローズ/セーブするためのコマンドを含んでいます。”Open”コマンドは、編集する.instファイルを選ぶためにのダイアログボックスを表示します。”Open”を開いた場合、一度に.instファイルは1つだけしかオープンすることができません。”Close”コマンドは、全てのバンクアセットを閉じ、新しいファイルが編集できるようにします。”Save”と”Save
As”コマンドはそのファイルをディスク書き込みます。<BR>
<BR>
<P>
<B>エディットメニュー<BR>
</B>
<P>
エディットメニューは、現在サポートされていません。
<BR>
<BR>
<P>
<B>アセットメニュー<BR>
</B>
<P>
アセットメニューは、アセットを挿入/削除するためのコマンドを含んででいます。挿入コマンドを選ぶと新しいアセットが作成されてリストの終わりに置かれます。アセットは自動的にデフォルトパラメータ値を持ちます。リストの中央にアセットを挿入するためには、アセットが出現して欲しい場所のアセットを選択して挿入コマンドを選んでください。選ばれたアセットは、新しく作成されたアセットの下に出現します。アセットを削除するためには、単純に1つ以上のアセットを選び、削除コマンドを選んでください。アセットを作成し、それを親に加えるためにのショートカットは、”Insert
Child”コマンドで与えられます。このコマンドは、新しい子供アセットを、選ばれた親に挿入します。”Remove
Child”コマンドは、選ばれた子供を親から切り離しますが、それらを削除はしません。それらを切り離して削除するためには”Delete”コマンドを選択してください。最後に、”Import”コマンドは.aiffまたは.aifcファイルだけでなく他の.instファイルもインポートできるようにします。これは、ウェーブテーブルアセットを作成する、現在では唯一の方法です。
<BR>
<P>
<B>選択メニュー<BR>
</B>
<P>
選択メニューは、あるタイプのアセットを選ぶために有益なコマンドを含んでいます。”Select
Parents”コマンドは、現在選ばれている全てのアセット親を選びます。もしちょうど1つのアセットが選ばれているならば、このコマンドだけが働きます。例えば、もしキーマップが選ばれているならば、”Select
Parents”コマンドは、与えられたkeymapを使っているサウンドアセットを選び、自動的にサウンドフォルダを表示します。”Select
Orphans”コマンドは、親を全く持たない全てのフォルダのアセットを選びます。これは、どのアセットが全く使われていないのか、そしてどれが削除可能なのかを決定するのに有益です。
<BR>
<P>
<B>エフェクト<BR>
</B>
<P>
ieツールはNITNENDO64上でエフェクトを作成し、編集し、聞くことをサポートしています。エフェクトはNINTENDO
64オーディオライブラリと密接に関わっているので、NINTENDO 64開発ボードが存在しているときにのみ、編集できるようになります。そうでなければ、バンクのコンポーネントだけが編集できます。もしNINTENDO
64開発ボードが存在するならば、ieツールは、聞いて編集するために、5つの組み込みエフェクトを自動的に作成します。これらのエフェクトは、スモールルーム、ビッグルーム、コーラス、スランジ、エコーです。組み込みエフェクトだけでなく、カスタムエフェクトを1から作成することもできます。
<BR>
<P>
<B>エフェクトの概要<BR>
</B>
<P>
バンクと同様に、エフェクトは2つの構成要素、すなわちエフェクトアセットとエフェクトセクションアセットより構成されます。単純なエフェクトは1つまたは2つのセクションしか含んでいませんが、より複雑なエフェクトは8つ以上のセクションを含んでいるかもしれません。バンクと同様に、エフェクトは、親から子供へのエフェクトセクションを持ちます。結果として、エフェクトはちょうどバンクアセットと同じように見ることができます。すべてのエフェクトパラメータの値は、それら独自のデータフォーマットで、ディレイフィールド( length,input,output )を除いて表示されます。痔例パラメータはミリ単位で表示されており、これは、ゲームのコンフィグレーションのために使用する前に、サンプル単位に変換して8サンプルのバウンダリに位置合わせしなければなりません。(エフェクトを聞くためにロードするとき、ieはこれを自動的に行います)
<BR>
<P>
語句の解説:サンプルとは、aspMainオーディオマイクロコードが解釈する最小単位のことです。主にシンセサイズドライバがオーディオコマンドリストを生成する時の単位がこれに当たります。
<BR>
<P>
<B>エフェクトの編集<BR>
</B>
<P>
エフェクトのエフェクトセクションはちょうどバンクアセットのように編集できます。しかし、エフェクトを編集するときには特別に考慮しておかなければならないことがいくつかあります。
<BR>
<P>
最初に、ディレイパラメータ( length,input,output )はミリ秒単位で表示/編集されます。NINTENDO
64には、8サンプルのバウンダリでこれらの値を要求すること、そしてlenghtがinput/outputディレイよりも約160サンプル(chorus
rateに依存)だけ大きいことが必要です。NINTENDO 64へエフェクトをロードするときには、ieツールは8サンプルバウンダリの規則を自動的に強制しますが、160サンプルの規則は強制しません。input/outputディレイを編集するときにはそれが160サンプル(chorus
rateに依存)のディレイラインのlenght以内に接近しないように注意してください。普通もしこの限界を超えているならば、クリックやポップのような人工的な音が聞こえます。
<BR>
<P>
2番目に、エフェクトが”オンライン”である時(つまり、NINTENDO
64にロードされているとき)には、エフェクトのlenghtパラメータは編集出来ません。それに加えて、オンライン状態のエフェクトに対してセクションの挿入/削除を行うことはできません。オンライン状態のエフェクトに変化を起こすためには、まずエフェクトをオフラインにしなければなりません。
<BR>
<P>
3番目に、エフェクトのセクションは1つの親のみを持つことができます。一度それが親エフェクトによって使われたならば、他のエフェクトはそれを使うことができません。
<BR>
<P>
最後に、コーラスあるいはローパスフィルタを使用するためには、エフェクトをロードする前にそれぞれのパラメータが0でないことを確かめておかなければなりません。もしパラメータが最初、0であるならば(これは不要なメモリを保存します)オーディオライブラリはコーラスあるいはローパスフィルタを実行するために必要なメモリを割り当てません。
<BR>
<P>
<B>エフェクトの試聴<BR>
</B>
<P>
最初に、どのエフェクトもNINTENDO 64にはロードされていません。エフェクトをロードし、”オンライン”状態にするためには、希望のエフェクトのアイコンをダブルクリックしてください。エフェクトをオフラインにするには、再びそれをダブルクリックするか、または別のエフェクトをダブルクリックしてください。エフェクトがオンライン状態におかれたとき、オーディオライブラリはエフェクトのために初期化されなければなりませので、NINTENDO
64は十分にリコンフィグレーションされていなければなりません。NINTENDO
64へバンク全体をリロードしなければならないので、これには数秒かかります。一度エフェクトがオンラインになったならば、そのアイコンは赤くなって、それがオンラインであることを示します。この後、バンクアセットはエフェクトを通して聞くことができます。それぞれのMIDIチャンネルについて、ウェット/ドライの量が、FX1コントロールメッセージをチャンネルに送信することによってコントロールできることに注意してください。
<BR>
<P>
<B>エフェクトのセーブと復元<BR>
</B>
<P>
現在、エフェクトアセットはディスクに保存できません。これは、バンクアセットのための”.inst”ファイルのような標準的な”.fx”ファイルが存在していないからです。しかし、エフェクトはコンフィグレーションファイル(.cnfg)によってディスクから復元できます。詳しくは後述します。オーディオライブラリはエフェクトをコンフィグレーションデータの部分として扱うので、カスタムエフェクトを含む形にコンフィグレーションファイルを編集することができます。エフェクトは”REVERB_PARAMS”というキーワードによって定義され、それにエフェクトおよびそのセクションを記述しているパラメータ括弧{・・・}のセットが続いています。(ディレイラインがミリ秒)ディレイ定義例は以下の場所に明記されています。
<P>
/$ROOT/usr/src/PR/assets/banks/ie.cnfg<BR>
<P>
<B>NINTENDO 64<BR>
</B>
<P>
ieツールは起動時に、NINTENDO 64開発ボードを自動検出し、もしそれらが見つかれば、MIDI再生コードとプロファイリングコードと共にそれらをブートします。もしボードが見つからないか、あるいはボートに失敗した場合は、エラーが報告され、ieはどのインスツルメントを聞くこともエフェクトを編集することもできません。それに加えて、ieはまた、あらゆるエラーメッセージまたはデバッグメッセージのためのプリントサーバとして働くgloadツールもブートします。これは、オーディオライブラリのリソースが超過していたときの検出に有効です。ieが起動されたとき、同時に別のgloadツールが動いているならば、ieの実行は失敗します。
<BR>
<P>
<B>NINTENDO 64<B>コンフィグレーション<BR>
</B></B>
<P>
NINTENDO 64オーディオライブラリは、デフォルトのコンフィグレーション情報を使ってコンフィグレーションされています。ツールが実行されるときには、このデフォルトコンフィグレーションは、コンフィグレーションダイアログを使うか、あるいはコマンドラインからコンフィグレーションファイルを指定することによって編集できます。コンフィグレーションダイアログの使い方はNINTENDO
64メニューの章で後述します。ツールをコンフィグレーションするには、単純にコマンドラインからファイルを指定してください。コンイグレーションファイルは、アウトプットの値を指定している予約語を含んでいます。
<P>
.cnfgファイルおよびその予約語の例については、以下の場所に明記されています。
<P>
/$ROOT/usr/src/PR/assets/banks/ie.cnfg<BR>
<P>
<B>NINTENDO 64<B>開発ボードでのMIDI再生<BR>
</B></B>
<P>
一度立ち上がり、動作したら、NINTENDO 64は到来してくるMIDIメッセージを待ちます。MIDIメッセージは外部のMIDI機器またはieツール自信から送信できます。NINTENDO
64コードがMIDIメッセージに反応するように、有効なバンクをieによってNINTENDO
64にダウンロードしておく必要があります。ieが新しいファイルと共に起動された時には、エディタにバンクはなく、NINTENDO
64は、インストールされたバンクを持っていないことを意味している”オフライン”状態になります。NITNEDO64モニタのプロファイルスクリーン
<P>
はスクリーンの上にバンクの状態を示します。ieがエディタに有効なバンクを持つとすぐに、それはバンクデータをダウンロードし、それからNINTENDO
64は”オンライン”状態になり、MIDIイベントに反応することができるようになります。バンクが編集されると、バンクがまだ”有効”であるかどうかが継続的にチェックされ、そしてバンクが無効になるとバンクがオフライン状態になります。この理由は単純に、オーディオライブラリが適切に働くためには完全で正しいバンクデータが必要であるかです。もし以下の条件が満たされているならば、バンクは有効であると決定されます。
<BR>
<P>
1)バンクアセットが存在している。
<P>
2)バンクは少なくとも1つのインスツルメントを含んでいる。
<P>
3)バンクのインスツルメントは少なくとも1つのサウンドを含んでいる。
<P>
4)バンクのサウンドはすべて、キーマップ、エンベロープ、ウェーブテーブルを持っている。
<BR>
<P>
バンクがオンラインであるときには、バンクアセットはそれらのアイコンをクリックすることによってエディタから聞くことができます。MIDIメッセージもまた、外部機器から送られてくることが出来ます。外部機器を使うためには、MIDIインターフェースがIndyホストコンピュータのシリアルポートのうち1つに適切に接続されていなければならず、それはstartmidiツールを使って適切に設定しなければなりません。
<BR>
<P>
<B>N64<B>のプロファイリング<BR>
</B></B>
<P>
NINTENDO 64のスクリーンは、様々なオーディオリソースについての現在の示度を表示します。これらの示度は、NINTENDO
64を目標にしたシーケンスを外部MIDIシーケンスから再生するときのモニターとして有益です。示度は、シーケンスを再生するために、それぞれのリソースがどれだけ使用されているかを測定します。プロファイらは以下のリソースを絶えず監視します。
<BR>
<P>
<B>1)<B>cmds:</B></B>
<P>
1フレームのサンプルを合成するために使われたオーディオコマンドの数です。現在の値と最大値を表示しています。
<BR>
<P>
<B>2)<B>syn upds:</B></B>
<P>
コントロールパラメータの変化をストアするために、シンセサイズドライバによって使用されたパラメータアップデートブロックの数です。利用可能なアップデートブロックの数はオーディオライブラリのコンフィグレーションの期間に指定されます。現在の値と最大値を示します。
<BR>
<P>
<B>3)<B>seq evts:</B></B>
<P>
シーケンスプレイヤーによって使われたイベントメッセージブロックの数です。利用可能なアップデートブロックの数はオーディオライブラリのコンフィグレーションの期間に指定されます。現在の値と最大値を示します。
<BR>
<P>
<B>4)<B>DMAs:</B></B>
<P>
オーディオフレームの期間に行われたDMAリクエスト数です。現在の値と最大値を示します。
<BR>
<P>
<B>5)<B>DMA bufs:</B></B>
<P>
オーディオフレームの期間に必要とされたDMAバッファの数です。利用可能なDMAバッファの数オーディオライブラリのコンフィグレーションの期間に指定されます。現在の値と最大値を示します。
<BR>
<P>
<B>6)<B>vcs:</B></B>
<P>
このグラフは、再生期間の仮想ボイスの使用をプロファイルしています。それぞれのピクセルは使用された仮想ボイス1つを表しています。利用可能な仮想ボイスの数はオーディオライブラリのコンフィグレーションの期間に指定されます。仮想ボイスの最大値はボイスグラフのコーナーに表示されています。
<BR>
<P>
<B>7)<B>RSP:</B></B>
<P>
このグラフはRSP上でオーディオマイクロコードを実行するために使われたフレーム期間の百分率です。
<BR>
<P>
<B>8)<B>CPU:</B></B>
<P>
このグラフはalAudioFrameがコールされている期間にCPUによって使われたフレーム期間の百分率です。
<BR>
<P>
<B>9)<B>L/R:</B></B>
<P>
これは、オーディオDACに送信される、最終の出力サンプルのピーク出力レベルをプロファイルしています。
<P>
スケールはdB単位で、メーターのトップが0dBであり、それからLED毎に3dBの増分で減少しています。
<P>
−3dB以上の信号レベル黄色の警告LEDにより示されます。信号の存在は一番下のLEDにより示されています。(0でないサンプルはいずれも一番下のLEDを点灯させます)
<P>
信号のクリッピングは、メーターの上に出現する赤いLEDにより示されています。クリップの検出器がクリッピングを正しく検出せず、むしろ0x7fffという大きな値のサンプルが現れる時に検出することに注意してください。これは、正規化された音からの正当な値であるかもしれませんし、あるいはオーバーフローによって生じる制限された値かもしれません。
<BR>
<P>
フレームでのオーディオ合成に関するリソース要求が、フレームの基準によって変化するということに注意してください。これは、それがシステムの他の部分と処理リソースを共有しなければならないためです。与えられたシーケンスが演奏されるたびに、プロファイルの値が変化していることを意味しています。従って、表示内容は、リソースの利用を正確に測定されるためではなく、近似として使われるべきです。また、CPU測定が、オーディオライブラリによって作られたあらゆるデバッグメッセージによっても影響されうるとゆうことに注意してください。また、NINTENDO
64コードはgコードにより最適化されず、そのため。最も良いケースのパフォーマンスを表示しているわけではありません。
<BR>
<P>
<B>NINTENDO 64<B>メニュー<BR>
</B></B>
<P>
もしNINTENDO 64開発ボードが利用可能であれば、NINTENDO
64メニューがエディタ中に現れます。このメニューはNINTENDO 64の機能の内のいくつかをコントロールします。"Clear
Profile Values"アイテムは、MIDIプレイヤーをリセットし、全ての最大値を0にリセットします。
"Configure Hardware"メニューはオーディオライラリのコンフィグレーションパラメータのうちのいくつかを設定するために用いるダイアログを出現させます。様々なコンイグレーションパラメータは以下に記載します。コンイグレーションパラメータを設定した後で、変更点が影響を持つように、”ok”や”apply”ボタンを押します。オープンされたあらゆるバンクファイルがNINTENDO
64に十分にロードされなければなりませんので、リコンフィグレーションには数秒かかります。コンフィギュレーションは、後に"Save
Configuration..." および"Load Configuration..."コマンドを使ってセーブ/リロードすることができます。
<P>
これらのコマンドは、処理前にセーブ/ロードを行いたいコンフィグレーションファイルに名前を付けるように尋ねてきます。最後に、"Reset
Hardware"コマンドは、強制的にNINTENDO 64コードをリロードし、オーディオのリコンフィグレーションすることによってNINTENDO
64をリセットします、もし何かの理由でクラッシュが起きたならば、復旧のためにこのコマンドを使ってください。
<BR>
<P>
以下に、それぞれのコンフィグレーションパラメータの記載をします。
<BR>
<P>
<B><オーディオフレームの優先権><BR>
</B>
<P>
<B>output rate:</B>
<P>
オーディオインターフェースで要求されたサンプリングレートをHz単位で示しています。
<BR>
<P>
<B>samples per frame:</B>
<P>
オーディオフレームごとに合成されるサンプルの要求数を示しています。効率を最大に得るために160サンプルの倍数である値(例えば640)を使用します。より大きい数がより遅いフレームレートを意味している一方で、より小さい数はより速いフレームレートを意味しています。この数は、アウトプットレートとともに、60Hzまたは30Hzで動いているゲームを趣味レートするために使用します。例えば、44100Hzのアウトプットレートでは、この値を735に設定することにより60Hzのフレームレートが作り出されます。
<BR>
<P>
<B>max commands per frame:</B>
<P>
オーディオフレームごとに実行できるABIコマンドの最大数を示しています。これは、ABIコマンドを蓄えるオーディオコマンドリストバッファのサイズに直接相当します。
<BR>
<P>
<B><オーディオDMAの優先権></B>
<P>
オーディオサンプルのDMAはゲームアプリケーションのコーディングによって実行されるので、DMAコンフィグレーションパラメータがあなたのゲームには適用できないかもしれないことに注意してください。これらのパラメータを設定する時には、これを心にとどめておいてください。
<BR>
<P>
<B>DMA buffers:</B>
<P>
DMAリクエストを行うために利用可能なバッファ数です。
<BR>
<P>
<B>DMA buffer size:</B>
<P>
それぞれのDMAバッファサイズです。より小さいバッファサイズは普通、より頻繁にDMAリクエストを必要としますが、その一方で、より大きいバッファサイズは普通、あまりDMAリクエストを必要としません。
<BR>
<P>
<B>max DMA requests:</B>
<P>
実行可能なDMAリクエストの最大数です。この値はNINTENDO
64コードによって設定されるDMAメッセージキューのサイズに直接影響します。
<BR>
<P>
<B># frames to hold DMA buffers:</B>
<P>
NINTENDO 64コードがDMAバッファを再利用するために、開放するまで、どのくらい保持しておくかを決定するフレーム数です。
<P>
バッファがホールドされている間、そのサンプルは、同じサンプルを求める他のリクエストのために利用され続けます。これは、一種のキャッシュと同じで、ROMからRDAMへのDMAが行われるよりもメモリ内にそれらをホールドしているほうが高速だからです。
<BR>
<P>
<B><シンセサイザの優先権><BR>
</B>
<P>
<B>max virtual voices</B>
<P>
シンセサイズドライバとMIDIプレイヤの両方で利用可能な仮想ボイスの最大数です。
<BR>
<P>
<B>max physical voices:</B>
<P>
利用可能な物理ボイスの最大数です。もしこれが仮想ボイスよりも少なければ、ボイスのスティールが可能になります。
<BR>
<P>
<B>max control updates:</B>
<P>
それぞれの物理ボイスがストアすることのできるコントロールのアップデート(最新情報)の最大数です。コントロールのアップデートはボリューム変化、ピッチ変化などのデータをストアします。この値はコントロールデータに割り当てられるメモリに直接影響します。
<BR>
<P>
<B><MIDIプレイヤの優先権><BR>
</B>
<P>
<B>max channels:</B>
<P>
MIDIメッセージが利用可能なチャンネルの最大数です。普通のMIDIシステムは16チャンネルをサポートしています。
<P>
これはチャンネルの情報をストアするためにどれだけのメモリが割り当てられるかに影響します。
<BR>
<P>
<B>max events:</B>
<P>
シンセサイザがストアできるイベントのアップデートの最大数です。イベントのアップデートは、スタートコマンド、MIDIコマンドなどのシーケンスデータをストアします。この値は、イベントデータに割り当てられるメモリに直接影響します。
<BR>
<P>
<B>バグ:</B>
<P>
ver2.0gで判明している問題点を以下に記載します。<BR>
<P>
・もしNINTENDO 64がいかなる理由においてクラッシュしても、それは、ieツールがボードとの通信をしようとして、返答を待ち続けるためにハングしています。ただ1つのリカバー方法はツールを”kill”することです。もし、NINTENDO
64がクラッシュ(NINTENDO 64のモニタ上のプロセッサーバーが止まる)していると分かったなら、NINTENDO
64メニューの"Reset Hardware"コマンドを実行してみてください。もしこれが失敗したならば、ただちに作品をセーブして、ツールから切り離して再実行してください。
<BR>
<P>
・多くのアセットを含んだファイルを編集すると、ポップアップメニューが全てのアセットを表示するには、あまりにも大きすぎるかもしれません。この問題を回避するために、そのアセットにAltキーをクリックし、ポップアップメニューで編集する代わりにテキスト編集にします。
<BR>
<P>
・アセットが作られる経過で、オープンや、インポート、インサートをすれば、NINTENDO
64のメモリが使われるだけで、開放されることはありません。メモリの使い果たしを避けるために(難しいことですが)そのエディタから全てのアセットをNINTENDO
64のメモリ領域から切り離すようにcloseコマンドを使うようにしてください。
<BR>
<P>
・アセットのネーミングを行うときには、文字や数字、アンダースコアだけを使いましょう。ピリオドやその他のシンボルはicが解釈できないだけでなく、同様にieも解釈できません。
<BR>
<P>
・アセットのインポートを行うときには、拡張子が.aiffや.aifcのファイルだけをサウンドファイルとしてieが理解します。そのほかの拡張子は.instファイルとみなされオープンされてしまいます。従ってサウンドファイルの拡張子は正しくつけましょう。
<BR>
<P>
・バンクへダウンロードされる前にキーマップがソートされることはありません。これは、試聴した時に不適当なサウンドになるからです。ユーザが正確な試聴のためにインスツルメントキーマップをソートされたことを保証しようとします。注意として、コンパイルするバンクのためのソートはそれ自体必要がありません。icが正確にキーマップをソートします。(もしそれが望ましくないなら−nオプションを付けます)
<BR>
<P>
・時々コラム幅が正確にフィールド値にたいしてフィットしないことがあるため、フィールドを適当に整えて編集してください。コラムのエッジ編集は、shiftキーを押したままの状態でエッジ上の真中ボタンをクリックすることによって可能です。
<BR>
<P>
・もし、2つ以上のインスツルメントを同じサウンドアセットで共有する場合は、同じサウンドがかつて表示されたものよりオープンされて、編集を即座に操作しなかった場合、困惑するかもしれません。従って、同じサウンドを共有する場合は特に注意してください。
<BR>
<P>
・はじめて新しいファイルを立ち上げた時に現れるXbaeMatrix(アイテムリスト)からのワーニングメッセージが表示されますが支障はありません。
<BR>
<P>
<B>参照</B>
<P>
<A HREF="ic.htm"><FONT SIZE=5>ic</A>(1P),
startmidi(1)</FONT><FONT SIZE=5> </FONT>
</BODY>
</HTML>